projen-pipelines 0.3.5 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -1008,7 +1008,7 @@
1008
1008
  },
1009
1009
  "locationInModule": {
1010
1010
  "filename": "src/awscdk/base.ts",
1011
- "line": 388
1011
+ "line": 399
1012
1012
  },
1013
1013
  "name": "createApplicationEntrypoint",
1014
1014
  "protected": true
@@ -1020,7 +1020,7 @@
1020
1020
  },
1021
1021
  "locationInModule": {
1022
1022
  "filename": "src/awscdk/base.ts",
1023
- "line": 594
1023
+ "line": 605
1024
1024
  },
1025
1025
  "name": "createFeatureStage",
1026
1026
  "protected": true
@@ -1032,7 +1032,7 @@
1032
1032
  },
1033
1033
  "locationInModule": {
1034
1034
  "filename": "src/awscdk/base.ts",
1035
- "line": 643
1035
+ "line": 654
1036
1036
  },
1037
1037
  "name": "createIndependentStage",
1038
1038
  "parameters": [
@@ -1055,7 +1055,7 @@
1055
1055
  },
1056
1056
  "locationInModule": {
1057
1057
  "filename": "src/awscdk/base.ts",
1058
- "line": 571
1058
+ "line": 582
1059
1059
  },
1060
1060
  "name": "createPersonalStage",
1061
1061
  "protected": true
@@ -1067,7 +1067,7 @@
1067
1067
  },
1068
1068
  "locationInModule": {
1069
1069
  "filename": "src/awscdk/base.ts",
1070
- "line": 617
1070
+ "line": 628
1071
1071
  },
1072
1072
  "name": "createPipelineStage",
1073
1073
  "parameters": [
@@ -1090,7 +1090,7 @@
1090
1090
  },
1091
1091
  "locationInModule": {
1092
1092
  "filename": "src/awscdk/base.ts",
1093
- "line": 516
1093
+ "line": 527
1094
1094
  },
1095
1095
  "name": "createReleaseTasks",
1096
1096
  "protected": true
@@ -1101,7 +1101,7 @@
1101
1101
  },
1102
1102
  "locationInModule": {
1103
1103
  "filename": "src/awscdk/base.ts",
1104
- "line": 374
1104
+ "line": 385
1105
1105
  },
1106
1106
  "name": "createSafeStageName",
1107
1107
  "parameters": [
@@ -1126,7 +1126,7 @@
1126
1126
  },
1127
1127
  "locationInModule": {
1128
1128
  "filename": "src/awscdk/base.ts",
1129
- "line": 676
1129
+ "line": 687
1130
1130
  },
1131
1131
  "name": "createVersionFetchTask",
1132
1132
  "parameters": [
@@ -1162,7 +1162,7 @@
1162
1162
  },
1163
1163
  "locationInModule": {
1164
1164
  "filename": "src/awscdk/base.ts",
1165
- "line": 722
1165
+ "line": 733
1166
1166
  },
1167
1167
  "name": "generateVersioningAppCode",
1168
1168
  "parameters": [
@@ -1186,7 +1186,7 @@
1186
1186
  },
1187
1187
  "locationInModule": {
1188
1188
  "filename": "src/awscdk/base.ts",
1189
- "line": 736
1189
+ "line": 747
1190
1190
  },
1191
1191
  "name": "generateVersioningImports",
1192
1192
  "returns": {
@@ -1202,7 +1202,7 @@
1202
1202
  },
1203
1203
  "locationInModule": {
1204
1204
  "filename": "src/awscdk/base.ts",
1205
- "line": 749
1205
+ "line": 760
1206
1206
  },
1207
1207
  "name": "generateVersioningUtilities",
1208
1208
  "returns": {
@@ -1217,7 +1217,7 @@
1217
1217
  },
1218
1218
  "locationInModule": {
1219
1219
  "filename": "src/awscdk/base.ts",
1220
- "line": 665
1220
+ "line": 676
1221
1221
  },
1222
1222
  "name": "getCliStackPattern",
1223
1223
  "parameters": [
@@ -1241,7 +1241,7 @@
1241
1241
  },
1242
1242
  "locationInModule": {
1243
1243
  "filename": "src/awscdk/base.ts",
1244
- "line": 319
1244
+ "line": 327
1245
1245
  },
1246
1246
  "name": "provideAssemblyUploadStep",
1247
1247
  "protected": true,
@@ -1257,7 +1257,7 @@
1257
1257
  },
