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.
Files changed (69) hide show
  1. package/.jsii +296 -3
  2. package/API.md +474 -0
  3. package/lib/assign-approver/base.d.ts +19 -0
  4. package/lib/assign-approver/base.js +16 -0
  5. package/lib/assign-approver/github.d.ts +22 -0
  6. package/lib/assign-approver/github.js +85 -0
  7. package/lib/assign-approver/index.d.ts +2 -0
  8. package/lib/assign-approver/index.js +19 -0
  9. package/lib/awscdk/base.js +1 -1
  10. package/lib/awscdk/bash.js +1 -1
  11. package/lib/awscdk/github.js +1 -1
  12. package/lib/awscdk/gitlab.js +1 -1
  13. package/lib/index.d.ts +1 -0
  14. package/lib/index.js +2 -1
  15. package/lib/steps/artifact-steps.js +2 -2
  16. package/lib/steps/aws-assume-role.step.js +1 -1
  17. package/lib/steps/registries.js +2 -2
  18. package/lib/steps/step.js +4 -4
  19. package/llm.md +214 -0
  20. package/node_modules/semver/bin/semver.js +2 -0
  21. package/node_modules/semver/classes/comparator.js +2 -0
  22. package/node_modules/semver/classes/index.js +2 -0
  23. package/node_modules/semver/classes/range.js +2 -0
  24. package/node_modules/semver/classes/semver.js +4 -3
  25. package/node_modules/semver/functions/clean.js +2 -0
  26. package/node_modules/semver/functions/cmp.js +2 -0
  27. package/node_modules/semver/functions/coerce.js +2 -0
  28. package/node_modules/semver/functions/compare-build.js +2 -0
  29. package/node_modules/semver/functions/compare-loose.js +2 -0
  30. package/node_modules/semver/functions/compare.js +2 -0
  31. package/node_modules/semver/functions/diff.js +2 -0
  32. package/node_modules/semver/functions/eq.js +2 -0
  33. package/node_modules/semver/functions/gt.js +2 -0
  34. package/node_modules/semver/functions/gte.js +2 -0
  35. package/node_modules/semver/functions/inc.js +2 -0
  36. package/node_modules/semver/functions/lt.js +2 -0
  37. package/node_modules/semver/functions/lte.js +2 -0
  38. package/node_modules/semver/functions/major.js +2 -0
  39. package/node_modules/semver/functions/minor.js +2 -0
  40. package/node_modules/semver/functions/neq.js +2 -0
  41. package/node_modules/semver/functions/parse.js +2 -0
  42. package/node_modules/semver/functions/patch.js +2 -0
  43. package/node_modules/semver/functions/prerelease.js +2 -0
  44. package/node_modules/semver/functions/rcompare.js +2 -0
  45. package/node_modules/semver/functions/rsort.js +2 -0
  46. package/node_modules/semver/functions/satisfies.js +2 -0
  47. package/node_modules/semver/functions/sort.js +2 -0
  48. package/node_modules/semver/functions/valid.js +2 -0
  49. package/node_modules/semver/index.js +2 -0
  50. package/node_modules/semver/internal/constants.js +2 -0
  51. package/node_modules/semver/internal/debug.js +2 -0
  52. package/node_modules/semver/internal/identifiers.js +2 -0
  53. package/node_modules/semver/internal/lrucache.js +2 -0
  54. package/node_modules/semver/internal/parse-options.js +2 -0
  55. package/node_modules/semver/internal/re.js +8 -4
  56. package/node_modules/semver/package.json +3 -3
  57. package/node_modules/semver/preload.js +2 -0
  58. package/node_modules/semver/ranges/gtr.js +2 -0
  59. package/node_modules/semver/ranges/intersects.js +2 -0
  60. package/node_modules/semver/ranges/ltr.js +2 -0
  61. package/node_modules/semver/ranges/max-satisfying.js +2 -0
  62. package/node_modules/semver/ranges/min-satisfying.js +2 -0
  63. package/node_modules/semver/ranges/min-version.js +2 -0
  64. package/node_modules/semver/ranges/outside.js +2 -0
  65. package/node_modules/semver/ranges/simplify.js +2 -0
  66. package/node_modules/semver/ranges/subset.js +2 -0
  67. package/node_modules/semver/ranges/to-comparators.js +2 -0
  68. package/node_modules/semver/ranges/valid.js +2 -0
  69. 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,2 @@
1
+ export * from './base';
2
+ export * from './github';
@@ -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=