projen-pipelines 0.2.8 → 0.2.10
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 +296 -3
- package/API.md +474 -0
- package/lib/assign-approver/base.d.ts +19 -0
- package/lib/assign-approver/base.js +16 -0
- package/lib/assign-approver/github.d.ts +22 -0
- package/lib/assign-approver/github.js +85 -0
- package/lib/assign-approver/index.d.ts +2 -0
- package/lib/assign-approver/index.js +19 -0
- package/lib/awscdk/base.js +1 -1
- package/lib/awscdk/bash.js +1 -1
- package/lib/awscdk/github.js +1 -1
- package/lib/awscdk/gitlab.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/steps/artifact-steps.js +2 -2
- package/lib/steps/aws-assume-role.step.js +1 -1
- package/lib/steps/registries.js +2 -2
- package/lib/steps/step.js +4 -4
- package/llm.md +214 -0
- package/node_modules/semver/bin/semver.js +2 -0
- package/node_modules/semver/classes/comparator.js +2 -0
- package/node_modules/semver/classes/index.js +2 -0
- package/node_modules/semver/classes/range.js +2 -0
- package/node_modules/semver/classes/semver.js +4 -3
- package/node_modules/semver/functions/clean.js +2 -0
- package/node_modules/semver/functions/cmp.js +2 -0
- package/node_modules/semver/functions/coerce.js +2 -0
- package/node_modules/semver/functions/compare-build.js +2 -0
- package/node_modules/semver/functions/compare-loose.js +2 -0
- package/node_modules/semver/functions/compare.js +2 -0
- package/node_modules/semver/functions/diff.js +2 -0
- package/node_modules/semver/functions/eq.js +2 -0
- package/node_modules/semver/functions/gt.js +2 -0
- package/node_modules/semver/functions/gte.js +2 -0
- package/node_modules/semver/functions/inc.js +2 -0
- package/node_modules/semver/functions/lt.js +2 -0
- package/node_modules/semver/functions/lte.js +2 -0
- package/node_modules/semver/functions/major.js +2 -0
- package/node_modules/semver/functions/minor.js +2 -0
- package/node_modules/semver/functions/neq.js +2 -0
- package/node_modules/semver/functions/parse.js +2 -0
- package/node_modules/semver/functions/patch.js +2 -0
- package/node_modules/semver/functions/prerelease.js +2 -0
- package/node_modules/semver/functions/rcompare.js +2 -0
- package/node_modules/semver/functions/rsort.js +2 -0
- package/node_modules/semver/functions/satisfies.js +2 -0
- package/node_modules/semver/functions/sort.js +2 -0
- package/node_modules/semver/functions/valid.js +2 -0
- package/node_modules/semver/index.js +2 -0
- package/node_modules/semver/internal/constants.js +2 -0
- package/node_modules/semver/internal/debug.js +2 -0
- package/node_modules/semver/internal/identifiers.js +2 -0
- package/node_modules/semver/internal/lrucache.js +2 -0
- package/node_modules/semver/internal/parse-options.js +2 -0
- package/node_modules/semver/internal/re.js +8 -4
- package/node_modules/semver/package.json +3 -3
- package/node_modules/semver/preload.js +2 -0
- package/node_modules/semver/ranges/gtr.js +2 -0
- package/node_modules/semver/ranges/intersects.js +2 -0
- package/node_modules/semver/ranges/ltr.js +2 -0
- package/node_modules/semver/ranges/max-satisfying.js +2 -0
- package/node_modules/semver/ranges/min-satisfying.js +2 -0
- package/node_modules/semver/ranges/min-version.js +2 -0
- package/node_modules/semver/ranges/outside.js +2 -0
- package/node_modules/semver/ranges/simplify.js +2 -0
- package/node_modules/semver/ranges/subset.js +2 -0
- package/node_modules/semver/ranges/to-comparators.js +2 -0
- package/node_modules/semver/ranges/valid.js +2 -0
- package/package.json +5 -5
package/API.md
CHANGED
|
@@ -2,6 +2,169 @@
|
|
|
2
2
|
|
|
3
3
|
## Constructs <a name="Constructs" id="Constructs"></a>
|
|
4
4
|
|
|
5
|
+
### AssignApprover <a name="AssignApprover" id="projen-pipelines.AssignApprover"></a>
|
|
6
|
+
|
|
7
|
+
#### Initializers <a name="Initializers" id="projen-pipelines.AssignApprover.Initializer"></a>
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { AssignApprover } from 'projen-pipelines'
|
|
11
|
+
|
|
12
|
+
new AssignApprover(scope: Project, baseOptions: AssignApproverOptions)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
| **Name** | **Type** | **Description** |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| <code><a href="#projen-pipelines.AssignApprover.Initializer.parameter.scope">scope</a></code> | <code>projen.Project</code> | *No description.* |
|
|
18
|
+
| <code><a href="#projen-pipelines.AssignApprover.Initializer.parameter.baseOptions">baseOptions</a></code> | <code><a href="#projen-pipelines.AssignApproverOptions">AssignApproverOptions</a></code> | *No description.* |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="projen-pipelines.AssignApprover.Initializer.parameter.scope"></a>
|
|
23
|
+
|
|
24
|
+
- *Type:* projen.Project
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
##### `baseOptions`<sup>Required</sup> <a name="baseOptions" id="projen-pipelines.AssignApprover.Initializer.parameter.baseOptions"></a>
|
|
29
|
+
|
|
30
|
+
- *Type:* <a href="#projen-pipelines.AssignApproverOptions">AssignApproverOptions</a>
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
35
|
+
|
|
36
|
+
| **Name** | **Description** |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| <code><a href="#projen-pipelines.AssignApprover.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
39
|
+
| <code><a href="#projen-pipelines.AssignApprover.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
|
|
40
|
+
| <code><a href="#projen-pipelines.AssignApprover.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
|
|
41
|
+
| <code><a href="#projen-pipelines.AssignApprover.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
##### `toString` <a name="toString" id="projen-pipelines.AssignApprover.toString"></a>
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
public toString(): string
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Returns a string representation of this construct.
|
|
52
|
+
|
|
53
|
+
##### `postSynthesize` <a name="postSynthesize" id="projen-pipelines.AssignApprover.postSynthesize"></a>
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
public postSynthesize(): void
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Called after synthesis.
|
|
60
|
+
|
|
61
|
+
Order is *not* guaranteed.
|
|
62
|
+
|
|
63
|
+
##### `preSynthesize` <a name="preSynthesize" id="projen-pipelines.AssignApprover.preSynthesize"></a>
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
public preSynthesize(): void
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Called before synthesis.
|
|
70
|
+
|
|
71
|
+
##### `synthesize` <a name="synthesize" id="projen-pipelines.AssignApprover.synthesize"></a>
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
public synthesize(): void
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Synthesizes files to the project output directory.
|
|
78
|
+
|
|
79
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
80
|
+
|
|
81
|
+
| **Name** | **Description** |
|
|
82
|
+
| --- | --- |
|
|
83
|
+
| <code><a href="#projen-pipelines.AssignApprover.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
84
|
+
| <code><a href="#projen-pipelines.AssignApprover.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
##### `isConstruct` <a name="isConstruct" id="projen-pipelines.AssignApprover.isConstruct"></a>
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
import { AssignApprover } from 'projen-pipelines'
|
|
92
|
+
|
|
93
|
+
AssignApprover.isConstruct(x: any)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Checks if `x` is a construct.
|
|
97
|
+
|
|
98
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
|
99
|
+
instances, even when the construct library is symlinked.
|
|
100
|
+
|
|
101
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
102
|
+
disk are seen as independent, completely different libraries. As a
|
|
103
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
|
104
|
+
is seen as a different class, and an instance of one class will not test as
|
|
105
|
+
`instanceof` the other class. `npm install` will not create installations
|
|
106
|
+
like this, but users may manually symlink construct libraries together or
|
|
107
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
108
|
+
library can be accidentally installed, and `instanceof` will behave
|
|
109
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
110
|
+
this type-testing method instead.
|
|
111
|
+
|
|
112
|
+
###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.AssignApprover.isConstruct.parameter.x"></a>
|
|
113
|
+
|
|
114
|
+
- *Type:* any
|
|
115
|
+
|
|
116
|
+
Any object.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
##### `isComponent` <a name="isComponent" id="projen-pipelines.AssignApprover.isComponent"></a>
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
import { AssignApprover } from 'projen-pipelines'
|
|
124
|
+
|
|
125
|
+
AssignApprover.isComponent(x: any)
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Test whether the given construct is a component.
|
|
129
|
+
|
|
130
|
+
###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.AssignApprover.isComponent.parameter.x"></a>
|
|
131
|
+
|
|
132
|
+
- *Type:* any
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
137
|
+
|
|
138
|
+
| **Name** | **Type** | **Description** |
|
|
139
|
+
| --- | --- | --- |
|
|
140
|
+
| <code><a href="#projen-pipelines.AssignApprover.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
141
|
+
| <code><a href="#projen-pipelines.AssignApprover.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
##### `node`<sup>Required</sup> <a name="node" id="projen-pipelines.AssignApprover.property.node"></a>
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
public readonly node: Node;
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
- *Type:* constructs.Node
|
|
152
|
+
|
|
153
|
+
The tree node.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.AssignApprover.property.project"></a>
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
public readonly project: Project;
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
- *Type:* projen.Project
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
|
|
5
168
|
### BashCDKPipeline <a name="BashCDKPipeline" id="projen-pipelines.BashCDKPipeline"></a>
|
|
6
169
|
|
|
7
170
|
#### Initializers <a name="Initializers" id="projen-pipelines.BashCDKPipeline.Initializer"></a>
|
|
@@ -390,6 +553,178 @@ public readonly stackPrefix: string;
|
|
|
390
553
|
---
|
|
391
554
|
|
|
392
555
|
|
|
556
|
+
### GitHubAssignApprover <a name="GitHubAssignApprover" id="projen-pipelines.GitHubAssignApprover"></a>
|
|
557
|
+
|
|
558
|
+
#### Initializers <a name="Initializers" id="projen-pipelines.GitHubAssignApprover.Initializer"></a>
|
|
559
|
+
|
|
560
|
+
```typescript
|
|
561
|
+
import { GitHubAssignApprover } from 'projen-pipelines'
|
|
562
|
+
|
|
563
|
+
new GitHubAssignApprover(scope: GitHubProject, options: GitHubAssignApproverOptions)
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
| **Name** | **Type** | **Description** |
|
|
567
|
+
| --- | --- | --- |
|
|
568
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.Initializer.parameter.scope">scope</a></code> | <code>projen.github.GitHubProject</code> | *No description.* |
|
|
569
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.Initializer.parameter.options">options</a></code> | <code><a href="#projen-pipelines.GitHubAssignApproverOptions">GitHubAssignApproverOptions</a></code> | *No description.* |
|
|
570
|
+
|
|
571
|
+
---
|
|
572
|
+
|
|
573
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="projen-pipelines.GitHubAssignApprover.Initializer.parameter.scope"></a>
|
|
574
|
+
|
|
575
|
+
- *Type:* projen.github.GitHubProject
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
|
|
579
|
+
##### `options`<sup>Required</sup> <a name="options" id="projen-pipelines.GitHubAssignApprover.Initializer.parameter.options"></a>
|
|
580
|
+
|
|
581
|
+
- *Type:* <a href="#projen-pipelines.GitHubAssignApproverOptions">GitHubAssignApproverOptions</a>
|
|
582
|
+
|
|
583
|
+
---
|
|
584
|
+
|
|
585
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
586
|
+
|
|
587
|
+
| **Name** | **Description** |
|
|
588
|
+
| --- | --- |
|
|
589
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
590
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
|
|
591
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
|
|
592
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
|
|
593
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.renderPermissions">renderPermissions</a></code> | Get the required permissions for the GitHub workflow. |
|
|
594
|
+
|
|
595
|
+
---
|
|
596
|
+
|
|
597
|
+
##### `toString` <a name="toString" id="projen-pipelines.GitHubAssignApprover.toString"></a>
|
|
598
|
+
|
|
599
|
+
```typescript
|
|
600
|
+
public toString(): string
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
Returns a string representation of this construct.
|
|
604
|
+
|
|
605
|
+
##### `postSynthesize` <a name="postSynthesize" id="projen-pipelines.GitHubAssignApprover.postSynthesize"></a>
|
|
606
|
+
|
|
607
|
+
```typescript
|
|
608
|
+
public postSynthesize(): void
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
Called after synthesis.
|
|
612
|
+
|
|
613
|
+
Order is *not* guaranteed.
|
|
614
|
+
|
|
615
|
+
##### `preSynthesize` <a name="preSynthesize" id="projen-pipelines.GitHubAssignApprover.preSynthesize"></a>
|
|
616
|
+
|
|
617
|
+
```typescript
|
|
618
|
+
public preSynthesize(): void
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
Called before synthesis.
|
|
622
|
+
|
|
623
|
+
##### `synthesize` <a name="synthesize" id="projen-pipelines.GitHubAssignApprover.synthesize"></a>
|
|
624
|
+
|
|
625
|
+
```typescript
|
|
626
|
+
public synthesize(): void
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
Synthesizes files to the project output directory.
|
|
630
|
+
|
|
631
|
+
##### `renderPermissions` <a name="renderPermissions" id="projen-pipelines.GitHubAssignApprover.renderPermissions"></a>
|
|
632
|
+
|
|
633
|
+
```typescript
|
|
634
|
+
public renderPermissions(): JobPermissions
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
Get the required permissions for the GitHub workflow.
|
|
638
|
+
|
|
639
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
640
|
+
|
|
641
|
+
| **Name** | **Description** |
|
|
642
|
+
| --- | --- |
|
|
643
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
644
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
|
|
645
|
+
|
|
646
|
+
---
|
|
647
|
+
|
|
648
|
+
##### `isConstruct` <a name="isConstruct" id="projen-pipelines.GitHubAssignApprover.isConstruct"></a>
|
|
649
|
+
|
|
650
|
+
```typescript
|
|
651
|
+
import { GitHubAssignApprover } from 'projen-pipelines'
|
|
652
|
+
|
|
653
|
+
GitHubAssignApprover.isConstruct(x: any)
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
Checks if `x` is a construct.
|
|
657
|
+
|
|
658
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
|
659
|
+
instances, even when the construct library is symlinked.
|
|
660
|
+
|
|
661
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
662
|
+
disk are seen as independent, completely different libraries. As a
|
|
663
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
|
664
|
+
is seen as a different class, and an instance of one class will not test as
|
|
665
|
+
`instanceof` the other class. `npm install` will not create installations
|
|
666
|
+
like this, but users may manually symlink construct libraries together or
|
|
667
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
668
|
+
library can be accidentally installed, and `instanceof` will behave
|
|
669
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
670
|
+
this type-testing method instead.
|
|
671
|
+
|
|
672
|
+
###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GitHubAssignApprover.isConstruct.parameter.x"></a>
|
|
673
|
+
|
|
674
|
+
- *Type:* any
|
|
675
|
+
|
|
676
|
+
Any object.
|
|
677
|
+
|
|
678
|
+
---
|
|
679
|
+
|
|
680
|
+
##### `isComponent` <a name="isComponent" id="projen-pipelines.GitHubAssignApprover.isComponent"></a>
|
|
681
|
+
|
|
682
|
+
```typescript
|
|
683
|
+
import { GitHubAssignApprover } from 'projen-pipelines'
|
|
684
|
+
|
|
685
|
+
GitHubAssignApprover.isComponent(x: any)
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
Test whether the given construct is a component.
|
|
689
|
+
|
|
690
|
+
###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GitHubAssignApprover.isComponent.parameter.x"></a>
|
|
691
|
+
|
|
692
|
+
- *Type:* any
|
|
693
|
+
|
|
694
|
+
---
|
|
695
|
+
|
|
696
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
697
|
+
|
|
698
|
+
| **Name** | **Type** | **Description** |
|
|
699
|
+
| --- | --- | --- |
|
|
700
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
701
|
+
| <code><a href="#projen-pipelines.GitHubAssignApprover.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
|
|
702
|
+
|
|
703
|
+
---
|
|
704
|
+
|
|
705
|
+
##### `node`<sup>Required</sup> <a name="node" id="projen-pipelines.GitHubAssignApprover.property.node"></a>
|
|
706
|
+
|
|
707
|
+
```typescript
|
|
708
|
+
public readonly node: Node;
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
- *Type:* constructs.Node
|
|
712
|
+
|
|
713
|
+
The tree node.
|
|
714
|
+
|
|
715
|
+
---
|
|
716
|
+
|
|
717
|
+
##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.GitHubAssignApprover.property.project"></a>
|
|
718
|
+
|
|
719
|
+
```typescript
|
|
720
|
+
public readonly project: Project;
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
- *Type:* projen.Project
|
|
724
|
+
|
|
725
|
+
---
|
|
726
|
+
|
|
727
|
+
|
|
393
728
|
### GithubCDKPipeline <a name="GithubCDKPipeline" id="projen-pipelines.GithubCDKPipeline"></a>
|
|
394
729
|
|
|
395
730
|
Implements a CDK Pipeline configured specifically for GitHub workflows.
|
|
@@ -909,6 +1244,88 @@ Currently set to false
|
|
|
909
1244
|
|
|
910
1245
|
## Structs <a name="Structs" id="Structs"></a>
|
|
911
1246
|
|
|
1247
|
+
### ApproverMapping <a name="ApproverMapping" id="projen-pipelines.ApproverMapping"></a>
|
|
1248
|
+
|
|
1249
|
+
#### Initializer <a name="Initializer" id="projen-pipelines.ApproverMapping.Initializer"></a>
|
|
1250
|
+
|
|
1251
|
+
```typescript
|
|
1252
|
+
import { ApproverMapping } from 'projen-pipelines'
|
|
1253
|
+
|
|
1254
|
+
const approverMapping: ApproverMapping = { ... }
|
|
1255
|
+
```
|
|
1256
|
+
|
|
1257
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
1258
|
+
|
|
1259
|
+
| **Name** | **Type** | **Description** |
|
|
1260
|
+
| --- | --- | --- |
|
|
1261
|
+
| <code><a href="#projen-pipelines.ApproverMapping.property.approvers">approvers</a></code> | <code>string[]</code> | *No description.* |
|
|
1262
|
+
| <code><a href="#projen-pipelines.ApproverMapping.property.author">author</a></code> | <code>string</code> | *No description.* |
|
|
1263
|
+
|
|
1264
|
+
---
|
|
1265
|
+
|
|
1266
|
+
##### `approvers`<sup>Required</sup> <a name="approvers" id="projen-pipelines.ApproverMapping.property.approvers"></a>
|
|
1267
|
+
|
|
1268
|
+
```typescript
|
|
1269
|
+
public readonly approvers: string[];
|
|
1270
|
+
```
|
|
1271
|
+
|
|
1272
|
+
- *Type:* string[]
|
|
1273
|
+
|
|
1274
|
+
---
|
|
1275
|
+
|
|
1276
|
+
##### `author`<sup>Required</sup> <a name="author" id="projen-pipelines.ApproverMapping.property.author"></a>
|
|
1277
|
+
|
|
1278
|
+
```typescript
|
|
1279
|
+
public readonly author: string;
|
|
1280
|
+
```
|
|
1281
|
+
|
|
1282
|
+
- *Type:* string
|
|
1283
|
+
|
|
1284
|
+
---
|
|
1285
|
+
|
|
1286
|
+
### AssignApproverOptions <a name="AssignApproverOptions" id="projen-pipelines.AssignApproverOptions"></a>
|
|
1287
|
+
|
|
1288
|
+
#### Initializer <a name="Initializer" id="projen-pipelines.AssignApproverOptions.Initializer"></a>
|
|
1289
|
+
|
|
1290
|
+
```typescript
|
|
1291
|
+
import { AssignApproverOptions } from 'projen-pipelines'
|
|
1292
|
+
|
|
1293
|
+
const assignApproverOptions: AssignApproverOptions = { ... }
|
|
1294
|
+
```
|
|
1295
|
+
|
|
1296
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
1297
|
+
|
|
1298
|
+
| **Name** | **Type** | **Description** |
|
|
1299
|
+
| --- | --- | --- |
|
|
1300
|
+
| <code><a href="#projen-pipelines.AssignApproverOptions.property.approverMapping">approverMapping</a></code> | <code><a href="#projen-pipelines.ApproverMapping">ApproverMapping</a>[]</code> | The mapping of authors to approvers. |
|
|
1301
|
+
| <code><a href="#projen-pipelines.AssignApproverOptions.property.defaultApprovers">defaultApprovers</a></code> | <code>string[]</code> | The GitHub token to use for the API calls. |
|
|
1302
|
+
|
|
1303
|
+
---
|
|
1304
|
+
|
|
1305
|
+
##### `approverMapping`<sup>Required</sup> <a name="approverMapping" id="projen-pipelines.AssignApproverOptions.property.approverMapping"></a>
|
|
1306
|
+
|
|
1307
|
+
```typescript
|
|
1308
|
+
public readonly approverMapping: ApproverMapping[];
|
|
1309
|
+
```
|
|
1310
|
+
|
|
1311
|
+
- *Type:* <a href="#projen-pipelines.ApproverMapping">ApproverMapping</a>[]
|
|
1312
|
+
|
|
1313
|
+
The mapping of authors to approvers.
|
|
1314
|
+
|
|
1315
|
+
---
|
|
1316
|
+
|
|
1317
|
+
##### `defaultApprovers`<sup>Required</sup> <a name="defaultApprovers" id="projen-pipelines.AssignApproverOptions.property.defaultApprovers"></a>
|
|
1318
|
+
|
|
1319
|
+
```typescript
|
|
1320
|
+
public readonly defaultApprovers: string[];
|
|
1321
|
+
```
|
|
1322
|
+
|
|
1323
|
+
- *Type:* string[]
|
|
1324
|
+
|
|
1325
|
+
The GitHub token to use for the API calls.
|
|
1326
|
+
|
|
1327
|
+
---
|
|
1328
|
+
|
|
912
1329
|
### AwsAssumeRoleStepConfig <a name="AwsAssumeRoleStepConfig" id="projen-pipelines.AwsAssumeRoleStepConfig"></a>
|
|
913
1330
|
|
|
914
1331
|
Configuration for an AWS AssumeRoleStep.
|
|
@@ -1736,6 +2153,63 @@ availability, and pricing.
|
|
|
1736
2153
|
|
|
1737
2154
|
---
|
|
1738
2155
|
|
|
2156
|
+
### GitHubAssignApproverOptions <a name="GitHubAssignApproverOptions" id="projen-pipelines.GitHubAssignApproverOptions"></a>
|
|
2157
|
+
|
|
2158
|
+
#### Initializer <a name="Initializer" id="projen-pipelines.GitHubAssignApproverOptions.Initializer"></a>
|
|
2159
|
+
|
|
2160
|
+
```typescript
|
|
2161
|
+
import { GitHubAssignApproverOptions } from 'projen-pipelines'
|
|
2162
|
+
|
|
2163
|
+
const gitHubAssignApproverOptions: GitHubAssignApproverOptions = { ... }
|
|
2164
|
+
```
|
|
2165
|
+
|
|
2166
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
2167
|
+
|
|
2168
|
+
| **Name** | **Type** | **Description** |
|
|
2169
|
+
| --- | --- | --- |
|
|
2170
|
+
| <code><a href="#projen-pipelines.GitHubAssignApproverOptions.property.approverMapping">approverMapping</a></code> | <code><a href="#projen-pipelines.ApproverMapping">ApproverMapping</a>[]</code> | The mapping of authors to approvers. |
|
|
2171
|
+
| <code><a href="#projen-pipelines.GitHubAssignApproverOptions.property.defaultApprovers">defaultApprovers</a></code> | <code>string[]</code> | The GitHub token to use for the API calls. |
|
|
2172
|
+
| <code><a href="#projen-pipelines.GitHubAssignApproverOptions.property.runnerTags">runnerTags</a></code> | <code>string[]</code> | runner tags to use to select runners. |
|
|
2173
|
+
|
|
2174
|
+
---
|
|
2175
|
+
|
|
2176
|
+
##### `approverMapping`<sup>Required</sup> <a name="approverMapping" id="projen-pipelines.GitHubAssignApproverOptions.property.approverMapping"></a>
|
|
2177
|
+
|
|
2178
|
+
```typescript
|
|
2179
|
+
public readonly approverMapping: ApproverMapping[];
|
|
2180
|
+
```
|
|
2181
|
+
|
|
2182
|
+
- *Type:* <a href="#projen-pipelines.ApproverMapping">ApproverMapping</a>[]
|
|
2183
|
+
|
|
2184
|
+
The mapping of authors to approvers.
|
|
2185
|
+
|
|
2186
|
+
---
|
|
2187
|
+
|
|
2188
|
+
##### `defaultApprovers`<sup>Required</sup> <a name="defaultApprovers" id="projen-pipelines.GitHubAssignApproverOptions.property.defaultApprovers"></a>
|
|
2189
|
+
|
|
2190
|
+
```typescript
|
|
2191
|
+
public readonly defaultApprovers: string[];
|
|
2192
|
+
```
|
|
2193
|
+
|
|
2194
|
+
- *Type:* string[]
|
|
2195
|
+
|
|
2196
|
+
The GitHub token to use for the API calls.
|
|
2197
|
+
|
|
2198
|
+
---
|
|
2199
|
+
|
|
2200
|
+
##### `runnerTags`<sup>Optional</sup> <a name="runnerTags" id="projen-pipelines.GitHubAssignApproverOptions.property.runnerTags"></a>
|
|
2201
|
+
|
|
2202
|
+
```typescript
|
|
2203
|
+
public readonly runnerTags: string[];
|
|
2204
|
+
```
|
|
2205
|
+
|
|
2206
|
+
- *Type:* string[]
|
|
2207
|
+
- *Default:* ['ubuntu-latest']
|
|
2208
|
+
|
|
2209
|
+
runner tags to use to select runners.
|
|
2210
|
+
|
|
2211
|
+
---
|
|
2212
|
+
|
|
1739
2213
|
### GithubCDKPipelineOptions <a name="GithubCDKPipelineOptions" id="projen-pipelines.GithubCDKPipelineOptions"></a>
|
|
1740
2214
|
|
|
1741
2215
|
Extension of the base CDKPipeline options including specific configurations for GitHub.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, Project } from 'projen';
|
|
2
|
+
export interface ApproverMapping {
|
|
3
|
+
readonly author: string;
|
|
4
|
+
readonly approvers: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface AssignApproverOptions {
|
|
7
|
+
/**
|
|
8
|
+
* The mapping of authors to approvers.
|
|
9
|
+
*/
|
|
10
|
+
readonly approverMapping: ApproverMapping[];
|
|
11
|
+
/**
|
|
12
|
+
* The GitHub token to use for the API calls.
|
|
13
|
+
*/
|
|
14
|
+
readonly defaultApprovers: string[];
|
|
15
|
+
}
|
|
16
|
+
export declare abstract class AssignApprover extends Component {
|
|
17
|
+
protected readonly baseOptions: AssignApproverOptions;
|
|
18
|
+
constructor(scope: Project, baseOptions: AssignApproverOptions);
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AssignApprover = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const projen_1 = require("projen");
|
|
7
|
+
class AssignApprover extends projen_1.Component {
|
|
8
|
+
constructor(scope, baseOptions) {
|
|
9
|
+
super(scope);
|
|
10
|
+
this.baseOptions = baseOptions;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.AssignApprover = AssignApprover;
|
|
14
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
15
|
+
AssignApprover[_a] = { fqn: "projen-pipelines.AssignApprover", version: "0.2.10" };
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ24tYXBwcm92ZXIvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUE0QztBQXVCNUMsTUFBc0IsY0FBZSxTQUFRLGtCQUFTO0lBR3BELFlBQVksS0FBYyxFQUFxQixXQUFrQztRQUMvRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFEZ0MsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBRWpGLENBQUM7O0FBTEgsd0NBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcHJvdmVyTWFwcGluZyB7XG5cbiAgcmVhZG9ubHkgYXV0aG9yOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwcHJvdmVyczogc3RyaW5nW107XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NpZ25BcHByb3Zlck9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgbWFwcGluZyBvZiBhdXRob3JzIHRvIGFwcHJvdmVycy5cbiAgICovXG4gIHJlYWRvbmx5IGFwcHJvdmVyTWFwcGluZzogQXBwcm92ZXJNYXBwaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBHaXRIdWIgdG9rZW4gdG8gdXNlIGZvciB0aGUgQVBJIGNhbGxzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdEFwcHJvdmVyczogc3RyaW5nW107XG5cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzc2lnbkFwcHJvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcblxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBQcm9qZWN0LCBwcm90ZWN0ZWQgcmVhZG9ubHkgYmFzZU9wdGlvbnM6IEFzc2lnbkFwcHJvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHNjb3BlKTtcbiAgfVxuXG59Il19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GitHubProject } from 'projen/lib/github';
|
|
2
|
+
import { JobPermissions } from 'projen/lib/github/workflows-model';
|
|
3
|
+
import { AssignApprover, AssignApproverOptions } from './base';
|
|
4
|
+
export interface GitHubAssignApproverOptions extends AssignApproverOptions {
|
|
5
|
+
/**
|
|
6
|
+
* runner tags to use to select runners
|
|
7
|
+
*
|
|
8
|
+
* @default ['ubuntu-latest']
|
|
9
|
+
*/
|
|
10
|
+
readonly runnerTags?: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare class GitHubAssignApprover extends AssignApprover {
|
|
13
|
+
private readonly workflow;
|
|
14
|
+
private readonly options;
|
|
15
|
+
constructor(scope: GitHubProject, options: GitHubAssignApproverOptions);
|
|
16
|
+
/**
|
|
17
|
+
* Get the required permissions for the GitHub workflow
|
|
18
|
+
*/
|
|
19
|
+
renderPermissions(): JobPermissions;
|
|
20
|
+
protected setupWorkflow(): void;
|
|
21
|
+
protected generateApproverMappingScript(): string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.GitHubAssignApprover = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const workflows_model_1 = require("projen/lib/github/workflows-model");
|
|
7
|
+
const base_1 = require("./base");
|
|
8
|
+
class GitHubAssignApprover extends base_1.AssignApprover {
|
|
9
|
+
constructor(scope, options) {
|
|
10
|
+
super(scope, options);
|
|
11
|
+
this.options = options;
|
|
12
|
+
// Initialize the deployment workflow on GitHub.
|
|
13
|
+
this.workflow = scope.github.addWorkflow('assign-approver');
|
|
14
|
+
this.workflow.on({
|
|
15
|
+
pullRequestTarget: {
|
|
16
|
+
types: ['opened', 'ready_for_review'],
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
this.setupWorkflow();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get the required permissions for the GitHub workflow
|
|
23
|
+
*/
|
|
24
|
+
renderPermissions() {
|
|
25
|
+
return {
|
|
26
|
+
pullRequests: workflows_model_1.JobPermission.WRITE,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
setupWorkflow() {
|
|
30
|
+
const runnerTags = this.options.runnerTags ?? ['ubuntu-latest'];
|
|
31
|
+
const approverMappingScript = this.generateApproverMappingScript();
|
|
32
|
+
this.workflow.addJob('assign-approver', {
|
|
33
|
+
runsOn: runnerTags,
|
|
34
|
+
permissions: this.renderPermissions(),
|
|
35
|
+
steps: [
|
|
36
|
+
{
|
|
37
|
+
name: 'Assign approver based on author',
|
|
38
|
+
uses: 'actions/github-script@v7',
|
|
39
|
+
with: {
|
|
40
|
+
script: approverMappingScript,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
generateApproverMappingScript() {
|
|
47
|
+
const mappingEntries = this.baseOptions.approverMapping
|
|
48
|
+
.map(mapping => ` '${mapping.author}': [${mapping.approvers.map(a => `'${a}'`).join(', ')}]`)
|
|
49
|
+
.join(',\n');
|
|
50
|
+
const defaultApprovers = this.baseOptions.defaultApprovers
|
|
51
|
+
.map(a => `'${a}'`)
|
|
52
|
+
.join(', ');
|
|
53
|
+
return `const author = context.payload.pull_request.user.login;
|
|
54
|
+
|
|
55
|
+
// Define approver mapping
|
|
56
|
+
const approverMapping = {
|
|
57
|
+
${mappingEntries},
|
|
58
|
+
'default': [${defaultApprovers}] // Default approver(s) if author not in mapping
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// Get approvers for the PR author
|
|
62
|
+
const approvers = approverMapping[author] || approverMapping['default'];
|
|
63
|
+
|
|
64
|
+
// Filter out the author from approvers list (can't approve own PR)
|
|
65
|
+
const filteredApprovers = approvers.filter(approver => approver !== author);
|
|
66
|
+
|
|
67
|
+
if (filteredApprovers.length > 0) {
|
|
68
|
+
// Request reviews from the approvers
|
|
69
|
+
await github.rest.pulls.requestReviewers({
|
|
70
|
+
owner: context.repo.owner,
|
|
71
|
+
repo: context.repo.repo,
|
|
72
|
+
pull_number: context.issue.number,
|
|
73
|
+
reviewers: filteredApprovers
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
console.log(\`Assigned reviewers: \${filteredApprovers.join(', ')}\`);
|
|
77
|
+
} else {
|
|
78
|
+
console.log('No eligible reviewers found for this PR author');
|
|
79
|
+
}`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.GitHubAssignApprover = GitHubAssignApprover;
|
|
83
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
84
|
+
GitHubAssignApprover[_a] = { fqn: "projen-pipelines.GitHubAssignApprover", version: "0.2.10" };
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2lnbi1hcHByb3Zlci9naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx1RUFBa0Y7QUFDbEYsaUNBQStEO0FBYS9ELE1BQWEsb0JBQXFCLFNBQVEscUJBQWM7SUFJdEQsWUFBWSxLQUFvQixFQUFFLE9BQW9DO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFdkIsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNmLGlCQUFpQixFQUFFO2dCQUNqQixLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUM7YUFDdEM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU87WUFDTCxZQUFZLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO1NBQ2xDLENBQUM7SUFDSixDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFFbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUU7WUFDdEMsTUFBTSxFQUFFLFVBQVU7WUFDbEIsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNyQyxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztvQkFDdkMsSUFBSSxFQUFFLDBCQUEwQjtvQkFDaEMsSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxxQkFBcUI7cUJBQzlCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsNkJBQTZCO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZTthQUNwRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxNQUFNLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDN0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQjthQUN2RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVkLE9BQU87Ozs7RUFJVCxjQUFjO2dCQUNBLGdCQUFnQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBcUI5QixDQUFDO0lBQ0QsQ0FBQzs7QUFwRkgsb0RBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2l0SHViUHJvamVjdCwgR2l0aHViV29ya2Zsb3cgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yic7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uLCBKb2JQZXJtaXNzaW9ucyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBBc3NpZ25BcHByb3ZlciwgQXNzaWduQXBwcm92ZXJPcHRpb25zIH0gZnJvbSAnLi9iYXNlJztcblxuZXhwb3J0IGludGVyZmFjZSBHaXRIdWJBc3NpZ25BcHByb3Zlck9wdGlvbnMgZXh0ZW5kcyBBc3NpZ25BcHByb3Zlck9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBydW5uZXIgdGFncyB0byB1c2UgdG8gc2VsZWN0IHJ1bm5lcnNcbiAgICpcbiAgICogQGRlZmF1bHQgWyd1YnVudHUtbGF0ZXN0J11cbiAgICovXG4gIHJlYWRvbmx5IHJ1bm5lclRhZ3M/OiBzdHJpbmdbXTtcblxufVxuXG5leHBvcnQgY2xhc3MgR2l0SHViQXNzaWduQXBwcm92ZXIgZXh0ZW5kcyBBc3NpZ25BcHByb3ZlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2Zsb3c6IEdpdGh1YldvcmtmbG93O1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEdpdEh1YkFzc2lnbkFwcHJvdmVyT3B0aW9ucztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogR2l0SHViUHJvamVjdCwgb3B0aW9uczogR2l0SHViQXNzaWduQXBwcm92ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIG9wdGlvbnMpO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICAvLyBJbml0aWFsaXplIHRoZSBkZXBsb3ltZW50IHdvcmtmbG93IG9uIEdpdEh1Yi5cbiAgICB0aGlzLndvcmtmbG93ID0gc2NvcGUuZ2l0aHViIS5hZGRXb3JrZmxvdygnYXNzaWduLWFwcHJvdmVyJyk7XG4gICAgdGhpcy53b3JrZmxvdy5vbih7XG4gICAgICBwdWxsUmVxdWVzdFRhcmdldDoge1xuICAgICAgICB0eXBlczogWydvcGVuZWQnLCAncmVhZHlfZm9yX3JldmlldyddLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0dXBXb3JrZmxvdygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcmVxdWlyZWQgcGVybWlzc2lvbnMgZm9yIHRoZSBHaXRIdWIgd29ya2Zsb3dcbiAgICovXG4gIHB1YmxpYyByZW5kZXJQZXJtaXNzaW9ucygpOiBKb2JQZXJtaXNzaW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1bGxSZXF1ZXN0czogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwV29ya2Zsb3coKTogdm9pZCB7XG4gICAgY29uc3QgcnVubmVyVGFncyA9IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzID8/IFsndWJ1bnR1LWxhdGVzdCddO1xuXG4gICAgY29uc3QgYXBwcm92ZXJNYXBwaW5nU2NyaXB0ID0gdGhpcy5nZW5lcmF0ZUFwcHJvdmVyTWFwcGluZ1NjcmlwdCgpO1xuXG4gICAgdGhpcy53b3JrZmxvdy5hZGRKb2IoJ2Fzc2lnbi1hcHByb3ZlcicsIHtcbiAgICAgIHJ1bnNPbjogcnVubmVyVGFncyxcbiAgICAgIHBlcm1pc3Npb25zOiB0aGlzLnJlbmRlclBlcm1pc3Npb25zKCksXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0Fzc2lnbiBhcHByb3ZlciBiYXNlZCBvbiBhdXRob3InLFxuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2dpdGh1Yi1zY3JpcHRAdjcnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIHNjcmlwdDogYXBwcm92ZXJNYXBwaW5nU2NyaXB0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdlbmVyYXRlQXBwcm92ZXJNYXBwaW5nU2NyaXB0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbWFwcGluZ0VudHJpZXMgPSB0aGlzLmJhc2VPcHRpb25zLmFwcHJvdmVyTWFwcGluZ1xuICAgICAgLm1hcChtYXBwaW5nID0+IGAgICcke21hcHBpbmcuYXV0aG9yfSc6IFske21hcHBpbmcuYXBwcm92ZXJzLm1hcChhID0+IGAnJHthfSdgKS5qb2luKCcsICcpfV1gKVxuICAgICAgLmpvaW4oJyxcXG4nKTtcblxuICAgIGNvbnN0IGRlZmF1bHRBcHByb3ZlcnMgPSB0aGlzLmJhc2VPcHRpb25zLmRlZmF1bHRBcHByb3ZlcnNcbiAgICAgIC5tYXAoYSA9PiBgJyR7YX0nYClcbiAgICAgIC5qb2luKCcsICcpO1xuXG4gICAgcmV0dXJuIGBjb25zdCBhdXRob3IgPSBjb250ZXh0LnBheWxvYWQucHVsbF9yZXF1ZXN0LnVzZXIubG9naW47XG5cbi8vIERlZmluZSBhcHByb3ZlciBtYXBwaW5nXG5jb25zdCBhcHByb3Zlck1hcHBpbmcgPSB7XG4ke21hcHBpbmdFbnRyaWVzfSxcbiAgJ2RlZmF1bHQnOiBbJHtkZWZhdWx0QXBwcm92ZXJzfV0gLy8gRGVmYXVsdCBhcHByb3ZlcihzKSBpZiBhdXRob3Igbm90IGluIG1hcHBpbmdcbn07XG5cbi8vIEdldCBhcHByb3ZlcnMgZm9yIHRoZSBQUiBhdXRob3JcbmNvbnN0IGFwcHJvdmVycyA9IGFwcHJvdmVyTWFwcGluZ1thdXRob3JdIHx8IGFwcHJvdmVyTWFwcGluZ1snZGVmYXVsdCddO1xuXG4vLyBGaWx0ZXIgb3V0IHRoZSBhdXRob3IgZnJvbSBhcHByb3ZlcnMgbGlzdCAoY2FuJ3QgYXBwcm92ZSBvd24gUFIpXG5jb25zdCBmaWx0ZXJlZEFwcHJvdmVycyA9IGFwcHJvdmVycy5maWx0ZXIoYXBwcm92ZXIgPT4gYXBwcm92ZXIgIT09IGF1dGhvcik7XG5cbmlmIChmaWx0ZXJlZEFwcHJvdmVycy5sZW5ndGggPiAwKSB7XG4gIC8vIFJlcXVlc3QgcmV2aWV3cyBmcm9tIHRoZSBhcHByb3ZlcnNcbiAgYXdhaXQgZ2l0aHViLnJlc3QucHVsbHMucmVxdWVzdFJldmlld2Vycyh7XG4gICAgb3duZXI6IGNvbnRleHQucmVwby5vd25lcixcbiAgICByZXBvOiBjb250ZXh0LnJlcG8ucmVwbyxcbiAgICBwdWxsX251bWJlcjogY29udGV4dC5pc3N1ZS5udW1iZXIsXG4gICAgcmV2aWV3ZXJzOiBmaWx0ZXJlZEFwcHJvdmVyc1xuICB9KTtcbiAgXG4gIGNvbnNvbGUubG9nKFxcYEFzc2lnbmVkIHJldmlld2VyczogXFwke2ZpbHRlcmVkQXBwcm92ZXJzLmpvaW4oJywgJyl9XFxgKTtcbn0gZWxzZSB7XG4gIGNvbnNvbGUubG9nKCdObyBlbGlnaWJsZSByZXZpZXdlcnMgZm91bmQgZm9yIHRoaXMgUFIgYXV0aG9yJyk7XG59YDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./base"), exports);
|
|
18
|
+
__exportStar(require("./github"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzaWduLWFwcHJvdmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2l0aHViJzsiXX0=
|