1258
1258
  "locationInModule": {
1259
1259
  "filename": "src/awscdk/base.ts",
1260
- "line": 285
1260
+ "line": 293
1261
1261
  },
1262
1262
  "name": "provideAssetUploadStep",
1263
1263
  "parameters": [
@@ -1282,7 +1282,7 @@
1282
1282
  },
1283
1283
  "locationInModule": {
1284
1284
  "filename": "src/awscdk/base.ts",
1285
- "line": 329
1285
+ "line": 337
1286
1286
  },
1287
1287
  "name": "provideDeployStep",
1288
1288
  "parameters": [
@@ -1306,7 +1306,7 @@
1306
1306
  },
1307
1307
  "locationInModule": {
1308
1308
  "filename": "src/awscdk/base.ts",
1309
- "line": 341
1309
+ "line": 349
1310
1310
  },
1311
1311
  "name": "provideDiffStep",
1312
1312
  "parameters": [
@@ -1353,7 +1353,7 @@
1353
1353
  },
1354
1354
  "locationInModule": {
1355
1355
  "filename": "src/awscdk/base.ts",
1356
- "line": 261
1356
+ "line": 269
1357
1357
  },
1358
1358
  "name": "provideSynthStep",
1359
1359
  "protected": true,
@@ -1369,7 +1369,7 @@
1369
1369
  },
1370
1370
  "locationInModule": {
1371
1371
  "filename": "src/awscdk/base.ts",
1372
- "line": 355
1372
+ "line": 363
1373
1373
  },
1374
1374
  "name": "renderInstallPackageCommands",
1375
1375
  "parameters": [
@@ -6361,6 +6361,106 @@
6361
6361
  ],
6362
6362
  "symbolId": "src/steps/step:PipelineStep"
6363
6363
  },
6364
+ "projen-pipelines.PnpmSetupStep": {
6365
+ "assembly": "projen-pipelines",
6366
+ "base": "projen-pipelines.PipelineStep",
6367
+ "docs": {
6368
+ "remarks": "This step is automatically injected when a project uses pnpm as its package manager.\nIt ensures pnpm is available in the GitHub Actions workflow environment before\nrunning any install commands.",
6369
+ "stability": "stable",
6370
+ "summary": "Step to setup pnpm using the pnpm/action-setup GitHub Action."
6371
+ },
6372
+ "fqn": "projen-pipelines.PnpmSetupStep",
6373
+ "initializer": {
6374
+ "docs": {
6375
+ "stability": "stable"
6376
+ },
6377
+ "locationInModule": {
6378
+ "filename": "src/steps/package-manager-setup.step.ts",
6379
+ "line": 24
6380
+ },
6381
+ "parameters": [
6382
+ {
6383
+ "docs": {
6384
+ "summary": "- The projen project reference."
6385
+ },
6386
+ "name": "project",
6387
+ "type": {
6388
+ "fqn": "projen.Project"
6389
+ }
6390
+ },
6391
+ {
6392
+ "name": "options",
6393
+ "optional": true,
6394
+ "type": {
6395
+ "fqn": "projen-pipelines.PnpmSetupStepOptions"
6396
+ }
6397
+ }
6398
+ ]
6399
+ },
6400
+ "kind": "class",
6401
+ "locationInModule": {
6402
+ "filename": "src/steps/package-manager-setup.step.ts",
6403
+ "line": 22
6404
+ },
6405
+ "methods": [
6406
+ {
6407
+ "docs": {
6408
+ "remarks": "Should be implemented by subclasses.",
6409
+ "stability": "stable",
6410
+ "summary": "Generates a configuration for a GitHub Actions step."
6411
+ },
6412
+ "locationInModule": {
6413
+ "filename": "src/steps/package-manager-setup.step.ts",
6414
+ "line": 28
6415
+ },
6416
+ "name": "toGithub",
6417
+ "overrides": "projen-pipelines.PipelineStep",
6418
+ "returns": {
6419
+ "type": {
6420
+ "fqn": "projen-pipelines.GithubStepConfig"
6421
+ }
6422
+ }
6423
+ }
6424
+ ],
6425
+ "name": "PnpmSetupStep",
6426
+ "symbolId": "src/steps/package-manager-setup.step:PnpmSetupStep"
6427
+ },
6428
+ "projen-pipelines.PnpmSetupStepOptions": {
6429
+ "assembly": "projen-pipelines",
6430
+ "datatype": true,
6431
+ "docs": {
6432
+ "stability": "stable",
6433
+ "summary": "Options for the PnpmSetupStep."
6434
+ },
6435
+ "fqn": "projen-pipelines.PnpmSetupStepOptions",
6436
+ "kind": "interface",
6437
+ "locationInModule": {
6438
+ "filename": "src/steps/package-manager-setup.step.ts",
6439
+ "line": 7
6440
+ },
6441
+ "name": "PnpmSetupStepOptions",
6442
+ "properties": [
6443
+ {
6444
+ "abstract": true,
6445
+ "docs": {
6446
+ "remarks": "If not provided, defaults to '9'.",
6447
+ "stability": "stable",
6448
+ "summary": "The version of pnpm to install."
6449
+ },
6450
+ "immutable": true,
6451
+ "locationInModule": {
6452
+ "filename": "src/steps/package-manager-setup.step.ts",
6453
+ "line": 12
6454
+ },
6455
+ "name": "version",
6456
+ "optional": true,
6457
+ "type": {
6458
+ "primitive": "string"
6459
+ }
6460
+ }
6461
+ ],
6462
+ "symbolId": "src/steps/package-manager-setup.step:PnpmSetupStepOptions"
6463
+ },
6364
6464
  "projen-pipelines.ProjenScriptStep": {
6365
6465
  "assembly": "projen-pipelines",
6366
6466
  "base": "projen-pipelines.SimpleCommandStep",
@@ -8643,6 +8743,6 @@
8643
8743
  "symbolId": "src/versioning/types:VersioningStrategyComponents"
8644
8744
  }
