projen-pipelines 0.3.14 → 0.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "constructs": "^10.5.1",
19
- "projen": ">=0.99.21 <1.0.0"
19
+ "projen": ">=0.99.47 <1.0.0"
20
20
  },
21
21
  "dependencyClosure": {
22
22
  "constructs": {
@@ -972,7 +972,7 @@
972
972
  },
973
973
  "locationInModule": {
974
974
  "filename": "src/awscdk/base.ts",
975
- "line": 433
975
+ "line": 438
976
976
  },
977
977
  "name": "createApplicationEntrypoint",
978
978
  "protected": true
@@ -984,7 +984,7 @@
984
984
  },
985
985
  "locationInModule": {
986
986
  "filename": "src/awscdk/base.ts",
987
- "line": 639
987
+ "line": 644
988
988
  },
989
989
  "name": "createFeatureStage",
990
990
  "protected": true
@@ -996,7 +996,7 @@
996
996
  },
997
997
  "locationInModule": {
998
998
  "filename": "src/awscdk/base.ts",
999
- "line": 688
999
+ "line": 693
1000
1000
  },
1001
1001
  "name": "createIndependentStage",
1002
1002
  "parameters": [
@@ -1019,7 +1019,7 @@
1019
1019
  },
1020
1020
  "locationInModule": {
1021
1021
  "filename": "src/awscdk/base.ts",
1022
- "line": 616
1022
+ "line": 621
1023
1023
  },
1024
1024
  "name": "createPersonalStage",
1025
1025
  "protected": true
@@ -1031,7 +1031,7 @@
1031
1031
  },
1032
1032
  "locationInModule": {
1033
1033
  "filename": "src/awscdk/base.ts",
1034
- "line": 662
1034
+ "line": 667
1035
1035
  },
1036
1036
  "name": "createPipelineStage",
1037
1037
  "parameters": [
@@ -1054,7 +1054,7 @@
1054
1054
  },
1055
1055
  "locationInModule": {
1056
1056
  "filename": "src/awscdk/base.ts",
1057
- "line": 561
1057
+ "line": 566
1058
1058
  },
1059
1059
  "name": "createReleaseTasks",
1060
1060
  "protected": true
@@ -1065,7 +1065,7 @@
1065
1065
  },
1066
1066
  "locationInModule": {
1067
1067
  "filename": "src/awscdk/base.ts",
1068
- "line": 419
1068
+ "line": 424
1069
1069
  },
1070
1070
  "name": "createSafeStageName",
1071
1071
  "parameters": [
@@ -1090,7 +1090,7 @@
1090
1090
  },
1091
1091
  "locationInModule": {
1092
1092
  "filename": "src/awscdk/base.ts",
1093
- "line": 721
1093
+ "line": 726
1094
1094
  },
1095
1095
  "name": "createVersionFetchTask",
1096
1096
  "parameters": [
@@ -1126,7 +1126,7 @@
1126
1126
  },
1127
1127
  "locationInModule": {
1128
1128
  "filename": "src/awscdk/base.ts",
1129
- "line": 767
1129
+ "line": 772
1130
1130
  },
1131
1131
  "name": "generateVersioningAppCode",
1132
1132
  "parameters": [
@@ -1150,7 +1150,7 @@
1150
1150
  },
1151
1151
  "locationInModule": {
1152
1152
  "filename": "src/awscdk/base.ts",
1153
- "line": 781
1153
+ "line": 786
1154
1154
  },
1155
1155
  "name": "generateVersioningImports",
1156
1156
  "returns": {
@@ -1166,7 +1166,7 @@
1166
1166
  },
1167
1167
  "locationInModule": {
1168
1168
  "filename": "src/awscdk/base.ts",
1169
- "line": 794
1169
+ "line": 799
1170
1170
  },
1171
1171
  "name": "generateVersioningUtilities",
1172
1172
  "returns": {
@@ -1181,7 +1181,7 @@
1181
1181
  },
1182
1182
  "locationInModule": {
1183
1183
  "filename": "src/awscdk/base.ts",
1184
- "line": 710
1184
+ "line": 715
1185
1185
  },
1186
1186
  "name": "getCliStackPattern",
1187
1187
  "parameters": [
@@ -1205,7 +1205,7 @@
1205
1205
  },
