deployable-awscdk-app-ts 0.1.207 → 0.1.208

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 (68) hide show
  1. package/.jsii +43 -22
  2. package/.projenrc.ts +3 -0
  3. package/API.md +16 -0
  4. package/lib/index.d.ts +1 -0
  5. package/lib/index.js +18 -2
  6. package/lib/types.d.ts +8 -0
  7. package/lib/types.js +1 -1
  8. package/node_modules/semver/LICENSE +15 -0
  9. package/node_modules/semver/README.md +637 -0
  10. package/node_modules/semver/bin/semver.js +197 -0
  11. package/node_modules/semver/classes/comparator.js +141 -0
  12. package/node_modules/semver/classes/index.js +5 -0
  13. package/node_modules/semver/classes/range.js +539 -0
  14. package/node_modules/semver/classes/semver.js +302 -0
  15. package/node_modules/semver/functions/clean.js +6 -0
  16. package/node_modules/semver/functions/cmp.js +52 -0
  17. package/node_modules/semver/functions/coerce.js +52 -0
  18. package/node_modules/semver/functions/compare-build.js +7 -0
  19. package/node_modules/semver/functions/compare-loose.js +3 -0
  20. package/node_modules/semver/functions/compare.js +5 -0
  21. package/node_modules/semver/functions/diff.js +65 -0
  22. package/node_modules/semver/functions/eq.js +3 -0
  23. package/node_modules/semver/functions/gt.js +3 -0
  24. package/node_modules/semver/functions/gte.js +3 -0
  25. package/node_modules/semver/functions/inc.js +19 -0
  26. package/node_modules/semver/functions/lt.js +3 -0
  27. package/node_modules/semver/functions/lte.js +3 -0
  28. package/node_modules/semver/functions/major.js +3 -0
  29. package/node_modules/semver/functions/minor.js +3 -0
  30. package/node_modules/semver/functions/neq.js +3 -0
  31. package/node_modules/semver/functions/parse.js +16 -0
  32. package/node_modules/semver/functions/patch.js +3 -0
  33. package/node_modules/semver/functions/prerelease.js +6 -0
  34. package/node_modules/semver/functions/rcompare.js +3 -0
  35. package/node_modules/semver/functions/rsort.js +3 -0
  36. package/node_modules/semver/functions/satisfies.js +10 -0
  37. package/node_modules/semver/functions/sort.js +3 -0
  38. package/node_modules/semver/functions/valid.js +6 -0
  39. package/node_modules/semver/index.js +89 -0
  40. package/node_modules/semver/internal/constants.js +35 -0
  41. package/node_modules/semver/internal/debug.js +9 -0
  42. package/node_modules/semver/internal/identifiers.js +23 -0
  43. package/node_modules/semver/internal/parse-options.js +15 -0
  44. package/node_modules/semver/internal/re.js +212 -0
  45. package/node_modules/semver/node_modules/lru-cache/LICENSE +15 -0
  46. package/node_modules/semver/node_modules/lru-cache/README.md +166 -0
  47. package/node_modules/semver/node_modules/lru-cache/index.js +334 -0
  48. package/node_modules/semver/node_modules/lru-cache/package.json +34 -0
  49. package/node_modules/semver/node_modules/yallist/LICENSE +15 -0
  50. package/node_modules/semver/node_modules/yallist/README.md +204 -0
  51. package/node_modules/semver/node_modules/yallist/iterator.js +8 -0
  52. package/node_modules/semver/node_modules/yallist/package.json +29 -0
  53. package/node_modules/semver/node_modules/yallist/yallist.js +426 -0
  54. package/node_modules/semver/package.json +87 -0
  55. package/node_modules/semver/preload.js +2 -0
  56. package/node_modules/semver/range.bnf +16 -0
  57. package/node_modules/semver/ranges/gtr.js +4 -0
  58. package/node_modules/semver/ranges/intersects.js +7 -0
  59. package/node_modules/semver/ranges/ltr.js +4 -0
  60. package/node_modules/semver/ranges/max-satisfying.js +25 -0
  61. package/node_modules/semver/ranges/min-satisfying.js +24 -0
  62. package/node_modules/semver/ranges/min-version.js +61 -0
  63. package/node_modules/semver/ranges/outside.js +80 -0
  64. package/node_modules/semver/ranges/simplify.js +47 -0
  65. package/node_modules/semver/ranges/subset.js +247 -0
  66. package/node_modules/semver/ranges/to-comparators.js +8 -0
  67. package/node_modules/semver/ranges/valid.js +11 -0
  68. package/package.json +6 -2
package/.jsii CHANGED
@@ -6,6 +6,9 @@
6
6
  "author"
7
7
  ]
8
8
  },
9
+ "bundled": {
10
+ "semver": "^7.5.4"
11
+ },
9
12
  "dependencies": {
10
13
  "projen": "^0.72.1"
11
14
  },
@@ -96,7 +99,7 @@
96
99
  "kind": "interface",
97
100
  "locationInModule": {
98
101
  "filename": "src/types.ts",
99
- "line": 89
102
+ "line": 98
100
103
  },
101
104
  "name": "AWSCredentials",
102
105
  "properties": [
@@ -110,7 +113,7 @@
110
113
  "immutable": true,
111
114
  "locationInModule": {
112
115
  "filename": "src/types.ts",
113
- "line": 117
116
+ "line": 126
114
117
  },
115
118
  "name": "region",
116
119
  "type": {
@@ -127,7 +130,7 @@
127
130
  "immutable": true,
128
131
  "locationInModule": {
129
132
  "filename": "src/types.ts",
130
- "line": 94
133
+ "line": 103
131
134
  },
132
135
  "name": "accessKeyIdSecretName",
133
136
  "optional": true,
@@ -145,7 +148,7 @@
145
148
  "immutable": true,
146
149
  "locationInModule": {
147
150
  "filename": "src/types.ts",
148
- "line": 111
151
+ "line": 120
149
152
  },
150
153
  "name": "assumeRoleDurationSeconds",
151
154
  "optional": true,
@@ -162,7 +165,7 @@
162
165
  "immutable": true,
163
166
  "locationInModule": {
164
167
  "filename": "src/types.ts",
165
- "line": 105
168
+ "line": 114
166
169
  },
167
170
  "name": "roleToAssume",
168
171
  "optional": true,
@@ -180,7 +183,7 @@
180
183
  "immutable": true,
181
184
  "locationInModule": {
182
185
  "filename": "src/types.ts",
183
- "line": 100
186
+ "line": 109
184
187
  },
185
188
  "name": "secretAccessKeySecretName",
186
189
  "optional": true,
@@ -226,6 +229,24 @@
226
229
  }
227
230
  }
228
231
  },