8645
8745
  },
8646
- "version": "0.3.5",
8647
- "fingerprint": "REpDBLlnRd/mpqboKQ3YL+JvLdzG5A4gPSdLRPUCzys="
8746
+ "version": "0.3.6",
8747
+ "fingerprint": "5DKqc/qvzfw2QJHHe4eO8hXAny1M0Wy/28gEO+NBMfA="
8648
8748
  }
package/API.md CHANGED
@@ -5988,6 +5988,40 @@ public readonly splitParameters: boolean;
5988
5988
 
5989
5989
  ---
5990
5990
 
5991
+ ### PnpmSetupStepOptions <a name="PnpmSetupStepOptions" id="projen-pipelines.PnpmSetupStepOptions"></a>
5992
+
5993
+ Options for the PnpmSetupStep.
5994
+
5995
+ #### Initializer <a name="Initializer" id="projen-pipelines.PnpmSetupStepOptions.Initializer"></a>
5996
+
5997
+ ```typescript
5998
+ import { PnpmSetupStepOptions } from 'projen-pipelines'
5999
+
6000
+ const pnpmSetupStepOptions: PnpmSetupStepOptions = { ... }
6001
+ ```
6002
+
6003
+ #### Properties <a name="Properties" id="Properties"></a>
6004
+
6005
+ | **Name** | **Type** | **Description** |
6006
+ | --- | --- | --- |
6007
+ | <code><a href="#projen-pipelines.PnpmSetupStepOptions.property.version">version</a></code> | <code>string</code> | The version of pnpm to install. |
6008
+
6009
+ ---
6010
+
6011
+ ##### `version`<sup>Optional</sup> <a name="version" id="projen-pipelines.PnpmSetupStepOptions.property.version"></a>
6012
+
6013
+ ```typescript
6014
+ public readonly version: string;
6015
+ ```
6016
+
6017
+ - *Type:* string
6018
+
6019
+ The version of pnpm to install.
6020
+
6021
+ If not provided, defaults to '9'.
6022
+
6023
+ ---
6024
+
5991
6025
  ### StageOptions <a name="StageOptions" id="projen-pipelines.StageOptions"></a>
5992
6026
 
5993
6027
  Options for a CDK stage like the target environment.
@@ -7439,6 +7473,97 @@ Should be implemented by subclasses.
7439
7473
 
7440
7474
 
7441
7475
 