1206
1206
  "locationInModule": {
1207
1207
  "filename": "src/awscdk/base.ts",
1208
- "line": 361
1208
+ "line": 366
1209
1209
  },
1210
1210
  "name": "provideAssemblyUploadStep",
1211
1211
  "protected": true,
@@ -1221,7 +1221,7 @@
1221
1221
  },
1222
1222
  "locationInModule": {
1223
1223
  "filename": "src/awscdk/base.ts",
1224
- "line": 327
1224
+ "line": 332
1225
1225
  },
1226
1226
  "name": "provideAssetUploadStep",
1227
1227
  "parameters": [
@@ -1246,7 +1246,7 @@
1246
1246
  },
1247
1247
  "locationInModule": {
1248
1248
  "filename": "src/awscdk/base.ts",
1249
- "line": 371
1249
+ "line": 376
1250
1250
  },
1251
1251
  "name": "provideDeployStep",
1252
1252
  "parameters": [
@@ -1270,7 +1270,7 @@
1270
1270
  },
1271
1271
  "locationInModule": {
1272
1272
  "filename": "src/awscdk/base.ts",
1273
- "line": 383
1273
+ "line": 388
1274
1274
  },
1275
1275
  "name": "provideDiffStep",
1276
1276
  "parameters": [
@@ -1317,7 +1317,7 @@
1317
1317
  },
1318
1318
  "locationInModule": {
1319
1319
  "filename": "src/awscdk/base.ts",
1320
- "line": 303
1320
+ "line": 308
1321
1321
  },
1322
1322
  "name": "provideSynthStep",
1323
1323
  "protected": true,
@@ -1333,7 +1333,7 @@
1333
1333
  },
1334
1334
  "locationInModule": {
1335
1335
  "filename": "src/awscdk/base.ts",
1336
- "line": 397
1336
+ "line": 402
1337
1337
  },
1338
1338
  "name": "renderInstallPackageCommands",
1339
1339
  "parameters": [
@@ -2600,6 +2600,99 @@
2600
2600
  ],
2601
2601
  "symbolId": "src/versioning/computation:ComputationContext"
2602
2602
  },
2603
+ "projen-pipelines.CorepackSetupStep": {
2604
+ "assembly": "projen-pipelines",
2605
+ "base": "projen-pipelines.PipelineStep",
2606
+ "docs": {
2607
+ "remarks": "This step is automatically injected when a project uses Yarn Berry as its package manager.\nIt ensures corepack is enabled in the CI environment before running any yarn commands,\nwhich is required for Yarn Berry (v2+) to work correctly.",
2608
+ "stability": "stable",
2609
+ "summary": "Step to enable corepack for Yarn Berry support."
2610
+ },
2611
+ "fqn": "projen-pipelines.CorepackSetupStep",
2612
+ "initializer": {
2613
+ "docs": {
2614
+ "stability": "stable"
2615
+ },
2616
+ "locationInModule": {
2617
+ "filename": "src/steps/package-manager-setup.step.ts",
2618
+ "line": 52
2619
+ },
2620
+ "parameters": [
2621
+ {
2622
+ "docs": {
2623
+ "summary": "- The projen project reference."
2624
+ },
2625
+ "name": "project",
2626
+ "type": {
2627
+ "fqn": "projen.Project"
2628
+ }
2629
+ }
2630
+ ]
2631
+ },
2632
+ "kind": "class",
2633
+ "locationInModule": {
2634
+ "filename": "src/steps/package-manager-setup.step.ts",
2635
+ "line": 50
2636
+ },
2637
+ "methods": [
2638
+ {
2639
+ "docs": {
2640
+ "remarks": "Should be implemented by subclasses.",
2641
+ "stability": "stable",
2642
+ "summary": "Generates a configuration for a bash script step."
2643
+ },
2644
+ "locationInModule": {
2645
+ "filename": "src/steps/package-manager-setup.step.ts",
2646
+ "line": 76
2647
+ },
2648
+ "name": "toBash",
2649
+ "overrides": "projen-pipelines.PipelineStep",
2650
+ "returns": {
2651
+ "type": {
2652
+ "fqn": "projen-pipelines.BashStepConfig"
2653
+ }
2654
+ }
2655
+ },
2656
+ {
2657
+ "docs": {
2658
+ "remarks": "Should be implemented by subclasses.",
2659
+ "stability": "stable",
2660
+ "summary": "Generates a configuration for a GitHub Actions step."
2661
+ },
2662
+ "locationInModule": {
2663
+ "filename": "src/steps/package-manager-setup.step.ts",
2664
+ "line": 56
2665
+ },
2666
+ "name": "toGithub",
2667
+ "overrides": "projen-pipelines.PipelineStep",
2668
+ "returns": {
2669
+ "type": {
2670
+ "fqn": "projen-pipelines.GithubStepConfig"
2671
+ }
2672
+ }
2673
+ },
2674
+ {
2675
+ "docs": {
2676
+ "remarks": "Should be implemented by subclasses.",
2677
+ "stability": "stable",
2678
+ "summary": "Generates a configuration for a GitLab CI step."
2679
+ },
2680
+ "locationInModule": {
2681
+ "filename": "src/steps/package-manager-setup.step.ts",
2682
+ "line": 67
2683
+ },
2684
+ "name": "toGitlab",
2685
+ "overrides": "projen-pipelines.PipelineStep",
2686
+ "returns": {
2687
+ "type": {
2688
+ "fqn": "projen-pipelines.GitlabStepConfig"
2689
+ }
2690
+ }
2691
+ }
2692
+ ],
2693
+ "name": "CorepackSetupStep",
2694
+ "symbolId": "src/steps/package-manager-setup.step:CorepackSetupStep"
2695
+ },
2603
2696
  "projen-pipelines.CustomVersioningConfig": {
2604
2697
  "assembly": "projen-pipelines",
2605
2698
  "datatype": true,
@@ -8768,6 +8861,6 @@
8768
8861
  "symbolId": "src/versioning/types:VersioningStrategyComponents"
8769
8862
  }