232
+ {
233
+ "abstract": true,
234
+ "docs": {
235
+ "default": "undefined",
236
+ "stability": "stable",
237
+ "summary": "Name of the environment variable used to set the deploy environment name."
238
+ },
239
+ "immutable": true,
240
+ "locationInModule": {
241
+ "filename": "src/types.ts",
242
+ "line": 54
243
+ },
244
+ "name": "environmentVariableName",
245
+ "optional": true,
246
+ "type": {
247
+ "primitive": "string"
248
+ }
249
+ },
229
250
  {
230
251
  "abstract": true,
231
252
  "docs": {
@@ -237,7 +258,7 @@
237
258
  "immutable": true,
238
259
  "locationInModule": {
239
260
  "filename": "src/types.ts",
240
- "line": 58
261
+ "line": 67
241
262
  },
242
263
  "name": "method",
243
264
  "optional": true,
@@ -249,14 +270,14 @@
249
270
  "abstract": true,
250
271
  "docs": {
251
272
  "default": "undefined",
252
- "remarks": "if not provided will not set",
273
+ "remarks": "Does not support node versions above 18.\n\nif not provided will not set",
253
274
  "stability": "stable",
254
275
  "summary": "npm config name to set as the environment name This might be useful in deployment process."
255
276
  },
256
277
  "immutable": true,
257
278
  "locationInModule": {
258
279
  "filename": "src/types.ts",
259
- "line": 45
280
+ "line": 47
260
281
  },
261
282
  "name": "npmConfigEnvironment",
262
283
  "optional": true,
@@ -293,7 +314,7 @@
293
314
  "immutable": true,
294
315
  "locationInModule": {
295
316
  "filename": "src/types.ts",
296
- "line": 52
317
+ "line": 61
297
318
  },
298
319
  "name": "taskToRunPreInstall",
299
320
  "optional": true,
@@ -317,7 +338,7 @@
317
338
  },
318
339
  "locationInModule": {
319
340
  "filename": "src/index.ts",
320
- "line": 23
341
+ "line": 24
321
342
  },
322
343
  "parameters": [
323
344
  {
@@ -331,7 +352,7 @@
331
352
  "kind": "class",
332
353
  "locationInModule": {
333
354
  "filename": "src/index.ts",
334
- "line": 9
355
+ "line": 10
335
356
  },
336
357
  "methods": [
337
358
  {
@@ -340,7 +361,7 @@
340
361
  },
341
362
  "locationInModule": {
342
363
  "filename": "src/index.ts",
343
- "line": 66
364
+ "line": 81
344
365
  },
345
366
  "name": "addEnvironments",
346
367
  "parameters": [
@@ -362,7 +383,7 @@
362
383
  },
363
384
  "locationInModule": {
364
385
  "filename": "src/index.ts",
365
- "line": 54
386
+ "line": 69
366
387
  },
367
388
  "name": "synth",
368
389
  "overrides": "projen.Project"
@@ -378,7 +399,7 @@
378
399
  "immutable": true,
379
400
  "locationInModule": {
380
401
  "filename": "src/index.ts",
381
- "line": 14
402
+ "line": 15
382
403
  },
383
404
  "name": "deployWorkflowTask",
384
405
  "type": {
@@ -472,7 +493,7 @@
472
493
  "kind": "interface",
473
494
  "locationInModule": {
474
495
  "filename": "src/types.ts",
475
- "line": 61
496
+ "line": 70
476
497
  },
477
498
  "name": "EnvironmentOptions",
478
499
  "properties": [
@@ -485,7 +506,7 @@
485
506
  "immutable": true,
486
507
  "locationInModule": {
487
508
  "filename": "src/types.ts",
488
- "line": 70
509
+ "line": 79
489
510
  },
490
511
  "name": "awsCredentials",
491
512
  "type": {
@@ -501,7 +522,7 @@
501
522
  "immutable": true,
502
523
  "locationInModule": {
503
524
  "filename": "src/types.ts",
504
- "line": 65
525
+ "line": 74
505
526
  },
506
527
  "name": "name",
507
528
  "type": {
@@ -518,7 +539,7 @@
518
539
  "immutable": true,
519
540
  "locationInModule": {
520
541
  "filename": "src/types.ts",
521
- "line": 78
542
+ "line": 87
522
543
  },
523
544
  "name": "postDeployWorkflowScript",
524
545
  "optional": true,
@@ -536,7 +557,7 @@
536
557
  "immutable": true,
537
558
  "locationInModule": {
538
559
  "filename": "src/types.ts",
539
- "line": 86
560
+ "line": 95
540
561
  },
541
562
  "name": "preDeployWorkflowScript",
542
563
  "optional": true,
@@ -548,6 +569,6 @@
548
569
  "symbolId": "src/types:EnvironmentOptions"
549
570
  }
550
571
  },
551
- "version": "0.1.207",
552
- "fingerprint": "hEEQYuJEXEkzjWnDAMgEr51wG4WYL9yDUM1LIrzn1cQ="
572
+ "version": "0.1.208",
573
+ "fingerprint": "kNI1UFmgLbGFE5I7xOQSjlPfOqyL+rREua6cd3oKakM="
553
574
  }
package/.projenrc.ts CHANGED
@@ -21,6 +21,9 @@ const project = new cdk.JsiiProject({
21
21
  deps: [
22
22
  'projen',
23
23
  ],
24
+ bundledDeps: [
25
+ 'semver',
26
+ ],
24
27
  peerDeps: [
25
28
  'projen',
26
29
  ],
package/API.md CHANGED
@@ -2663,6 +2663,7 @@ const deployOptions: DeployOptions = { ... }
2663
2663
  | **Name** | **Type** | **Description** |
2664
2664
  | --- | --- | --- |
2665
2665
  | <code><a href="#deployable-awscdk-app-ts.DeployOptions.property.environments">environments</a></code> | <code><a href="#deployable-awscdk-app-ts.EnvironmentOptions">EnvironmentOptions</a>[]</code> | Environment settings to deploy to. |
2666
+ | <code><a href="#deployable-awscdk-app-ts.DeployOptions.property.environmentVariableName">environmentVariableName</a></code> | <code>string</code> | Name of the environment variable used to set the deploy environment name. |
2666
2667
  | <code><a href="#deployable-awscdk-app-ts.DeployOptions.property.method">method</a></code> | <code>string</code> | How to perform the deployment. |
2667
2668
  | <code><a href="#deployable-awscdk-app-ts.DeployOptions.property.npmConfigEnvironment">npmConfigEnvironment</a></code> | <code>string</code> | npm config name to set as the environment name This might be useful in deployment process. |
2668
2669
  | <code><a href="#deployable-awscdk-app-ts.DeployOptions.property.stackPattern">stackPattern</a></code> | <code>string</code> | Regex for stacks to be deployed. |
@@ -2682,6 +2683,19 @@ Environment settings to deploy to.
2682
2683
 
2683
2684
  ---
2684
2685
 
2686
+ ##### `environmentVariableName`<sup>Optional</sup> <a name="environmentVariableName" id="deployable-awscdk-app-ts.DeployOptions.property.environmentVariableName"></a>
2687
+
2688
+ ```typescript
2689
+ public readonly environmentVariableName: string;
2690
+ ```
2691
+
2692
+ - *Type:* string
2693
+ - *Default:* undefined
2694
+
2695
+ Name of the environment variable used to set the deploy environment name.
2696
+
2697
+ ---
2698
+
2685
2699
  ##### `method`<sup>Optional</sup> <a name="method" id="deployable-awscdk-app-ts.DeployOptions.property.method"></a>
2686
2700
 
2687
2701
  ```typescript
@@ -2708,6 +2722,8 @@ public readonly npmConfigEnvironment: string;
2708
2722
 
2709
2723
  npm config name to set as the environment name This might be useful in deployment process.
2710
2724
 
2725
+ Does not support node versions above 18.
2726
+
2711
2727
  if not provided will not set
2712
2728
 
2713
2729
  ---
package/lib/index.d.ts CHANGED
@@ -13,6 +13,7 @@ export declare class DeployableAwsCdkTypeScriptApp extends awscdk.AwsCdkTypeScri
13
13
  private readonly deployOptions;
14
14
  private readonly codeArtifactOptions?;
15
15
  constructor(options: DeployableAwsCdkTypeScriptAppOptions);
16
+ private getMajorNodeVersion;
16
17
  private getMethodArgument;
17
18
  synth(): void;
18
19
  addEnvironments(...items: EnvironmentOptions[]): void;
package/lib/index.js CHANGED
@@ -20,6 +20,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
20
20
  const projen_1 = require("projen");
21
21
  const workflows_model_1 = require("projen/lib/github/workflows-model");
22
22
  const javascript_1 = require("projen/lib/javascript");
23
+ const semver = require("semver");
23
24
  const steps = require("./steps");
24
25
  __exportStar(require("./types"), exports);
25
26
  class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp {
@@ -40,12 +41,23 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
40
41
  this.logger.warn('The project is explicitly set to not release, make sure this is desired setting');
41
42
  if (this.generateNvmrc && !this.workflowNodeVersion)
42
43
  this.workflowNodeVersion = '14.18.1';
44
+ const majorNodeVersion = this.getMajorNodeVersion(this.nodeVersion);
45
+ if (this.deployOptions.npmConfigEnvironment && majorNodeVersion >= 18)
46
+ throw new Error(`npmConfigEnvironment is not supported for node versions above version 18. Current version is ${this.workflowNodeVersion}`);
43
47
  const deployArgument = this.deployOptions.stackPattern ? ` ${this.deployOptions.stackPattern}` : '';
44
48
  this.deployWorkflowTask = this.addTask('deploy:workflow', {
45
49
  requiredEnv: this.deployOptions.npmConfigEnvironment ? [`npm_config_${this.deployOptions.npmConfigEnvironment}`] : undefined,
46
50
  exec: `cdk deploy${deployArgument} ${this.getMethodArgument()} --require-approval never`,
47
51
  });
48
52
  }
53
+ getMajorNodeVersion(nodeVersion) {
54
+ if (!nodeVersion)
55
+ return 16;
56
+ const parsed = semver.coerce(nodeVersion);
57
+ if (!parsed)
58
+ throw new Error(`Could not parse node version ${nodeVersion}`);
59
+ return parsed.major;
60
+ }
49
61
  getMethodArgument() {
50
62
  return `--method ${this.deployOptions.method ?? 'change-set'}`;
51
63
  }
@@ -88,6 +100,9 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
88
100
  ...assumeRoleSettings,
89
101
  };
90
102
  });
103
+ const deployJobEnv = this.deployOptions.environmentVariableName ? {
104
+ [this.deployOptions.environmentVariableName]: '${{ matrix.environment }}',
105
+ } : undefined;
91
106
  const jobDefinition = {
92
107
  runsOn: ['ubuntu-latest'],
93
108
  concurrency: '${{ matrix.environment }}-deploy',
@@ -111,6 +126,7 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
111
126
  environment: {
112
127
  name: '${{ matrix.environment }}',
113
128
  },
129
+ env: deployJobEnv,
114
130
  steps: [],
115
131
  };
116
132
  jobDefinition.steps.push(steps.checkoutStep());
@@ -131,5 +147,5 @@ class DeployableAwsCdkTypeScriptApp extends projen_1.awscdk.AwsCdkTypeScriptApp
131
147
  }
132
148
  exports.DeployableAwsCdkTypeScriptApp = DeployableAwsCdkTypeScriptApp;
133
149
  _a = JSII_RTTI_SYMBOL_1;
134
- DeployableAwsCdkTypeScriptApp[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp", version: "0.1.207" };
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1DQUE2QztBQUM3Qyx1RUFBb0U7QUFDcEUsc0RBQWdHO0FBQ2hHLGlDQUFnQztBQUdoQywwQ0FBdUI7QUFFdkIsTUFBYSw2QkFBOEIsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBYzNFLFlBQVksT0FBNkM7UUFDdkQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUE7UUFDMUMsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQTtRQUNsRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixJQUFJLEtBQUssQ0FBQTtRQUNuRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFBO1FBQ3RELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxFQUFDLFlBQVksRUFBRSxFQUFFLEVBQUMsQ0FBQTtRQUNoRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFBO1FBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtRQUUzQyxJQUFJLENBQUMsVUFBVTtZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlGQUFpRixDQUFDLENBQUE7UUFFckcsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUNqRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFBO1FBRXRDLE1B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QWhKSCxzRUFpSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2F3c2NkaywgVGFzaywgVGV4dEZpbGV9IGZyb20gJ3Byb2plbidcbmltcG9ydCB7Sm9iLCBKb2JQZXJtaXNzaW9ufSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnXG5pbXBvcnQge0NvZGVBcnRpZmFjdEF1dGhQcm92aWRlciwgQ29kZUFydGlmYWN0T3B0aW9ucywgTm9kZVByb2plY3R9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCdcbmltcG9ydCAqIGFzIHN0ZXBzIGZyb20gJy4vc3RlcHMnXG5pbXBvcnQge0RlcGxveWFibGVBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucywgRGVwbG95T3B0aW9ucywgRW52aXJvbm1lbnRPcHRpb25zfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHAgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG5cbiAgLyoqXG4gICAqIFRhc2sgdG8gZGVwbG95IHlvdXIgYXBwLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlcGxveVdvcmtmbG93VGFzazogVGFza1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwbG95YWJsZTogYm9vbGVhblxuICBwcml2YXRlIHJlYWRvbmx5IGdlbmVyYXRlTnZtcmM6IGJvb2xlYW5cbiAgcHJpdmF0ZSByZWFkb25seSBjaGVja0FjdGl2ZURlcGxveW1lbnQ6IGJvb2xlYW5cbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwbG95T3B0aW9uczogRGVwbG95T3B0aW9uc1xuICBwcml2YXRlIHJlYWRvbmx5IGNvZGVBcnRpZmFjdE9wdGlvbnM/OiBDb2RlQXJ0aWZhY3RPcHRpb25zXG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zKSB7XG4gICAgY29uc3QgZGVwbG95YWJsZSA9IG9wdGlvbnMucmVsZWFzZSA/PyB0cnVlXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHJlbGVhc2U6IGRlcGxveWFibGUsXG4gICAgfSlcbiAgICB0aGlzLmRlcGxveWFibGUgPSBkZXBsb3lhYmxlXG4gICAgdGhpcy5nZW5lcmF0ZU52bXJjID0gb3B0aW9ucy5nZW5lcmF0ZU52bXJjID8/IHRydWVcbiAgICB0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCA9IG9wdGlvbnMuY2hlY2tBY3RpdmVEZXBsb3ltZW50ID8/IGZhbHNlXG4gICAgdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uXG4gICAgdGhpcy5kZXBsb3lPcHRpb25zID0gb3B0aW9ucy5kZXBsb3lPcHRpb25zID8/IHtlbnZpcm9ubWVudHM6IFtdfVxuICAgIHRoaXMuY29kZUFydGlmYWN0T3B0aW9ucyA9IG9wdGlvbnMuY29kZUFydGlmYWN0T3B0aW9uc1xuICAgIHRoaXMuYWRkRGV2RGVwcygnZGVwbG95YWJsZS1hd3NjZGstYXBwLXRzJylcblxuICAgIGlmICghZGVwbG95YWJsZSlcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ1RoZSBwcm9qZWN0IGlzIGV4cGxpY2l0bHkgc2V0IHRvIG5vdCByZWxlYXNlLCBtYWtlIHN1cmUgdGhpcyBpcyBkZXNpcmVkIHNldHRpbmcnKVxuXG4gICAgaWYgKHRoaXMuZ2VuZXJhdGVOdm1yYyAmJiAhdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uKVxuICAgICAgdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gJzE0LjE4LjEnXG5cbiAgICBjb25zdCBkZXBsb3lBcmd1bWVudCA9IHRoaXMuZGVwbG95T3B0aW9ucy5zdGFja1BhdHRlcm4gPyBgICR7dGhpcy5kZXBsb3lPcHRpb25zLnN0YWNrUGF0dGVybn1gOiAnJ1xuICAgIHRoaXMuZGVwbG95V29ya2Zsb3dUYXNrID0gdGhpcy5hZGRUYXNrKCdkZXBsb3k6d29ya2Zsb3cnLCB7XG4gICAgICByZXF1aXJlZEVudjogdGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50ID8gW2BucG1fY29uZmlnXyR7dGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50fWBdIDogdW5kZWZpbmVkLFxuICAgICAgZXhlYzogYGNkayBkZXBsb3kke2RlcGxveUFyZ3VtZW50fSAke3RoaXMuZ2V0TWV0aG9kQXJndW1lbnQoKX0gLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyYCxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZXRob2RBcmd1bWVudCgpIHtcbiAgICByZXR1cm4gYC0tbWV0aG9kICR7dGhpcy5kZXBsb3lPcHRpb25zLm1ldGhvZCA/PyAnY2hhbmdlLXNldCd9YFxuICB9XG5cbiAgc3ludGgoKSB7XG4gICAgaWYgKHRoaXMuZGVwbG95YWJsZSlcbiAgICAgIHRoaXMuYWRkRGVwbG95Sm9icygpXG5cbiAgICBpZiAodGhpcy5nZW5lcmF0ZU52bXJjKVxuICAgICAgbmV3IFRleHRGaWxlKHRoaXMsICcubnZtcmMnLCB7XG4gICAgICAgIGxpbmVzOiBbdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID8/ICcnXSxcbiAgICAgIH0pXG5cbiAgICBzdXBlci5zeW50aCgpXG4gIH1cblxuICBhZGRFbnZpcm9ubWVudHMoLi4uaXRlbXM6IEVudmlyb25tZW50T3B0aW9uc1tdKSB7XG4gICAgdGhpcy5kZXBsb3lPcHRpb25zLmVudmlyb25tZW50cy5wdXNoKC4uLml0ZW1zKVxuICB9XG5cbiAgcHJpdmF0ZSBhZGREZXBsb3lKb2JzKCkge1xuXG4gICAgaWYgKHRoaXMuZGVwbG95T3B0aW9ucy5lbnZpcm9ubWVudHMubGVuZ3RoID09PSAwKVxuICAgICAgdGhpcy5sb2dnZXIud2FybignVGhlIHByb2plY3QgZG9lcyBub3QgaGF2ZSBhbnkgZW52aXJvbm1lbnQgc2V0LCBtYWtlIHN1cmUgdGhpcyBpcyBkZXNpcmVkIHNldHRpbmcnKVxuXG4gICAgY29uc3QgaW5jbHVkZSA9IHRoaXMuZGVwbG95T3B0aW9ucy5lbnZpcm9ubWVudHMubWFwKGVudmlyb25tZW50T3B0aW9ucyA9PiB7XG4gICAgICBjb25zdCB7YXdzQ3JlZGVudGlhbHN9ID0gZW52aXJvbm1lbnRPcHRpb25zXG5cbiAgICAgIGNvbnN0IGFzc3VtZVJvbGUgPSBhd3NDcmVkZW50aWFscy5yb2xlVG9Bc3N1bWUgPyAndHJ1ZScgOiAnZmFsc2UnXG5cbiAgICAgIGNvbnN0IGFzc3VtZVJvbGVTZXR0aW5ncyA9IGF3c0NyZWRlbnRpYWxzLnJvbGVUb0Fzc3VtZSA/IHtcbiAgICAgICAgcm9sZVRvQXNzdW1lOiBhd3NDcmVkZW50aWFscy5yb2xlVG9Bc3N1bWUsXG4gICAgICAgIGFzc3VtZVJvbGVEdXJhdGlvblNlY29uZHM6IGF3c0NyZWRlbnRpYWxzLmFzc3VtZVJvbGVEdXJhdGlvblNlY29uZHMgfHwgOTAwLFxuICAgICAgfTogdW5kZWZpbmVkXG5cbiAgICAgIGNvbnN0IGFjY2Vzc0tleUlkU2VjcmV0TmFtZSA9IGF3c0NyZWRlbnRpYWxzLmFjY2Vzc0tleUlkU2VjcmV0TmFtZSA/PyAnQVdTX0FDQ0VTU19LRVlfSUQnXG4gICAgICBjb25zdCBzZWNyZXRBY2Nlc3NLZXlTZWNyZXROYW1lID0gYXdzQ3JlZGVudGlhbHMuc2VjcmV0QWNjZXNzS2V5U2VjcmV0TmFtZSA/PyAnQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZJ1xuXG4gICAgICBjb25zdCBoYXNQb3N0RGVwbG95VGFzayA9IGVudmlyb25tZW50T3B0aW9ucy5wb3N0RGVwbG95V29ya2Zsb3dTY3JpcHQgPyAndHJ1ZScgOiAnZmFsc2UnXG4gICAgICBjb25zdCBoYXNQcmVEZXBsb3lUYXNrID0gZW52aXJvbm1lbnRPcHRpb25zLnByZURlcGxveVdvcmtmbG93U2NyaXB0ID8gJ3RydWUnIDogJ2ZhbHNlJ1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbnZpcm9ubWVudDogZW52aXJvbm1lbnRPcHRpb25zLm5hbWUsXG4gICAgICAgIGFjY2Vzc0tleUlkU2VjcmV0TmFtZSxcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5U2VjcmV0TmFtZSxcbiAgICAgICAgcmVnaW9uOiBhd3NDcmVkZW50aWFscy5yZWdpb24sXG4gICAgICAgIGFzc3VtZVJvbGUsXG4gICAgICAgIGhhc1Bvc3REZXBsb3lUYXNrLFxuICAgICAgICBwb3N0RGVwbG95bWVudFNjcmlwdDogZW52aXJvbm1lbnRPcHRpb25zLnBvc3REZXBsb3lXb3JrZmxvd1NjcmlwdCB8fCAnJyxcbiAgICAgICAgaGFzUHJlRGVwbG95VGFzayxcbiAgICAgICAgcHJlRGVwbG95bWVudFNjcmlwdDogZW52aXJvbm1lbnRPcHRpb25zLnByZURlcGxveVdvcmtmbG93U2NyaXB0IHx8ICcnLFxuICAgICAgICAuLi5hc3N1bWVSb2xlU2V0dGluZ3MsXG4gICAgICB9XG4gICAgfSlcblxuICAgIGNvbnN0IGpvYkRlZmluaXRpb246IEpvYiA9IHtcbiAgICAgIHJ1bnNPbjogWyd1YnVudHUtbGF0ZXN0J10sXG4gICAgICBjb25jdXJyZW5jeTogJyR7eyBtYXRyaXguZW52aXJvbm1lbnQgfX0tZGVwbG95JyxcbiAgICAgIG5lZWRzOiBbXG4gICAgICAgICdyZWxlYXNlX2dpdGh1YicsXG4gICAgICBdLFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgZGVwbG95bWVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgaWRUb2tlbjogdGhpcy5jb2RlQXJ0aWZhY3RPcHRpb25zPy5hdXRoUHJvdmlkZXIgPT09IENvZGVBcnRpZmFjdEF1dGhQcm92aWRlci5HSVRIVUJfT0lEQyA/IEpvYlBlcm1pc3Npb24uV1JJVEUgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgc3RyYXRlZ3k6IHtcbiAgICAgICAgbWF4UGFyYWxsZWw6IDEsXG4gICAgICAgIG1hdHJpeDoge1xuICAgICAgICAgIGRvbWFpbjoge1xuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IGluY2x1ZGUubWFwKGUgPT4gZS5lbnZpcm9ubWVudCksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbmNsdWRlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIG5hbWU6ICcke3sgbWF0cml4LmVudmlyb25tZW50IH19JyxcbiAgICAgIH0sXG4gICAgICBzdGVwczogW10sXG4gICAgfVxuXG4gICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKHN0ZXBzLmNoZWNrb3V0U3RlcCgpKVxuXG4gICAgY29uc3Qge3Rhc2tUb1J1blByZUluc3RhbGx9ID0gdGhpcy5kZXBsb3lPcHRpb25zXG4gICAgaWYgKHRhc2tUb1J1blByZUluc3RhbGwpXG4gICAgICBqb2JEZWZpbml0aW9uLnN0ZXBzLnB1c2goc3RlcHMucHJlSW5zdGFsbERlcGVuZGVuY2llc1N0ZXAodGFza1RvUnVuUHJlSW5zdGFsbCwgdGhpcy5jaGVja0FjdGl2ZURlcGxveW1lbnQpKVxuXG4gICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKC4uLih0aGlzLnBhY2thZ2UucHJvamVjdCBhcyBOb2RlUHJvamVjdCkucmVuZGVyV29ya2Zsb3dTZXR1cCgpKVxuXG4gICAgaWYgKHRoaXMuY2hlY2tBY3RpdmVEZXBsb3ltZW50KVxuICAgICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKHN0ZXBzLmNoZWNrQWN0aXZlRGVwbG95bWVudFN0ZXAoKSlcblxuICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaCguLi5zdGVwcy5zZXRBd3NDcmVkZW50aWFsc1N0ZXBzKHRoaXMuY2hlY2tBY3RpdmVEZXBsb3ltZW50LCB0aGlzLmNvZGVBcnRpZmFjdE9wdGlvbnM/LmF1dGhQcm92aWRlcikpXG5cbiAgICBpZiAodGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50KVxuICAgICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKHN0ZXBzLnNldE5wbUNvbmZpZyh0aGlzLmRlcGxveU9wdGlvbnMubnBtQ29uZmlnRW52aXJvbm1lbnQsICcke3sgbWF0cml4LmVudmlyb25tZW50IH19JywgdGhpcy5jaGVja0FjdGl2ZURlcGxveW1lbnQpKVxuXG4gICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKHN0ZXBzLnByZURlcGxveW1lbnRTdGVwKHRoaXMuY2hlY2tBY3RpdmVEZXBsb3ltZW50LCB0aGlzLnBhY2thZ2UucGFja2FnZU1hbmFnZXIpKVxuICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaChzdGVwcy5kZXBsb3ltZW50U3RlcCh0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCwgdGhpcy5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyKSlcbiAgICBqb2JEZWZpbml0aW9uLnN0ZXBzLnB1c2goc3RlcHMucG9zdERlcGxveW1lbnRTdGVwKHRoaXMuY2hlY2tBY3RpdmVEZXBsb3ltZW50LCB0aGlzLnBhY2thZ2UucGFja2FnZU1hbmFnZXIpKVxuXG4gICAgdGhpcy5yZWxlYXNlPy5hZGRKb2JzKHtkZXBsb3k6IGpvYkRlZmluaXRpb259KVxuXG4gIH1cbn0iXX0=
150
+ DeployableAwsCdkTypeScriptApp[_a] = { fqn: "deployable-awscdk-app-ts.DeployableAwsCdkTypeScriptApp", version: "0.1.208" };
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1DQUE2QztBQUM3Qyx1RUFBb0U7QUFDcEUsc0RBQWdHO0FBQ2hHLGlDQUFnQztBQUNoQyxpQ0FBZ0M7QUFHaEMsMENBQXVCO0FBRXZCLE1BQWEsNkJBQThCLFNBQVEsZUFBTSxDQUFDLG1CQUFtQjtJQWMzRSxZQUFZLE9BQTZDO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFBO1FBQzFDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLE9BQU8sRUFBRSxVQUFVO1NBQ3BCLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUE7UUFDbEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxLQUFLLENBQUE7UUFDbkUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQTtRQUN0RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksRUFBQyxZQUFZLEVBQUUsRUFBRSxFQUFDLENBQUE7UUFDaEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQTtRQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFFM0MsSUFBSSxDQUFDLFVBQVU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpRkFBaUYsQ0FBQyxDQUFBO1FBRXJHLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDakQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMs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QUU3SCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CO1lBQ3pDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSwyQkFBMkIsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFBO1FBRWhKLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFBO1FBQzFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtRQUN2RyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtRQUUzRyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFBO0lBRWhELENBQUM7O0FBbktILHNFQW9LQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXdzY2RrLCBUYXNrLCBUZXh0RmlsZX0gZnJvbSAncHJvamVuJ1xuaW1wb3J0IHtKb2IsIEpvYlBlcm1pc3Npb259IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCdcbmltcG9ydCB7Q29kZUFydGlmYWN0QXV0aFByb3ZpZGVyLCBDb2RlQXJ0aWZhY3RPcHRpb25zLCBOb2RlUHJvamVjdH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0J1xuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gJ3NlbXZlcidcbmltcG9ydCAqIGFzIHN0ZXBzIGZyb20gJy4vc3RlcHMnXG5pbXBvcnQge0RlcGxveWFibGVBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucywgRGVwbG95T3B0aW9ucywgRW52aXJvbm1lbnRPcHRpb25zfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHAgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG5cbiAgLyoqXG4gICAqIFRhc2sgdG8gZGVwbG95IHlvdXIgYXBwLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlcGxveVdvcmtmbG93VGFzazogVGFza1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwbG95YWJsZTogYm9vbGVhblxuICBwcml2YXRlIHJlYWRvbmx5IGdlbmVyYXRlTnZtcmM6IGJvb2xlYW5cbiAgcHJpdmF0ZSByZWFkb25seSBjaGVja0FjdGl2ZURlcGxveW1lbnQ6IGJvb2xlYW5cbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwbG95T3B0aW9uczogRGVwbG95T3B0aW9uc1xuICBwcml2YXRlIHJlYWRvbmx5IGNvZGVBcnRpZmFjdE9wdGlvbnM/OiBDb2RlQXJ0aWZhY3RPcHRpb25zXG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zKSB7XG4gICAgY29uc3QgZGVwbG95YWJsZSA9IG9wdGlvbnMucmVsZWFzZSA/PyB0cnVlXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHJlbGVhc2U6IGRlcGxveWFibGUsXG4gICAgfSlcbiAgICB0aGlzLmRlcGxveWFibGUgPSBkZXBsb3lhYmxlXG4gICAgdGhpcy5nZW5lcmF0ZU52bXJjID0gb3B0aW9ucy5nZW5lcmF0ZU52bXJjID8/IHRydWVcbiAgICB0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCA9IG9wdGlvbnMuY2hlY2tBY3RpdmVEZXBsb3ltZW50ID8/IGZhbHNlXG4gICAgdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uXG4gICAgdGhpcy5kZXBsb3lPcHRpb25zID0gb3B0aW9ucy5kZXBsb3lPcHRpb25zID8/IHtlbnZpcm9ubWVudHM6IFtdfVxuICAgIHRoaXMuY29kZUFydGlmYWN0T3B0aW9ucyA9IG9wdGlvbnMuY29kZUFydGlmYWN0T3B0aW9uc1xuICAgIHRoaXMuYWRkRGV2RGVwcygnZGVwbG95YWJsZS1hd3NjZGstYXBwLXRzJylcblxuICAgIGlmICghZGVwbG95YWJsZSlcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ1RoZSBwcm9qZWN0IGlzIGV4cGxpY2l0bHkgc2V0IHRvIG5vdCByZWxlYXNlLCBtYWtlIHN1cmUgdGhpcyBpcyBkZXNpcmVkIHNldHRpbmcnKVxuXG4gICAgaWYgKHRoaXMuZ2VuZXJhdGVOdm1yYyAmJiAhdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uKVxuICAgICAgdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID0gJzE0LjE4LjEnXG5cbiAgICBjb25zdCBtYWpvck5vZGVWZXJzaW9uID0gdGhpcy5nZXRNYWpvck5vZGVWZXJzaW9uKHRoaXMubm9kZVZlcnNpb24pXG5cbiAgICBpZiAodGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50ICYmIG1ham9yTm9kZVZlcnNpb24gPj0gMTgpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG5wbUNvbmZpZ0Vudmlyb25tZW50IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIG5vZGUgdmVyc2lvbnMgYWJvdmUgdmVyc2lvbiAxOC4gQ3VycmVudCB2ZXJzaW9uIGlzICR7dGhpcy53b3JrZmxvd05vZGVWZXJzaW9ufWApXG5cbiAgICBjb25zdCBkZXBsb3lBcmd1bWVudCA9IHRoaXMuZGVwbG95T3B0aW9ucy5zdGFja1BhdHRlcm4gPyBgICR7dGhpcy5kZXBsb3lPcHRpb25zLnN0YWNrUGF0dGVybn1gOiAnJ1xuICAgIHRoaXMuZGVwbG95V29ya2Zsb3dUYXNrID0gdGhpcy5hZGRUYXNrKCdkZXBsb3k6d29ya2Zsb3cnLCB7XG4gICAgICByZXF1aXJlZEVudjogdGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50ID8gW2BucG1fY29uZmlnXyR7dGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50fWBdIDogdW5kZWZpbmVkLFxuICAgICAgZXhlYzogYGNkayBkZXBsb3kke2RlcGxveUFyZ3VtZW50fSAke3RoaXMuZ2V0TWV0aG9kQXJndW1lbnQoKX0gLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyYCxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYWpvck5vZGVWZXJzaW9uKG5vZGVWZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIW5vZGVWZXJzaW9uKVxuICAgICAgcmV0dXJuIDE2XG4gICAgY29uc3QgcGFyc2VkID0gc2VtdmVyLmNvZXJjZShub2RlVmVyc2lvbilcbiAgICBpZiAoIXBhcnNlZClcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IHBhcnNlIG5vZGUgdmVyc2lvbiAke25vZGVWZXJzaW9ufWApXG4gICAgcmV0dXJuIHBhcnNlZC5tYWpvclxuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZXRob2RBcmd1bWVudCgpIHtcbiAgICByZXR1cm4gYC0tbWV0aG9kICR7dGhpcy5kZXBsb3lPcHRpb25zLm1ldGhvZCA/PyAnY2hhbmdlLXNldCd9YFxuICB9XG5cbiAgc3ludGgoKSB7XG4gICAgaWYgKHRoaXMuZGVwbG95YWJsZSlcbiAgICAgIHRoaXMuYWRkRGVwbG95Sm9icygpXG5cbiAgICBpZiAodGhpcy5nZW5lcmF0ZU52bXJjKVxuICAgICAgbmV3IFRleHRGaWxlKHRoaXMsICcubnZtcmMnLCB7XG4gICAgICAgIGxpbmVzOiBbdGhpcy53b3JrZmxvd05vZGVWZXJzaW9uID8/ICcnXSxcbiAgICAgIH0pXG5cbiAgICBzdXBlci5zeW50aCgpXG4gIH1cblxuICBhZGRFbnZpcm9ubWVudHMoLi4uaXRlbXM6IEVudmlyb25tZW50T3B0aW9uc1tdKSB7XG4gICAgdGhpcy5kZXBsb3lPcHRpb25zLmVudmlyb25tZW50cy5wdXNoKC4uLml0ZW1zKVxuICB9XG5cbiAgcHJpdmF0ZSBhZGREZXBsb3lKb2JzKCkge1xuXG4gICAgaWYgKHRoaXMuZGVwbG95T3B0aW9ucy5lbnZpcm9ubWVudHMubGVuZ3RoID09PSAwKVxuICAgICAgdGhpcy5sb2dnZXIud2FybignVGhlIHByb2plY3QgZG9lcyBub3QgaGF2ZSBhbnkgZW52aXJvbm1lbnQgc2V0LCBtYWtlIHN1cmUgdGhpcyBpcyBkZXNpcmVkIHNldHRpbmcnKVxuXG4gICAgY29uc3QgaW5jbHVkZSA9IHRoaXMuZGVwbG95T3B0aW9ucy5lbnZpcm9ubWVudHMubWFwKGVudmlyb25tZW50T3B0aW9ucyA9PiB7XG4gICAgICBjb25zdCB7YXdzQ3JlZGVudGlhbHN9ID0gZW52aXJvbm1lbnRPcHRpb25zXG5cbiAgICAgIGNvbnN0IGFzc3VtZVJvbGUgPSBhd3NDcmVkZW50aWFscy5yb2xlVG9Bc3N1bWUgPyAndHJ1ZScgOiAnZmFsc2UnXG5cbiAgICAgIGNvbnN0IGFzc3VtZVJvbGVTZXR0aW5ncyA9IGF3c0NyZWRlbnRpYWxzLnJvbGVUb0Fzc3VtZSA/IHtcbiAgICAgICAgcm9sZVRvQXNzdW1lOiBhd3NDcmVkZW50aWFscy5yb2xlVG9Bc3N1bWUsXG4gICAgICAgIGFzc3VtZVJvbGVEdXJhdGlvblNlY29uZHM6IGF3c0NyZWRlbnRpYWxzLmFzc3VtZVJvbGVEdXJhdGlvblNlY29uZHMgfHwgOTAwLFxuICAgICAgfTogdW5kZWZpbmVkXG5cbiAgICAgIGNvbnN0IGFjY2Vzc0tleUlkU2VjcmV0TmFtZSA9IGF3c0NyZWRlbnRpYWxzLmFjY2Vzc0tleUlkU2VjcmV0TmFtZSA/PyAnQVdTX0FDQ0VTU19LRVlfSUQnXG4gICAgICBjb25zdCBzZWNyZXRBY2Nlc3NLZXlTZWNyZXROYW1lID0gYXdzQ3JlZGVudGlhbHMuc2VjcmV0QWNjZXNzS2V5U2VjcmV0TmFtZSA/PyAnQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZJ1xuXG4gICAgICBjb25zdCBoYXNQb3N0RGVwbG95VGFzayA9IGVudmlyb25tZW50T3B0aW9ucy5wb3N0RGVwbG95V29ya2Zsb3dTY3JpcHQgPyAndHJ1ZScgOiAnZmFsc2UnXG4gICAgICBjb25zdCBoYXNQcmVEZXBsb3lUYXNrID0gZW52aXJvbm1lbnRPcHRpb25zLnByZURlcGxveVdvcmtmbG93U2NyaXB0ID8gJ3RydWUnIDogJ2ZhbHNlJ1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbnZpcm9ubWVudDogZW52aXJvbm1lbnRPcHRpb25zLm5hbWUsXG4gICAgICAgIGFjY2Vzc0tleUlkU2VjcmV0TmFtZSxcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5U2VjcmV0TmFtZSxcbiAgICAgICAgcmVnaW9uOiBhd3NDcmVkZW50aWFscy5yZWdpb24sXG4gICAgICAgIGFzc3VtZVJvbGUsXG4gICAgICAgIGhhc1Bvc3REZXBsb3lUYXNrLFxuICAgICAgICBwb3N0RGVwbG95bWVudFNjcmlwdDogZW52aXJvbm1lbnRPcHRpb25zLnBvc3REZXBsb3lXb3JrZmxvd1NjcmlwdCB8fCAnJyxcbiAgICAgICAgaGFzUHJlRGVwbG95VGFzayxcbiAgICAgICAgcHJlRGVwbG95bWVudFNjcmlwdDogZW52aXJvbm1lbnRPcHRpb25zLnByZURlcGxveVdvcmtmbG93U2NyaXB0IHx8ICcnLFxuICAgICAgICAuLi5hc3N1bWVSb2xlU2V0dGluZ3MsXG4gICAgICB9XG4gICAgfSlcblxuICAgIGNvbnN0IGRlcGxveUpvYkVudiA9IHRoaXMuZGVwbG95T3B0aW9ucy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZSA/IHtcbiAgICAgIFt0aGlzLmRlcGxveU9wdGlvbnMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWVdOiAnJHt7IG1hdHJpeC5lbnZpcm9ubWVudCB9fScsXG4gICAgfSA6IHVuZGVmaW5lZFxuXG4gICAgY29uc3Qgam9iRGVmaW5pdGlvbjogSm9iID0ge1xuICAgICAgcnVuc09uOiBbJ3VidW50dS1sYXRlc3QnXSxcbiAgICAgIGNvbmN1cnJlbmN5OiAnJHt7IG1hdHJpeC5lbnZpcm9ubWVudCB9fS1kZXBsb3knLFxuICAgICAgbmVlZHM6IFtcbiAgICAgICAgJ3JlbGVhc2VfZ2l0aHViJyxcbiAgICAgIF0sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICBkZXBsb3ltZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICBpZFRva2VuOiB0aGlzLmNvZGVBcnRpZmFjdE9wdGlvbnM/LmF1dGhQcm92aWRlciA9PT0gQ29kZUFydGlmYWN0QXV0aFByb3ZpZGVyLkdJVEhVQl9PSURDID8gSm9iUGVybWlzc2lvbi5XUklURSA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgICBzdHJhdGVneToge1xuICAgICAgICBtYXhQYXJhbGxlbDogMSxcbiAgICAgICAgbWF0cml4OiB7XG4gICAgICAgICAgZG9tYWluOiB7XG4gICAgICAgICAgICBlbnZpcm9ubWVudDogaW5jbHVkZS5tYXAoZSA9PiBlLmVudmlyb25tZW50KSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGluY2x1ZGUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgbmFtZTogJyR7eyBtYXRyaXguZW52aXJvbm1lbnQgfX0nLFxuICAgICAgfSxcbiAgICAgIGVudjogZGVwbG95Sm9iRW52LFxuICAgICAgc3RlcHM6IFtdLFxuICAgIH1cblxuICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaChzdGVwcy5jaGVja291dFN0ZXAoKSlcblxuICAgIGNvbnN0IHt0YXNrVG9SdW5QcmVJbnN0YWxsfSA9IHRoaXMuZGVwbG95T3B0aW9uc1xuICAgIGlmICh0YXNrVG9SdW5QcmVJbnN0YWxsKVxuICAgICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKHN0ZXBzLnByZUluc3RhbGxEZXBlbmRlbmNpZXNTdGVwKHRhc2tUb1J1blByZUluc3RhbGwsIHRoaXMuY2hlY2tBY3RpdmVEZXBsb3ltZW50KSlcblxuICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaCguLi4odGhpcy5wYWNrYWdlLnByb2plY3QgYXMgTm9kZVByb2plY3QpLnJlbmRlcldvcmtmbG93U2V0dXAoKSlcblxuICAgIGlmICh0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudClcbiAgICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaChzdGVwcy5jaGVja0FjdGl2ZURlcGxveW1lbnRTdGVwKCkpXG5cbiAgICBqb2JEZWZpbml0aW9uLnN0ZXBzLnB1c2goLi4uc3RlcHMuc2V0QXdzQ3JlZGVudGlhbHNTdGVwcyh0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCwgdGhpcy5jb2RlQXJ0aWZhY3RPcHRpb25zPy5hdXRoUHJvdmlkZXIpKVxuXG4gICAgaWYgKHRoaXMuZGVwbG95T3B0aW9ucy5ucG1Db25maWdFbnZpcm9ubWVudClcbiAgICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaChzdGVwcy5zZXROcG1Db25maWcodGhpcy5kZXBsb3lPcHRpb25zLm5wbUNvbmZpZ0Vudmlyb25tZW50LCAnJHt7IG1hdHJpeC5lbnZpcm9ubWVudCB9fScsIHRoaXMuY2hlY2tBY3RpdmVEZXBsb3ltZW50KSlcblxuICAgIGpvYkRlZmluaXRpb24uc3RlcHMucHVzaChzdGVwcy5wcmVEZXBsb3ltZW50U3RlcCh0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCwgdGhpcy5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyKSlcbiAgICBqb2JEZWZpbml0aW9uLnN0ZXBzLnB1c2goc3RlcHMuZGVwbG95bWVudFN0ZXAodGhpcy5jaGVja0FjdGl2ZURlcGxveW1lbnQsIHRoaXMucGFja2FnZS5wYWNrYWdlTWFuYWdlcikpXG4gICAgam9iRGVmaW5pdGlvbi5zdGVwcy5wdXNoKHN0ZXBzLnBvc3REZXBsb3ltZW50U3RlcCh0aGlzLmNoZWNrQWN0aXZlRGVwbG95bWVudCwgdGhpcy5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyKSlcblxuICAgIHRoaXMucmVsZWFzZT8uYWRkSm9icyh7ZGVwbG95OiBqb2JEZWZpbml0aW9ufSlcblxuICB9XG59Il19
package/lib/types.d.ts CHANGED
@@ -33,10 +33,18 @@ export interface DeployOptions {
33
33
  * npm config name to set as the environment name
34
34
  * This might be useful in deployment process
35
35
  *
36
+ * Does not support node versions above 18.
37
+ *
36
38
  * if not provided will not set
37
39
  * @default undefined
38
40
  */
39
41
  readonly npmConfigEnvironment?: string;
42
+ /**
43
+ * Name of the environment variable used to set the deploy environment name.
44
+ *
45
+ * @default undefined
46
+ */
47
+ readonly environmentVariableName?: string;
40
48
  /**
41
49
  * task name to run prior to installation in deploy job of workflow
42
50
  * if not provided will not add to workflow
package/lib/types.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXdzY2RrfSBmcm9tICdwcm9qZW4nXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHtcbiAgLyoqXG4gICAqIERlcGxveW1lbnQgb3B0aW9uc1xuICAgKiBAZGVmYXVsdCBcImNvbmZpZyB3aXRoIGVtcHR5IGxpc3Qgb2YgZW52aXJvbm1lbnRzXCJcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveU9wdGlvbnM/OiBEZXBsb3lPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGdlbmVyYXRlIG52bXJjIGZpbGUgZm9yIHRoZSBub2RlIHZlcnNpb24gb2YgdGhlIHByb2plY3RcbiAgICogaWYgc2V0IHRvIHRydWUsIGFuZCBubyBcIndvcmtmbG93Tm9kZVZlcnNpb25cIiBpcyBzcGVjaWZpZWQgd2lsbCB1c2UgdmVyc2lvbiAxNC4xOC4xXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGdlbmVyYXRlTnZtcmM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNoZWNrIGFuZCBza2lwIHRoZSBkZXBsb3ltZW50IGZvciBlbnZpcm9ubWVudHMgdGhhdCBoYXZlIGFjdGl2ZSBkZXBsb3ltZW50IG9mIHRoZSBzYW1lIGNvbW1pdFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hlY2tBY3RpdmVEZXBsb3ltZW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHNldHRpbmdzIHRvIGRlcGxveSB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudE9wdGlvbnNbXTtcblxuICAvKipcbiAgICogUmVnZXggZm9yIHN0YWNrcyB0byBiZSBkZXBsb3llZFxuICAgKlxuICAgKiBpZiBub3QgcHJvdmlkZWQgbWF0Y2hlcyBhbGwgb2YgdGhlIHN0YWNrcyBpbiB0aGUgQ0RLIEFwcC5cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBzdGFja1BhdHRlcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIG5wbSBjb25maWcgbmFtZSB0byBzZXQgYXMgdGhlIGVudmlyb25tZW50IG5hbWVcbiAgICogVGhpcyBtaWdodCBiZSB1c2VmdWwgaW4gZGVwbG95bWVudCBwcm9jZXNzXG4gICAqXG4gICAqIGlmIG5vdCBwcm92aWRlZCB3aWxsIG5vdCBzZXRcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBucG1Db25maWdFbnZpcm9ubWVudD86IHN0cmluZztcblxuICAvKipcbiAgICogdGFzayBuYW1lIHRvIHJ1biBwcmlvciB0byBpbnN0YWxsYXRpb24gaW4gZGVwbG95IGpvYiBvZiB3b3JrZmxvd1xuICAgKiBpZiBub3QgcHJvdmlkZWQgd2lsbCBub3QgYWRkIHRvIHdvcmtmbG93XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdGFza1RvUnVuUHJlSW5zdGFsbD86IHN0cmluZztcblxuICAvKipcbiAgICogSG93IHRvIHBlcmZvcm0gdGhlIGRlcGxveW1lbnQuIERpcmVjdCBpcyBhIGJpdCBmYXN0ZXIgYnV0IGxhY2tzIHByb2dyZXNzIGluZm9ybWF0aW9uXG4gICAqIEBkZWZhdWx0IFwiY2hhbmdlLXNldFwiXG4gICAqL1xuICByZWFkb25seSBtZXRob2Q/OiAnZGlyZWN0JyB8ICdjaGFuZ2Utc2V0JyB8ICdwcmVwYXJlLWNoYW5nZS1zZXQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCBuYW1lIHRvIGRlcGxveSB0b1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBV1MgY3JlZGVudGlhbCBkZXRhaWxzIGZvciBkZXBsb3ltZW50XG4gICAqL1xuICByZWFkb25seSBhd3NDcmVkZW50aWFsczogQVdTQ3JlZGVudGlhbHM7XG5cbiAgLyoqXG4gICAqIFRoZSBzY3JpcHQvdGFzayB0byBydW4gYWZ0ZXIgZGVwbG95bWVudCBvZiB0aGUgZW52aXJvbm1lbnQgaW4gdGhlIHdvcmtmbG93XG4gICAqIElmIG5vdCBwcmVzZW50LCB0aGUgd29ya2Zsb3cgd2lsbCBub3QgZXhlY3V0ZSB0aGF0XG4gICAqXG4gICAqIEBleGFtcGxlIFwicG9zdDpkZXBsb3lcIlxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdERlcGxveVdvcmtmbG93U2NyaXB0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NyaXB0L3Rhc2sgdG8gcnVuIGJlZm9yZSBkZXBsb3ltZW50IG9mIHRoZSBlbnZpcm9ubWVudCBpbiB0aGUgd29ya2Zsb3dcbiAgICogSWYgbm90IHByZXNlbnQsIHRoZSB3b3JrZmxvdyB3aWxsIG5vdCBleGVjdXRlIHRoYXRcbiAgICpcbiAgICogQGV4YW1wbGUgXCJwcmU6ZGVwbG95XCJcbiAgICovXG4gIHJlYWRvbmx5IHByZURlcGxveVdvcmtmbG93U2NyaXB0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFXU0NyZWRlbnRpYWxzIHtcbiAgLyoqXG4gICAqIEdpdEh1YiBTZWNyZXQgbmFtZSBmb3IgQVdTIEFjY2VzcyBLZXkgSWRcbiAgICogQGRlZmF1bHQgXCJBV1NfQUNDRVNTX0tFWV9JRFwiXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NLZXlJZFNlY3JldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdpdEh1YiBTZWNyZXQgbmFtZSBmb3IgQVdTIFNlY3JldCBBY2Nlc3MgS2V5XG4gICAqIEBkZWZhdWx0IFwiQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZXCJcbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldEFjY2Vzc0tleVNlY3JldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFSTiBvZiBBV1Mgcm9sZSB0byBiZSBhc3N1bWVkXG4gICAqL1xuICByZWFkb25seSByb2xlVG9Bc3N1bWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIER1cmF0aW9uIG9mIGFzc3VtZSByb2xlIHNlc3Npb25cbiAgICogQGRlZmF1bHQgOTAwXG4gICAqL1xuICByZWFkb25seSBhc3N1bWVSb2xlRHVyYXRpb25TZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IEFXUyByZWdpb24gZm9yIHRoZSBhY2NvdW50XG4gICAqIEBleGFtcGxlIFwidXMtZWFzdC0yXCJcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXdzY2RrfSBmcm9tICdwcm9qZW4nXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95YWJsZUF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHtcbiAgLyoqXG4gICAqIERlcGxveW1lbnQgb3B0aW9uc1xuICAgKiBAZGVmYXVsdCBcImNvbmZpZyB3aXRoIGVtcHR5IGxpc3Qgb2YgZW52aXJvbm1lbnRzXCJcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveU9wdGlvbnM/OiBEZXBsb3lPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGdlbmVyYXRlIG52bXJjIGZpbGUgZm9yIHRoZSBub2RlIHZlcnNpb24gb2YgdGhlIHByb2plY3RcbiAgICogaWYgc2V0IHRvIHRydWUsIGFuZCBubyBcIndvcmtmbG93Tm9kZVZlcnNpb25cIiBpcyBzcGVjaWZpZWQgd2lsbCB1c2UgdmVyc2lvbiAxNC4xOC4xXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGdlbmVyYXRlTnZtcmM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNoZWNrIGFuZCBza2lwIHRoZSBkZXBsb3ltZW50IGZvciBlbnZpcm9ubWVudHMgdGhhdCBoYXZlIGFjdGl2ZSBkZXBsb3ltZW50IG9mIHRoZSBzYW1lIGNvbW1pdFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hlY2tBY3RpdmVEZXBsb3ltZW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHNldHRpbmdzIHRvIGRlcGxveSB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudE9wdGlvbnNbXTtcblxuICAvKipcbiAgICogUmVnZXggZm9yIHN0YWNrcyB0byBiZSBkZXBsb3llZFxuICAgKlxuICAgKiBpZiBub3QgcHJvdmlkZWQgbWF0Y2hlcyBhbGwgb2YgdGhlIHN0YWNrcyBpbiB0aGUgQ0RLIEFwcC5cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBzdGFja1BhdHRlcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIG5wbSBjb25maWcgbmFtZSB0byBzZXQgYXMgdGhlIGVudmlyb25tZW50IG5hbWVcbiAgICogVGhpcyBtaWdodCBiZSB1c2VmdWwgaW4gZGVwbG95bWVudCBwcm9jZXNzXG4gICAqXG4gICAqIERvZXMgbm90IHN1cHBvcnQgbm9kZSB2ZXJzaW9ucyBhYm92ZSAxOC5cbiAgICpcbiAgICogaWYgbm90IHByb3ZpZGVkIHdpbGwgbm90IHNldFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IG5wbUNvbmZpZ0Vudmlyb25tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSB1c2VkIHRvIHNldCB0aGUgZGVwbG95IGVudmlyb25tZW50IG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIHRhc2sgbmFtZSB0byBydW4gcHJpb3IgdG8gaW5zdGFsbGF0aW9uIGluIGRlcGxveSBqb2Igb2Ygd29ya2Zsb3dcbiAgICogaWYgbm90IHByb3ZpZGVkIHdpbGwgbm90IGFkZCB0byB3b3JrZmxvd1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHRhc2tUb1J1blByZUluc3RhbGw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhvdyB0byBwZXJmb3JtIHRoZSBkZXBsb3ltZW50LiBEaXJlY3QgaXMgYSBiaXQgZmFzdGVyIGJ1dCBsYWNrcyBwcm9ncmVzcyBpbmZvcm1hdGlvblxuICAgKiBAZGVmYXVsdCBcImNoYW5nZS1zZXRcIlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0aG9kPzogJ2RpcmVjdCcgfCAnY2hhbmdlLXNldCcgfCAncHJlcGFyZS1jaGFuZ2Utc2V0Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudE9wdGlvbnMge1xuICAvKipcbiAgICogRW52aXJvbm1lbnQgbmFtZSB0byBkZXBsb3kgdG9cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQVdTIGNyZWRlbnRpYWwgZGV0YWlscyBmb3IgZGVwbG95bWVudFxuICAgKi9cbiAgcmVhZG9ubHkgYXdzQ3JlZGVudGlhbHM6IEFXU0NyZWRlbnRpYWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NyaXB0L3Rhc2sgdG8gcnVuIGFmdGVyIGRlcGxveW1lbnQgb2YgdGhlIGVudmlyb25tZW50IGluIHRoZSB3b3JrZmxvd1xuICAgKiBJZiBub3QgcHJlc2VudCwgdGhlIHdvcmtmbG93IHdpbGwgbm90IGV4ZWN1dGUgdGhhdFxuICAgKlxuICAgKiBAZXhhbXBsZSBcInBvc3Q6ZGVwbG95XCJcbiAgICovXG4gIHJlYWRvbmx5IHBvc3REZXBsb3lXb3JrZmxvd1NjcmlwdD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNjcmlwdC90YXNrIHRvIHJ1biBiZWZvcmUgZGVwbG95bWVudCBvZiB0aGUgZW52aXJvbm1lbnQgaW4gdGhlIHdvcmtmbG93XG4gICAqIElmIG5vdCBwcmVzZW50LCB0aGUgd29ya2Zsb3cgd2lsbCBub3QgZXhlY3V0ZSB0aGF0XG4gICAqXG4gICAqIEBleGFtcGxlIFwicHJlOmRlcGxveVwiXG4gICAqL1xuICByZWFkb25seSBwcmVEZXBsb3lXb3JrZmxvd1NjcmlwdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBV1NDcmVkZW50aWFscyB7XG4gIC8qKlxuICAgKiBHaXRIdWIgU2VjcmV0IG5hbWUgZm9yIEFXUyBBY2Nlc3MgS2V5IElkXG4gICAqIEBkZWZhdWx0IFwiQVdTX0FDQ0VTU19LRVlfSURcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzS2V5SWRTZWNyZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHaXRIdWIgU2VjcmV0IG5hbWUgZm9yIEFXUyBTZWNyZXQgQWNjZXNzIEtleVxuICAgKiBAZGVmYXVsdCBcIkFXU19TRUNSRVRfQUNDRVNTX0tFWVwiXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRBY2Nlc3NLZXlTZWNyZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBUk4gb2YgQVdTIHJvbGUgdG8gYmUgYXNzdW1lZFxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZVRvQXNzdW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEdXJhdGlvbiBvZiBhc3N1bWUgcm9sZSBzZXNzaW9uXG4gICAqIEBkZWZhdWx0IDkwMFxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUR1cmF0aW9uU2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmYXVsdCBBV1MgcmVnaW9uIGZvciB0aGUgYWNjb3VudFxuICAgKiBAZXhhbXBsZSBcInVzLWVhc3QtMlwiXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ The ISC License
2
+
3
+ Copyright (c) Isaac Z. Schlueter and Contributors
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
15
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.