7476
+ ### PnpmSetupStep <a name="PnpmSetupStep" id="projen-pipelines.PnpmSetupStep"></a>
7477
+
7478
+ Step to setup pnpm using the pnpm/action-setup GitHub Action.
7479
+
7480
+ This step is automatically injected when a project uses pnpm as its package manager.
7481
+ It ensures pnpm is available in the GitHub Actions workflow environment before
7482
+ running any install commands.
7483
+
7484
+ #### Initializers <a name="Initializers" id="projen-pipelines.PnpmSetupStep.Initializer"></a>
7485
+
7486
+ ```typescript
7487
+ import { PnpmSetupStep } from 'projen-pipelines'
7488
+
7489
+ new PnpmSetupStep(project: Project, options?: PnpmSetupStepOptions)
7490
+ ```
7491
+
7492
+ | **Name** | **Type** | **Description** |
7493
+ | --- | --- | --- |
7494
+ | <code><a href="#projen-pipelines.PnpmSetupStep.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | - The projen project reference. |
7495
+ | <code><a href="#projen-pipelines.PnpmSetupStep.Initializer.parameter.options">options</a></code> | <code><a href="#projen-pipelines.PnpmSetupStepOptions">PnpmSetupStepOptions</a></code> | *No description.* |
7496
+
7497
+ ---
7498
+
7499
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.PnpmSetupStep.Initializer.parameter.project"></a>
7500
+
7501
+ - *Type:* projen.Project
7502
+
7503
+ The projen project reference.
7504
+
7505
+ ---
7506
+
7507
+ ##### `options`<sup>Optional</sup> <a name="options" id="projen-pipelines.PnpmSetupStep.Initializer.parameter.options"></a>
7508
+
7509
+ - *Type:* <a href="#projen-pipelines.PnpmSetupStepOptions">PnpmSetupStepOptions</a>
7510
+
7511
+ ---
7512
+
7513
+ #### Methods <a name="Methods" id="Methods"></a>
7514
+
7515
+ | **Name** | **Description** |
7516
+ | --- | --- |
7517
+ | <code><a href="#projen-pipelines.PnpmSetupStep.toBash">toBash</a></code> | Generates a configuration for a bash script step. |
7518
+ | <code><a href="#projen-pipelines.PnpmSetupStep.toCodeCatalyst">toCodeCatalyst</a></code> | Generates a configuration for a CodeCatalyst Actions step. |
7519
+ | <code><a href="#projen-pipelines.PnpmSetupStep.toGithub">toGithub</a></code> | Generates a configuration for a GitHub Actions step. |
7520
+ | <code><a href="#projen-pipelines.PnpmSetupStep.toGitlab">toGitlab</a></code> | Generates a configuration for a GitLab CI step. |
7521
+
7522
+ ---
7523
+
7524
+ ##### `toBash` <a name="toBash" id="projen-pipelines.PnpmSetupStep.toBash"></a>
7525
+
7526
+ ```typescript
7527
+ public toBash(): BashStepConfig
7528
+ ```
7529
+
7530
+ Generates a configuration for a bash script step.
7531
+
7532
+ Should be implemented by subclasses.
7533
+
7534
+ ##### `toCodeCatalyst` <a name="toCodeCatalyst" id="projen-pipelines.PnpmSetupStep.toCodeCatalyst"></a>
7535
+
7536
+ ```typescript
7537
+ public toCodeCatalyst(): CodeCatalystStepConfig
7538
+ ```
7539
+
7540
+ Generates a configuration for a CodeCatalyst Actions step.
7541
+
7542
+ Should be implemented by subclasses.
7543
+
7544
+ ##### `toGithub` <a name="toGithub" id="projen-pipelines.PnpmSetupStep.toGithub"></a>
7545
+
7546
+ ```typescript
7547
+ public toGithub(): GithubStepConfig
7548
+ ```
7549
+
7550
+ Generates a configuration for a GitHub Actions step.
7551
+
7552
+ Should be implemented by subclasses.
7553
+
7554
+ ##### `toGitlab` <a name="toGitlab" id="projen-pipelines.PnpmSetupStep.toGitlab"></a>
7555
+
7556
+ ```typescript
7557
+ public toGitlab(): GitlabStepConfig
7558
+ ```
7559
+
7560
+ Generates a configuration for a GitLab CI step.
7561
+
7562
+ Should be implemented by subclasses.
7563
+
7564
+
7565
+
7566
+
7442
7567
  ### ProjenScriptStep <a name="ProjenScriptStep" id="projen-pipelines.ProjenScriptStep"></a>
7443
7568
 
7444
7569
  #### Initializers <a name="Initializers" id="projen-pipelines.ProjenScriptStep.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.5" };