8770
8863
  },
8771
- "version": "0.3.14",
8772
- "fingerprint": "d0jzVwOVlee3Zem09jlr6FE5aP1FAaWkF8pyzcXhw5A="
8864
+ "version": "0.3.15",
8865
+ "fingerprint": "tRwRe5USo7y3OzD8Bz46nLesJz0KQOmbU3s7qk0Urqo="
8773
8866
  }
package/API.md CHANGED
@@ -7098,6 +7098,79 @@ public readonly strategy: VersioningStrategy;
7098
7098
  ---
7099
7099
 
7100
7100
 
7101
+ ### CorepackSetupStep <a name="CorepackSetupStep" id="projen-pipelines.CorepackSetupStep"></a>
7102
+
7103
+ Step to enable corepack for Yarn Berry support.
7104
+
7105
+ This step is automatically injected when a project uses Yarn Berry as its package manager.
7106
+ It ensures corepack is enabled in the CI environment before running any yarn commands,
7107
+ which is required for Yarn Berry (v2+) to work correctly.
7108
+
7109
+ #### Initializers <a name="Initializers" id="projen-pipelines.CorepackSetupStep.Initializer"></a>
7110
+
7111
+ ```typescript
7112
+ import { CorepackSetupStep } from 'projen-pipelines'
7113
+
7114
+ new CorepackSetupStep(project: Project)
7115
+ ```
7116
+
7117
+ | **Name** | **Type** | **Description** |
7118
+ | --- | --- | --- |
7119
+ | <code><a href="#projen-pipelines.CorepackSetupStep.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | - The projen project reference. |
7120
+
7121
+ ---
7122
+
7123
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.CorepackSetupStep.Initializer.parameter.project"></a>
7124
+
7125
+ - *Type:* projen.Project
7126
+
7127
+ The projen project reference.
7128
+
7129
+ ---
7130
+
7131
+ #### Methods <a name="Methods" id="Methods"></a>
7132
+
7133
+ | **Name** | **Description** |
7134
+ | --- | --- |
7135
+ | <code><a href="#projen-pipelines.CorepackSetupStep.toBash">toBash</a></code> | Generates a configuration for a bash script step. |
7136
+ | <code><a href="#projen-pipelines.CorepackSetupStep.toGithub">toGithub</a></code> | Generates a configuration for a GitHub Actions step. |
7137
+ | <code><a href="#projen-pipelines.CorepackSetupStep.toGitlab">toGitlab</a></code> | Generates a configuration for a GitLab CI step. |
7138
+
7139
+ ---
7140
+
7141
+ ##### `toBash` <a name="toBash" id="projen-pipelines.CorepackSetupStep.toBash"></a>
7142
+
7143
+ ```typescript
7144
+ public toBash(): BashStepConfig
7145
+ ```
7146
+
7147
+ Generates a configuration for a bash script step.
7148
+
7149
+ Should be implemented by subclasses.
7150
+
7151
+ ##### `toGithub` <a name="toGithub" id="projen-pipelines.CorepackSetupStep.toGithub"></a>
7152
+
7153
+ ```typescript
7154
+ public toGithub(): GithubStepConfig
7155
+ ```
7156
+
7157
+ Generates a configuration for a GitHub Actions step.
7158
+
7159
+ Should be implemented by subclasses.
7160
+
7161
+ ##### `toGitlab` <a name="toGitlab" id="projen-pipelines.CorepackSetupStep.toGitlab"></a>
7162
+
7163
+ ```typescript
7164
+ public toGitlab(): GitlabStepConfig
7165
+ ```
7166
+
7167
+ Generates a configuration for a GitLab CI step.
7168
+
7169
+ Should be implemented by subclasses.
7170
+
7171
+
7172
+
7173
+
7101
7174
  ### DownloadArtifactStep <a name="DownloadArtifactStep" id="projen-pipelines.DownloadArtifactStep"></a>