15
+ AssignApprover[_a] = { fqn: "projen-pipelines.AssignApprover", version: "0.3.6" };
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.5" };
84
+ GitHubAssignApprover[_a] = { fqn: "projen-pipelines.GitHubAssignApprover", version: "0.3.6" };
85
85
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2lnbi1hcHByb3Zlci9naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx1RUFBa0Y7QUFDbEYsaUNBQStEO0FBYS9ELE1BQWEsb0JBQXFCLFNBQVEscUJBQWM7SUFJdEQsWUFBWSxLQUFvQixFQUFFLE9BQW9DO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFdkIsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNmLGlCQUFpQixFQUFFO2dCQUNqQixLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUM7YUFDdEM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU87WUFDTCxZQUFZLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO1NBQ2xDLENBQUM7SUFDSixDQUFDO0lBRVMsYUFBYTtRQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFFbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUU7WUFDdEMsTUFBTSxFQUFFLFVBQVU7WUFDbEIsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNyQyxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztvQkFDdkMsSUFBSSxFQUFFLDBCQUEwQjtvQkFDaEMsSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxxQkFBcUI7cUJBQzlCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsNkJBQTZCO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZTthQUNwRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxNQUFNLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDN0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQjthQUN2RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVkLE9BQU87Ozs7RUFJVCxjQUFjLEdBQUcsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDdkMsZ0JBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxQjlCLENBQUM7SUFDRCxDQUFDOztBQXBGSCxvREFxRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHaXRIdWJQcm9qZWN0LCBHaXRodWJXb3JrZmxvdyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViJztcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24sIEpvYlBlcm1pc3Npb25zIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsJztcbmltcG9ydCB7IEFzc2lnbkFwcHJvdmVyLCBBc3NpZ25BcHByb3Zlck9wdGlvbnMgfSBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdpdEh1YkFzc2lnbkFwcHJvdmVyT3B0aW9ucyBleHRlbmRzIEFzc2lnbkFwcHJvdmVyT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIHJ1bm5lciB0YWdzIHRvIHVzZSB0byBzZWxlY3QgcnVubmVyc1xuICAgKlxuICAgKiBAZGVmYXVsdCBbJ3VidW50dS1sYXRlc3QnXVxuICAgKi9cbiAgcmVhZG9ubHkgcnVubmVyVGFncz86IHN0cmluZ1tdO1xuXG59XG5cbmV4cG9ydCBjbGFzcyBHaXRIdWJBc3NpZ25BcHByb3ZlciBleHRlbmRzIEFzc2lnbkFwcHJvdmVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrZmxvdzogR2l0aHViV29ya2Zsb3c7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogR2l0SHViQXNzaWduQXBwcm92ZXJPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBHaXRIdWJQcm9qZWN0LCBvcHRpb25zOiBHaXRIdWJBc3NpZ25BcHByb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgb3B0aW9ucyk7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcblxuICAgIC8vIEluaXRpYWxpemUgdGhlIGRlcGxveW1lbnQgd29ya2Zsb3cgb24gR2l0SHViLlxuICAgIHRoaXMud29ya2Zsb3cgPSBzY29wZS5naXRodWIhLmFkZFdvcmtmbG93KCdhc3NpZ24tYXBwcm92ZXInKTtcbiAgICB0aGlzLndvcmtmbG93Lm9uKHtcbiAgICAgIHB1bGxSZXF1ZXN0VGFyZ2V0OiB7XG4gICAgICAgIHR5cGVzOiBbJ29wZW5lZCcsICdyZWFkeV9mb3JfcmV2aWV3J10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZXR1cFdvcmtmbG93KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSByZXF1aXJlZCBwZXJtaXNzaW9ucyBmb3IgdGhlIEdpdEh1YiB3b3JrZmxvd1xuICAgKi9cbiAgcHVibGljIHJlbmRlclBlcm1pc3Npb25zKCk6IEpvYlBlcm1pc3Npb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHVsbFJlcXVlc3RzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBXb3JrZmxvdygpOiB2b2lkIHtcbiAgICBjb25zdCBydW5uZXJUYWdzID0gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gWyd1YnVudHUtbGF0ZXN0J107XG5cbiAgICBjb25zdCBhcHByb3Zlck1hcHBpbmdTY3JpcHQgPSB0aGlzLmdlbmVyYXRlQXBwcm92ZXJNYXBwaW5nU2NyaXB0KCk7XG5cbiAgICB0aGlzLndvcmtmbG93LmFkZEpvYignYXNzaWduLWFwcHJvdmVyJywge1xuICAgICAgcnVuc09uOiBydW5uZXJUYWdzLFxuICAgICAgcGVybWlzc2lvbnM6IHRoaXMucmVuZGVyUGVybWlzc2lvbnMoKSxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQXNzaWduIGFwcHJvdmVyIGJhc2VkIG9uIGF1dGhvcicsXG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvZ2l0aHViLXNjcmlwdEB2OCcsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgc2NyaXB0OiBhcHByb3Zlck1hcHBpbmdTY3JpcHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2VuZXJhdGVBcHByb3Zlck1hcHBpbmdTY3JpcHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXBwaW5nRW50cmllcyA9IHRoaXMuYmFzZU9wdGlvbnMuYXBwcm92ZXJNYXBwaW5nXG4gICAgICAubWFwKG1hcHBpbmcgPT4gYCAgJyR7bWFwcGluZy5hdXRob3J9JzogWyR7bWFwcGluZy5hcHByb3ZlcnMubWFwKGEgPT4gYCcke2F9J2ApLmpvaW4oJywgJyl9XWApXG4gICAgICAuam9pbignLFxcbicpO1xuXG4gICAgY29uc3QgZGVmYXVsdEFwcHJvdmVycyA9IHRoaXMuYmFzZU9wdGlvbnMuZGVmYXVsdEFwcHJvdmVyc1xuICAgICAgLm1hcChhID0+IGAnJHthfSdgKVxuICAgICAgLmpvaW4oJywgJyk7XG5cbiAgICByZXR1cm4gYGNvbnN0IGF1dGhvciA9IGNvbnRleHQucGF5bG9hZC5wdWxsX3JlcXVlc3QudXNlci5sb2dpbjtcblxuLy8gRGVmaW5lIGFwcHJvdmVyIG1hcHBpbmdcbmNvbnN0IGFwcHJvdmVyTWFwcGluZyA9IHtcbiR7bWFwcGluZ0VudHJpZXN9JHttYXBwaW5nRW50cmllcy5sZW5ndGggPiAwID8gJywnIDogJyd9XG4gICdkZWZhdWx0JzogWyR7ZGVmYXVsdEFwcHJvdmVyc31dIC8vIERlZmF1bHQgYXBwcm92ZXIocykgaWYgYXV0aG9yIG5vdCBpbiBtYXBwaW5nXG59O1xuXG4vLyBHZXQgYXBwcm92ZXJzIGZvciB0aGUgUFIgYXV0aG9yXG5jb25zdCBhcHByb3ZlcnMgPSBhcHByb3Zlck1hcHBpbmdbYXV0aG9yXSB8fCBhcHByb3Zlck1hcHBpbmdbJ2RlZmF1bHQnXTtcblxuLy8gRmlsdGVyIG91dCB0aGUgYXV0aG9yIGZyb20gYXBwcm92ZXJzIGxpc3QgKGNhbid0IGFwcHJvdmUgb3duIFBSKVxuY29uc3QgZmlsdGVyZWRBcHByb3ZlcnMgPSBhcHByb3ZlcnMuZmlsdGVyKGFwcHJvdmVyID0+IGFwcHJvdmVyICE9PSBhdXRob3IpO1xuXG5pZiAoZmlsdGVyZWRBcHByb3ZlcnMubGVuZ3RoID4gMCkge1xuICAvLyBSZXF1ZXN0IHJldmlld3MgZnJvbSB0aGUgYXBwcm92ZXJzXG4gIGF3YWl0IGdpdGh1Yi5yZXN0LnB1bGxzLnJlcXVlc3RSZXZpZXdlcnMoe1xuICAgIG93bmVyOiBjb250ZXh0LnJlcG8ub3duZXIsXG4gICAgcmVwbzogY29udGV4dC5yZXBvLnJlcG8sXG4gICAgcHVsbF9udW1iZXI6IGNvbnRleHQuaXNzdWUubnVtYmVyLFxuICAgIHJldmlld2VyczogZmlsdGVyZWRBcHByb3ZlcnNcbiAgfSk7XG4gIFxuICBjb25zb2xlLmxvZyhcXGBBc3NpZ25lZCByZXZpZXdlcnM6IFxcJHtmaWx0ZXJlZEFwcHJvdmVycy5qb2luKCcsICcpfVxcYCk7XG59IGVsc2Uge1xuICBjb25zb2xlLmxvZygnTm8gZWxpZ2libGUgcmV2aWV3ZXJzIGZvdW5kIGZvciB0aGlzIFBSIGF1dGhvcicpO1xufWA7XG4gIH1cbn1cbiJdfQ==