7102
7175
 
7103
7176
  #### Initializers <a name="Initializers" id="projen-pipelines.DownloadArtifactStep.Initializer"></a>
@@ -12,5 +12,5 @@ class AssignApprover extends projen_1.Component {
12
12
  }
13
13
  exports.AssignApprover = AssignApprover;
14
14
  _a = JSII_RTTI_SYMBOL_1;
15
- AssignApprover[_a] = { fqn: "projen-pipelines.AssignApprover", version: "0.3.14" };
15
+ AssignApprover[_a] = { fqn: "projen-pipelines.AssignApprover", version: "0.3.15" };
16
16
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ24tYXBwcm92ZXIvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUE0QztBQXVCNUMsTUFBc0IsY0FBZSxTQUFRLGtCQUFTO0lBR3BELFlBQVksS0FBYyxFQUFxQixXQUFrQztRQUMvRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFEZ0MsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBRWpGLENBQUM7O0FBTEgsd0NBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcHJvdmVyTWFwcGluZyB7XG5cbiAgcmVhZG9ubHkgYXV0aG9yOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwcHJvdmVyczogc3RyaW5nW107XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NpZ25BcHByb3Zlck9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgbWFwcGluZyBvZiBhdXRob3JzIHRvIGFwcHJvdmVycy5cbiAgICovXG4gIHJlYWRvbmx5IGFwcHJvdmVyTWFwcGluZzogQXBwcm92ZXJNYXBwaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBHaXRIdWIgdG9rZW4gdG8gdXNlIGZvciB0aGUgQVBJIGNhbGxzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdEFwcHJvdmVyczogc3RyaW5nW107XG5cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzc2lnbkFwcHJvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcblxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBQcm9qZWN0LCBwcm90ZWN0ZWQgcmVhZG9ubHkgYmFzZU9wdGlvbnM6IEFzc2lnbkFwcHJvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHNjb3BlKTtcbiAgfVxuXG59Il19
@@ -81,5 +81,5 @@ if (filteredApprovers.length > 0) {
81
81
  }
82
82
  exports.GitHubAssignApprover = GitHubAssignApprover;
83
83
  _a = JSII_RTTI_SYMBOL_1;
84
- GitHubAssignApprover[_a] = { fqn: "projen-pipelines.GitHubAssignApprover", version: "0.3.14" };
84
+ GitHubAssignApprover[_a] = { fqn: "projen-pipelines.GitHubAssignApprover", version: "0.3.15" };
85
85
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2lnbi1hcHByb3Zlci9naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx1RUFBa0Y7QUFDbEYsaUNBQStEO0FBYS9ELE1BQWEsb0JBQXFCLFNBQVEscUJBQWM7SUFJdEQsWUFBWSxLQUFvQixFQUFFLE9BQW9DO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFdkIsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNmLGlCQUFpQixFQUFFO2dCQUNqQixLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUM7YUFDdEM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU87WUFDTCxZQUFZLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO1NBQ2xDLENBQUM7SUFDSixDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFFbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUU7WUFDdEMsTUFBTSxFQUFFLFVBQVU7WUFDbEIsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNyQyxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztvQkFDdkMsSUFBSSxFQUFFLDBCQUEwQjtvQkFDaEMsSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxxQkFBcUI7cUJBQzlCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsNkJBQTZCO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZTthQUNwRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxNQUFNLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDN0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQjthQUN2RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVkLE9BQU87Ozs7RUFJVCxjQUFjLEdBQUcsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDdkMsZ0JBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxQjlCLENBQUM7SUFDRCxDQUFDOztBQXBGSCxvREFxRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHaXRIdWJQcm9qZWN0LCBHaXRodWJXb3JrZmxvdyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViJztcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24sIEpvYlBlcm1pc3Npb25zIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsJztcbmltcG9ydCB7IEFzc2lnbkFwcHJvdmVyLCBBc3NpZ25BcHByb3Zlck9wdGlvbnMgfSBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdpdEh1YkFzc2lnbkFwcHJvdmVyT3B0aW9ucyBleHRlbmRzIEFzc2lnbkFwcHJvdmVyT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIHJ1bm5lciB0YWdzIHRvIHVzZSB0byBzZWxlY3QgcnVubmVyc1xuICAgKlxuICAgKiBAZGVmYXVsdCBbJ3VidW50dS1sYXRlc3QnXVxuICAgKi9cbiAgcmVhZG9ubHkgcnVubmVyVGFncz86IHN0cmluZ1tdO1xuXG59XG5cbmV4cG9ydCBjbGFzcyBHaXRIdWJBc3NpZ25BcHByb3ZlciBleHRlbmRzIEFzc2lnbkFwcHJvdmVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrZmxvdzogR2l0aHViV29ya2Zsb3c7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogR2l0SHViQXNzaWduQXBwcm92ZXJPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBHaXRIdWJQcm9qZWN0LCBvcHRpb25zOiBHaXRIdWJBc3NpZ25BcHByb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgb3B0aW9ucyk7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcblxuICAgIC8vIEluaXRpYWxpemUgdGhlIGRlcGxveW1lbnQgd29ya2Zsb3cgb24gR2l0SHViLlxuICAgIHRoaXMud29ya2Zsb3cgPSBzY29wZS5naXRodWIhLmFkZFdvcmtmbG93KCdhc3NpZ24tYXBwcm92ZXInKTtcbiAgICB0aGlzLndvcmtmbG93Lm9uKHtcbiAgICAgIHB1bGxSZXF1ZXN0VGFyZ2V0OiB7XG4gICAgICAgIHR5cGVzOiBbJ29wZW5lZCcsICdyZWFkeV9mb3JfcmV2aWV3J10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZXR1cFdvcmtmbG93KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSByZXF1aXJlZCBwZXJtaXNzaW9ucyBmb3IgdGhlIEdpdEh1YiB3b3JrZmxvd1xuICAgKi9cbiAgcHVibGljIHJlbmRlclBlcm1pc3Npb25zKCk6IEpvYlBlcm1pc3Npb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHVsbFJlcXVlc3RzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBXb3JrZmxvdygpOiB2b2lkIHtcbiAgICBjb25zdCBydW5uZXJUYWdzID0gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gWyd1YnVudHUtbGF0ZXN0J107XG5cbiAgICBjb25zdCBhcHByb3Zlck1hcHBpbmdTY3JpcHQgPSB0aGlzLmdlbmVyYXRlQXBwcm92ZXJNYXBwaW5nU2NyaXB0KCk7XG5cbiAgICB0aGlzLndvcmtmbG93LmFkZEpvYignYXNzaWduLWFwcHJvdmVyJywge1xuICAgICAgcnVuc09uOiBydW5uZXJUYWdzLFxuICAgICAgcGVybWlzc2lvbnM6IHRoaXMucmVuZGVyUGVybWlzc2lvbnMoKSxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQXNzaWduIGFwcHJvdmVyIGJhc2VkIG9uIGF1dGhvcicsXG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvZ2l0aHViLXNjcmlwdEB2OCcsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgc2NyaXB0OiBhcHByb3Zlck1hcHBpbmdTY3JpcHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2VuZXJhdGVBcHByb3Zlck1hcHBpbmdTY3JpcHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXBwaW5nRW50cmllcyA9IHRoaXMuYmFzZU9wdGlvbnMuYXBwcm92ZXJNYXBwaW5nXG4gICAgICAubWFwKG1hcHBpbmcgPT4gYCAgJyR7bWFwcGluZy5hdXRob3J9JzogWyR7bWFwcGluZy5hcHByb3ZlcnMubWFwKGEgPT4gYCcke2F9J2ApLmpvaW4oJywgJyl9XWApXG4gICAgICAuam9pbignLFxcbicpO1xuXG4gICAgY29uc3QgZGVmYXVsdEFwcHJvdmVycyA9IHRoaXMuYmFzZU9wdGlvbnMuZGVmYXVsdEFwcHJvdmVyc1xuICAgICAgLm1hcChhID0+IGAnJHthfSdgKVxuICAgICAgLmpvaW4oJywgJyk7XG5cbiAgICByZXR1cm4gYGNvbnN0IGF1dGhvciA9IGNvbnRleHQucGF5bG9hZC5wdWxsX3JlcXVlc3QudXNlci5sb2dpbjtcblxuLy8gRGVmaW5lIGFwcHJvdmVyIG1hcHBpbmdcbmNvbnN0IGFwcHJvdmVyTWFwcGluZyA9IHtcbiR7bWFwcGluZ0VudHJpZXN9JHttYXBwaW5nRW50cmllcy5sZW5ndGggPiAwID8gJywnIDogJyd9XG4gICdkZWZhdWx0JzogWyR7ZGVmYXVsdEFwcHJvdmVyc31dIC8vIERlZmF1bHQgYXBwcm92ZXIocykgaWYgYXV0aG9yIG5vdCBpbiBtYXBwaW5nXG59O1xuXG4vLyBHZXQgYXBwcm92ZXJzIGZvciB0aGUgUFIgYXV0aG9yXG5jb25zdCBhcHByb3ZlcnMgPSBhcHByb3Zlck1hcHBpbmdbYXV0aG9yXSB8fCBhcHByb3Zlck1hcHBpbmdbJ2RlZmF1bHQnXTtcblxuLy8gRmlsdGVyIG91dCB0aGUgYXV0aG9yIGZyb20gYXBwcm92ZXJzIGxpc3QgKGNhbid0IGFwcHJvdmUgb3duIFBSKVxuY29uc3QgZmlsdGVyZWRBcHByb3ZlcnMgPSBhcHByb3ZlcnMuZmlsdGVyKGFwcHJvdmVyID0+IGFwcHJvdmVyICE9PSBhdXRob3IpO1xuXG5pZiAoZmlsdGVyZWRBcHByb3ZlcnMubGVuZ3RoID4gMCkge1xuICAvLyBSZXF1ZXN0IHJldmlld3MgZnJvbSB0aGUgYXBwcm92ZXJzXG4gIGF3YWl0IGdpdGh1Yi5yZXN0LnB1bGxzLnJlcXVlc3RSZXZpZXdlcnMoe1xuICAgIG93bmVyOiBjb250ZXh0LnJlcG8ub3duZXIsXG4gICAgcmVwbzogY29udGV4dC5yZXBvLnJlcG8sXG4gICAgcHVsbF9udW1iZXI6IGNvbnRleHQuaXNzdWUubnVtYmVyLFxuICAgIHJldmlld2VyczogZmlsdGVyZWRBcHByb3ZlcnNcbiAgfSk7XG4gIFxuICBjb25zb2xlLmxvZyhcXGBBc3NpZ25lZCByZXZpZXdlcnM6IFxcJHtmaWx0ZXJlZEFwcHJvdmVycy5qb2luKCcsICcpfVxcYCk7XG59IGVsc2Uge1xuICBjb25zb2xlLmxvZygnTm8gZWxpZ2libGUgcmV2aWV3ZXJzIGZvdW5kIGZvciB0aGlzIFBSIGF1dGhvcicpO1xufWA7XG4gIH1cbn1cbiJdfQ==