@cdktn/commons 0.23.0-pre.7 → 0.23.0

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 (92) hide show
  1. package/ambient.d.ts +0 -2
  2. package/build/checkpoint.d.ts.map +1 -0
  3. package/build/checkpoint.js +176 -0
  4. package/build/config.d.ts.map +1 -0
  5. package/build/config.js +267 -0
  6. package/build/config.test.d.ts.map +1 -0
  7. package/build/config.test.js +680 -0
  8. package/build/construct-maker-target.d.ts.map +1 -0
  9. package/build/construct-maker-target.js +129 -0
  10. package/build/construct-maker-target.test.d.ts.map +1 -0
  11. package/build/construct-maker-target.test.js +72 -0
  12. package/build/debug.d.ts.map +1 -0
  13. package/build/debug.js +379 -0
  14. package/build/environment.d.ts.map +1 -0
  15. package/build/environment.js +15 -0
  16. package/build/errors.d.ts.map +1 -0
  17. package/build/errors.js +75 -0
  18. package/build/gradle.d.ts.map +1 -0
  19. package/build/gradle.js +160 -0
  20. package/build/index.d.ts.map +1 -0
  21. package/{src → build}/index.js +1 -1
  22. package/build/logging.d.ts.map +1 -0
  23. package/build/logging.js +117 -0
  24. package/{src → build}/module-schema.d.ts +1 -0
  25. package/build/module-schema.d.ts.map +1 -0
  26. package/build/module-schema.js +3 -0
  27. package/build/provider-schema.d.ts.map +1 -0
  28. package/build/provider-schema.js +21 -0
  29. package/build/terraform-module.d.ts.map +1 -0
  30. package/build/terraform-module.js +23 -0
  31. package/build/terraform-module.test.d.ts.map +1 -0
  32. package/build/terraform-module.test.js +31 -0
  33. package/build/terraform.d.ts.map +1 -0
  34. package/build/terraform.js +12 -0
  35. package/build/util.d.ts.map +1 -0
  36. package/build/util.js +262 -0
  37. package/build/version.d.ts.map +1 -0
  38. package/build/version.js +11 -0
  39. package/eslint.config.mjs +1 -76
  40. package/package.json +11 -20
  41. package/src/checkpoint.d.ts.map +0 -1
  42. package/src/checkpoint.js +0 -176
  43. package/src/config.d.ts.map +0 -1
  44. package/src/config.js +0 -267
  45. package/src/config.test.d.ts.map +0 -1
  46. package/src/config.test.js +0 -680
  47. package/src/construct-maker-target.d.ts.map +0 -1
  48. package/src/construct-maker-target.js +0 -129
  49. package/src/construct-maker-target.test.d.ts.map +0 -1
  50. package/src/construct-maker-target.test.js +0 -72
  51. package/src/debug.d.ts.map +0 -1
  52. package/src/debug.js +0 -379
  53. package/src/environment.d.ts.map +0 -1
  54. package/src/environment.js +0 -15
  55. package/src/errors.d.ts.map +0 -1
  56. package/src/errors.js +0 -75
  57. package/src/gradle.d.ts.map +0 -1
  58. package/src/gradle.js +0 -160
  59. package/src/index.d.ts.map +0 -1
  60. package/src/logging.d.ts.map +0 -1
  61. package/src/logging.js +0 -117
  62. package/src/module-schema.d.ts.map +0 -1
  63. package/src/module-schema.js +0 -3
  64. package/src/provider-schema.d.ts.map +0 -1
  65. package/src/provider-schema.js +0 -21
  66. package/src/terraform-module.d.ts.map +0 -1
  67. package/src/terraform-module.js +0 -23
  68. package/src/terraform-module.test.d.ts.map +0 -1
  69. package/src/terraform-module.test.js +0 -31
  70. package/src/terraform.d.ts.map +0 -1
  71. package/src/terraform.js +0 -12
  72. package/src/util.d.ts.map +0 -1
  73. package/src/util.js +0 -262
  74. package/src/version.d.ts.map +0 -1
  75. package/src/version.js +0 -11
  76. /package/{src → build}/checkpoint.d.ts +0 -0
  77. /package/{src → build}/config.d.ts +0 -0
  78. /package/{src → build}/config.test.d.ts +0 -0
  79. /package/{src → build}/construct-maker-target.d.ts +0 -0
  80. /package/{src → build}/construct-maker-target.test.d.ts +0 -0
  81. /package/{src → build}/debug.d.ts +0 -0
  82. /package/{src → build}/environment.d.ts +0 -0
  83. /package/{src → build}/errors.d.ts +0 -0
  84. /package/{src → build}/gradle.d.ts +0 -0
  85. /package/{src → build}/index.d.ts +0 -0
  86. /package/{src → build}/logging.d.ts +0 -0
  87. /package/{src → build}/provider-schema.d.ts +0 -0
  88. /package/{src → build}/terraform-module.d.ts +0 -0
  89. /package/{src → build}/terraform-module.test.d.ts +0 -0
  90. /package/{src → build}/terraform.d.ts +0 -0
  91. /package/{src → build}/util.d.ts +0 -0
  92. /package/{src → build}/version.d.ts +0 -0
package/src/debug.js DELETED
@@ -1,379 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.collectDebugInformation = exports.getPackageVersion = exports.getNodeVersion = exports.getGoVersion = exports.getPipenvVersion = exports.getPipVersion = exports.getPythonVersion = exports.getGradleVersion = exports.getMavenVersion = exports.getJavaVersion = exports.getDotnetVersion = exports.getLanguage = void 0;
27
- // Copyright (c) HashiCorp, Inc
28
- // SPDX-License-Identifier: MPL-2.0
29
- const path = __importStar(require("path"));
30
- const os = __importStar(require("os"));
31
- const logging_1 = require("./logging");
32
- const util_1 = require("./util");
33
- const terraform_1 = require("./terraform");
34
- const version_1 = require("./version");
35
- const fs_extra_1 = require("fs-extra");
36
- const gradle_1 = require("./gradle");
37
- function getLanguage(projectPath = process.cwd()) {
38
- try {
39
- const cdktfJson = require(path.resolve(projectPath, "cdktf.json"));
40
- return cdktfJson.language;
41
- }
42
- catch (_a) {
43
- // We can not detect the language
44
- logging_1.logger.debug(`Unable to detect language in ${projectPath}`);
45
- return undefined;
46
- }
47
- }
48
- exports.getLanguage = getLanguage;
49
- async function getBinaryVersion(binary, versionCommand) {
50
- const noOp = () => { }; // eslint-disable-line @typescript-eslint/no-empty-function
51
- try {
52
- const result = await (0, util_1.exec)(binary, [versionCommand], { env: process.env, stdio: [undefined, undefined, "ignore"] }, noOp, noOp);
53
- return result.trim().replace(/\r?\n|\r/g, "");
54
- }
55
- catch (e) {
56
- logging_1.logger.debug(`Failed to run ${binary} ${versionCommand}: ${e}`);
57
- return undefined;
58
- }
59
- }
60
- function getDotnetVersion() {
61
- return getBinaryVersion("dotnet", "--version");
62
- }
63
- exports.getDotnetVersion = getDotnetVersion;
64
- function getJavaVersion() {
65
- return getBinaryVersion("java", "-version");
66
- }
67
- exports.getJavaVersion = getJavaVersion;
68
- function getMavenVersion() {
69
- return getBinaryVersion("mvn", "--version");
70
- }
71
- exports.getMavenVersion = getMavenVersion;
72
- function getGradleVersion() {
73
- return getBinaryVersion("gradle", "--version");
74
- }
75
- exports.getGradleVersion = getGradleVersion;
76
- async function getPythonVersion() {
77
- return ((await getBinaryVersion("python3", "--version")) ||
78
- (await getBinaryVersion("python", "--version")));
79
- }
80
- exports.getPythonVersion = getPythonVersion;
81
- function getPipVersion() {
82
- return getBinaryVersion("pip", "--version");
83
- }
84
- exports.getPipVersion = getPipVersion;
85
- function getPipenvVersion() {
86
- return getBinaryVersion("pipenv", "--version");
87
- }
88
- exports.getPipenvVersion = getPipenvVersion;
89
- function getGoVersion() {
90
- return getBinaryVersion("go", "version");
91
- }
92
- exports.getGoVersion = getGoVersion;
93
- function getNodeVersion() {
94
- return getBinaryVersion("node", "--version");
95
- }
96
- exports.getNodeVersion = getNodeVersion;
97
- async function getNodeModuleVersion(packageName) {
98
- // Use the presence of the pnpm lock file as a signal that
99
- // we should interrogate packages via pnpm instead of npm.
100
- const usingPnpm = await (0, fs_extra_1.pathExists)("pnpm-lock.yaml");
101
- return usingPnpm
102
- ? getPnpmNodeModuleVersion(packageName)
103
- : getNpmNodeModuleVersion(packageName);
104
- }
105
- async function getPnpmNodeModuleVersion(packageName) {
106
- var _a, _b, _c;
107
- let output;
108
- try {
109
- output = await (0, util_1.exec)("pnpm", ["list", packageName, "--json"], {
110
- env: { ...process.env },
111
- });
112
- }
113
- catch (e) {
114
- logging_1.logger.debug(`Unable to run 'pnpm list ${packageName} --json': ${e}`);
115
- return undefined;
116
- }
117
- let json;
118
- try {
119
- json = JSON.parse(output);
120
- }
121
- catch (e) {
122
- logging_1.logger.debug(`Unable to parse output of 'pnpm list ${packageName} --json': ${e}`);
123
- return undefined;
124
- }
125
- if (!json ||
126
- !Array.isArray(json) ||
127
- json.length === 0 ||
128
- !((_c = (_b = (_a = json[0]) === null || _a === void 0 ? void 0 : _a.dependencies) === null || _b === void 0 ? void 0 : _b[packageName]) === null || _c === void 0 ? void 0 : _c.version)) {
129
- logging_1.logger.debug(`Unable to find '${packageName}' in 'pnpm list ${packageName} --json': ${output}`);
130
- return undefined;
131
- }
132
- return json[0].dependencies[packageName].version;
133
- }
134
- async function getNpmNodeModuleVersion(packageName) {
135
- let output;
136
- try {
137
- output = await (0, util_1.exec)("npm", ["list", packageName, "--json"], {
138
- env: { ...process.env },
139
- });
140
- }
141
- catch (e) {
142
- logging_1.logger.debug(`Unable to run 'npm list ${packageName} --json': ${e}`);
143
- return undefined;
144
- }
145
- let json;
146
- try {
147
- json = JSON.parse(output);
148
- }
149
- catch (e) {
150
- logging_1.logger.debug(`Unable to parse output of 'npm list ${packageName} --json': ${e}`);
151
- return undefined;
152
- }
153
- if (!json.dependencies ||
154
- !json.dependencies[packageName] ||
155
- !json.dependencies[packageName].version) {
156
- logging_1.logger.debug(`Unable to find '${packageName}' in 'npm list ${packageName} --json': ${output}`);
157
- return undefined;
158
- }
159
- return json.dependencies[packageName].version;
160
- }
161
- async function getPythonPackageVersion(packageName) {
162
- let output;
163
- try {
164
- output = await (0, util_1.exec)("pipenv", ["run", "pip", "show", "-qq", packageName], {
165
- env: process.env,
166
- });
167
- // Running with `-qq` suppresses both missing packages and actual package
168
- output = await (0, util_1.exec)("pipenv", ["run", "pip", "show", packageName], {
169
- env: process.env,
170
- });
171
- }
172
- catch (e) {
173
- logging_1.logger.debug(`Unable to run 'pipenv run pip show ${packageName}': ${e}`);
174
- }
175
- // If we couldn't get the output using pipenv, try to get it using pip directly
176
- if (!output) {
177
- try {
178
- output = await (0, util_1.exec)("pip", ["show", "-qq", packageName], {
179
- env: process.env,
180
- });
181
- // Running with `-qq` suppresses both missing packages and actual package
182
- output = await (0, util_1.exec)("pip", ["show", packageName], {
183
- env: process.env,
184
- });
185
- }
186
- catch (e) {
187
- logging_1.logger.debug(`Unable to run 'pip show ${packageName}': ${e}`);
188
- }
189
- }
190
- if (!output) {
191
- return undefined;
192
- }
193
- const versionInfo = output
194
- .split(/\r\n|\r|\n/)
195
- .find((line) => line.startsWith("Version:"));
196
- if (!versionInfo) {
197
- logging_1.logger.debug(`Unable to find version in output of 'pipenv run pip show ${packageName}' / 'pip show ${packageName}': ${output}`);
198
- return undefined;
199
- }
200
- const version = versionInfo.split(":")[1].trim();
201
- return version;
202
- }
203
- // Once https://github.com/NuGet/Home/issues/7752 gets resolved we can also try with --json
204
- async function getCSharpPackageVersion(packageName) {
205
- const translationMap = {
206
- jsii: "Amazon.JSII.Runtime",
207
- constructs: "Constructs",
208
- cdktf: "HashiCorp.Cdktf",
209
- cdktn: "Io.Cdktn",
210
- };
211
- const cSharpPackageName = translationMap[packageName] || packageName;
212
- let output;
213
- try {
214
- output = await (0, util_1.exec)("dotnet", ["list", "package", "--include-transitive"], {
215
- env: process.env,
216
- });
217
- }
218
- catch (e) {
219
- logging_1.logger.debug(`Unable to run 'dotnet list package --include-transitive': ${e}`);
220
- return undefined;
221
- }
222
- const versionLine = output
223
- .split(/\r\n|\r|\n/)
224
- .find((line) => line.includes(`> ${cSharpPackageName}`));
225
- if (!versionLine) {
226
- logging_1.logger.debug(`Unable to find version for '${cSharpPackageName}' in output of 'dotnet list package --include-transitive': ${output}`);
227
- return undefined;
228
- }
229
- // A line might look like this:
230
- // Transitive Package Resolved
231
- // > Amazon.JSII.Runtime 1.17.1
232
- // Therefore we reverse split by whitespace and reverse
233
- // so that the first thing we find is the version number
234
- return versionLine
235
- .split(" ")
236
- .reverse()
237
- .find((part) => part !== "");
238
- }
239
- async function getGoPackageVersion(packageName) {
240
- var _a;
241
- const translationMap = {
242
- jsii: "jsii-runtime-go",
243
- cdktf: "github.com/hashicorp/terraform-cdk-go",
244
- cdktn: "github.com/open-constructs/cdk-terrain-go",
245
- };
246
- const goPackageName = translationMap[packageName] || packageName;
247
- let output;
248
- try {
249
- output = await (0, util_1.exec)("go", ["list", "-m", "all"], {
250
- env: process.env,
251
- });
252
- }
253
- catch (e) {
254
- logging_1.logger.debug(`Unable to run 'go list -m all': ${e}`);
255
- return undefined;
256
- }
257
- let versionLine = output
258
- .split(/\r\n|\r|\n/)
259
- .find((line) => line.includes(goPackageName));
260
- if (!versionLine) {
261
- logging_1.logger.debug(`Unable to find version for '${goPackageName}' in output of 'go list -m all': ${output}`);
262
- return undefined;
263
- }
264
- // We are dealing with a local version
265
- if (versionLine.includes("=>")) {
266
- logging_1.logger.debug(`Found local version for '${goPackageName}': ${versionLine}`);
267
- versionLine = versionLine.split("=>")[0].trim();
268
- }
269
- return (_a = versionLine.split(" ").pop()) === null || _a === void 0 ? void 0 : _a.replace("v", "");
270
- }
271
- async function getMavenPackageVersion(packageName) {
272
- const translationMap = {
273
- jsii: "jsii-runtime",
274
- };
275
- const javaPackageName = translationMap[packageName] || packageName;
276
- let output;
277
- try {
278
- output = await (0, util_1.exec)("mvn", ["dependency:list"], {
279
- env: process.env,
280
- });
281
- }
282
- catch (e) {
283
- logging_1.logger.debug(`Unable to run 'mvn dependency:list': ${e}`);
284
- return undefined;
285
- }
286
- const resolutionPart = output.split("The following files have been resolved")[1];
287
- if (!resolutionPart) {
288
- logging_1.logger.debug(`Unable to find resolution passage in output of 'mvn dependency:list': ${output}`);
289
- return undefined;
290
- }
291
- // We need to search for the package name AND a colon to not match a line like
292
- // [INFO] com.hashicorp:cdktf-provider-aws:jar:9.0.9:compile
293
- // when looking for the cdktf package (see Github issue #1994)
294
- const versionLine = resolutionPart
295
- .split(/\r\n|\r|\n/)
296
- .find((line) => line.includes(`${javaPackageName}:`));
297
- if (!versionLine) {
298
- logging_1.logger.debug(`Unable to find version for '${javaPackageName}' in output of 'mvn dependency:list': ${output}`);
299
- return undefined;
300
- }
301
- // Example line: [INFO] com.hashicorp:cdktf:jar:0.0.0:compile
302
- const versionStartDelimiter = `${javaPackageName}:jar:`;
303
- const versionStart = versionLine.indexOf(versionStartDelimiter) + versionStartDelimiter.length;
304
- const versionEndDelemiter = ":compile";
305
- const versionEnd = versionLine.indexOf(versionEndDelemiter);
306
- return versionLine.substring(versionStart, versionEnd);
307
- }
308
- async function getJavaPackageVersion(packageName) {
309
- if ((0, gradle_1.isGradleProject)("./")) {
310
- return (0, gradle_1.getGradlePackageVersion)(packageName);
311
- }
312
- return getMavenPackageVersion(packageName);
313
- }
314
- async function getPackageVersion(language, packageName) {
315
- const noOp = async () => undefined; // eslint-disable-line @typescript-eslint/no-empty-function
316
- const getLibraryVersionMap = {
317
- typescript: getNodeModuleVersion,
318
- python: getPythonPackageVersion,
319
- go: getGoPackageVersion,
320
- csharp: getCSharpPackageVersion,
321
- java: getJavaPackageVersion,
322
- };
323
- const libVersion = await (getLibraryVersionMap[language] || noOp)(packageName);
324
- return libVersion !== null && libVersion !== void 0 ? libVersion : undefined;
325
- }
326
- exports.getPackageVersion = getPackageVersion;
327
- async function collectDebugInformation() {
328
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
329
- const debugOutput = {};
330
- const language = getLanguage();
331
- debugOutput["language"] = language !== null && language !== void 0 ? language : null;
332
- debugOutput["cdktn-cli"] = version_1.DISPLAY_VERSION;
333
- const node = getNodeVersion();
334
- debugOutput["node"] = (_a = (await node)) !== null && _a !== void 0 ? _a : null;
335
- if (language) {
336
- const cdktn = getPackageVersion(language, "cdktn");
337
- const cdktf = getPackageVersion(language, "cdktf");
338
- const constructs = getPackageVersion(language, "constructs");
339
- const jsii = getPackageVersion(language, "jsii");
340
- debugOutput["cdktn"] = (_b = (await cdktn)) !== null && _b !== void 0 ? _b : null;
341
- debugOutput["cdktf"] = (_c = (await cdktf)) !== null && _c !== void 0 ? _c : null;
342
- debugOutput["constructs"] = (_d = (await constructs)) !== null && _d !== void 0 ? _d : null;
343
- debugOutput["jsii"] = (_e = (await jsii)) !== null && _e !== void 0 ? _e : null;
344
- }
345
- debugOutput["terraform"] = await terraform_1.terraformVersion;
346
- debugOutput["arch"] = os.arch();
347
- debugOutput["os"] = `${os.platform()} ${os.release()}`;
348
- switch (language) {
349
- case "python":
350
- {
351
- const python = getPythonVersion();
352
- const pip = getPipVersion();
353
- const pipenv = getPipenvVersion();
354
- debugOutput["python"] = (_f = (await python)) !== null && _f !== void 0 ? _f : null;
355
- debugOutput["pip"] = (_g = (await pip)) !== null && _g !== void 0 ? _g : null;
356
- debugOutput["pipenv"] = (_h = (await pipenv)) !== null && _h !== void 0 ? _h : null;
357
- }
358
- break;
359
- case "java":
360
- {
361
- const java = getJavaVersion();
362
- const maven = getMavenVersion();
363
- const gradle = getGradleVersion();
364
- debugOutput["java"] = (_j = (await java)) !== null && _j !== void 0 ? _j : null;
365
- debugOutput["maven"] = (_k = (await maven)) !== null && _k !== void 0 ? _k : null;
366
- debugOutput["gradle"] = (_l = (await gradle)) !== null && _l !== void 0 ? _l : null;
367
- }
368
- break;
369
- case "csharp":
370
- debugOutput["dotnet"] = (_m = (await getDotnetVersion())) !== null && _m !== void 0 ? _m : null;
371
- break;
372
- case "go":
373
- debugOutput["go"] = (_o = (await getGoVersion())) !== null && _o !== void 0 ? _o : null;
374
- break;
375
- }
376
- return debugOutput;
377
- }
378
- exports.collectDebugInformation = collectDebugInformation;
379
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWJ1Zy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLHVDQUF5QjtBQUN6Qix1Q0FBbUM7QUFDbkMsaUNBQThCO0FBQzlCLDJDQUErQztBQUMvQyx1Q0FBNEM7QUFDNUMsdUNBQXNDO0FBQ3RDLHFDQUFvRTtBQUVwRSxTQUFnQixXQUFXLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7SUFDckQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDbkUsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFBQyxXQUFNLENBQUM7UUFDUCxpQ0FBaUM7UUFDakMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDNUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFURCxrQ0FTQztBQUVELEtBQUssVUFBVSxnQkFBZ0IsQ0FDN0IsTUFBYyxFQUNkLGNBQXNCO0lBRXRCLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDLDJEQUEyRDtJQUNsRixJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsV0FBSSxFQUN2QixNQUFNLEVBQ04sQ0FBQyxjQUFjLENBQUMsRUFDaEIsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQzdELElBQUksRUFDSixJQUFJLENBQ0wsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLElB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RyxlQUFlLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbEMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQUEsQ0FBQyxNQUFNLElBQUksQ0FBQyxtQ0FBSSxJQUFJLENBQUM7Z0JBQzNDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxLQUFLLENBQUMsbUNBQUksSUFBSSxDQUFDO2dCQUM3QyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBQSxDQUFDLE1BQU0sTUFBTSxDQUFDLG1DQUFJLElBQUksQ0FBQztZQUNqRCxDQUFDO1lBQ0QsTUFBTTtRQUNSLEtBQUssUUFBUTtZQUNYLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFBLENBQUMsTUFBTSxnQkFBZ0IsRUFBRSxDQUFDLG1DQUFJLElBQUksQ0FBQztZQUMzRCxNQUFNO1FBQ1IsS0FBSyxJQUFJO1lBQ1AsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQUEsQ0FBQyxNQUFNLFlBQVksRUFBRSxDQUFDLG1DQUFJLElBQUksQ0FBQztZQUNuRCxNQUFNO0lBQ1YsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUF0REQsMERBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2luZ1wiO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IHRlcnJhZm9ybVZlcnNpb24gfSBmcm9tIFwiLi90ZXJyYWZvcm1cIjtcbmltcG9ydCB7IERJU1BMQVlfVkVSU0lPTiB9IGZyb20gXCIuL3ZlcnNpb25cIjtcbmltcG9ydCB7IHBhdGhFeGlzdHMgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IGdldEdyYWRsZVBhY2thZ2VWZXJzaW9uLCBpc0dyYWRsZVByb2plY3QgfSBmcm9tIFwiLi9ncmFkbGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExhbmd1YWdlKHByb2plY3RQYXRoID0gcHJvY2Vzcy5jd2QoKSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgY29uc3QgY2RrdGZKc29uID0gcmVxdWlyZShwYXRoLnJlc29sdmUocHJvamVjdFBhdGgsIFwiY2RrdGYuanNvblwiKSk7XG4gICAgcmV0dXJuIGNka3RmSnNvbi5sYW5ndWFnZTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gV2UgY2FuIG5vdCBkZXRlY3QgdGhlIGxhbmd1YWdlXG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gZGV0ZWN0IGxhbmd1YWdlIGluICR7cHJvamVjdFBhdGh9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRCaW5hcnlWZXJzaW9uKFxuICBiaW5hcnk6IHN0cmluZyxcbiAgdmVyc2lvbkNvbW1hbmQ6IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IG5vT3AgPSAoKSA9PiB7fTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBleGVjKFxuICAgICAgYmluYXJ5LFxuICAgICAgW3ZlcnNpb25Db21tYW5kXSxcbiAgICAgIHsgZW52OiBwcm9jZXNzLmVudiwgc3RkaW86IFt1bmRlZmluZWQsIHVuZGVmaW5lZCwgXCJpZ25vcmVcIl0gfSxcbiAgICAgIG5vT3AsXG4gICAgICBub09wLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdC50cmltKCkucmVwbGFjZSgvXFxyP1xcbnxcXHIvZywgXCJcIik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYEZhaWxlZCB0byBydW4gJHtiaW5hcnl9ICR7dmVyc2lvbkNvbW1hbmR9OiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RG90bmV0VmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJkb3RuZXRcIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRKYXZhVmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJqYXZhXCIsIFwiLXZlcnNpb25cIik7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0TWF2ZW5WZXJzaW9uKCkge1xuICByZXR1cm4gZ2V0QmluYXJ5VmVyc2lvbihcIm12blwiLCBcIi0tdmVyc2lvblwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdyYWRsZVZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiZ3JhZGxlXCIsIFwiLS12ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHl0aG9uVmVyc2lvbigpIHtcbiAgcmV0dXJuIChcbiAgICAoYXdhaXQgZ2V0QmluYXJ5VmVyc2lvbihcInB5dGhvbjNcIiwgXCItLXZlcnNpb25cIikpIHx8XG4gICAgKGF3YWl0IGdldEJpbmFyeVZlcnNpb24oXCJweXRob25cIiwgXCItLXZlcnNpb25cIikpXG4gICk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0UGlwVmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJwaXBcIiwgXCItLXZlcnNpb25cIik7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0UGlwZW52VmVyc2lvbigpIHtcbiAgcmV0dXJuIGdldEJpbmFyeVZlcnNpb24oXCJwaXBlbnZcIiwgXCItLXZlcnNpb25cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHb1ZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwiZ29cIiwgXCJ2ZXJzaW9uXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9kZVZlcnNpb24oKSB7XG4gIHJldHVybiBnZXRCaW5hcnlWZXJzaW9uKFwibm9kZVwiLCBcIi0tdmVyc2lvblwiKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0Tm9kZU1vZHVsZVZlcnNpb24oXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAvLyBVc2UgdGhlIHByZXNlbmNlIG9mIHRoZSBwbnBtIGxvY2sgZmlsZSBhcyBhIHNpZ25hbCB0aGF0XG4gIC8vIHdlIHNob3VsZCBpbnRlcnJvZ2F0ZSBwYWNrYWdlcyB2aWEgcG5wbSBpbnN0ZWFkIG9mIG5wbS5cbiAgY29uc3QgdXNpbmdQbnBtID0gYXdhaXQgcGF0aEV4aXN0cyhcInBucG0tbG9jay55YW1sXCIpO1xuXG4gIHJldHVybiB1c2luZ1BucG1cbiAgICA/IGdldFBucG1Ob2RlTW9kdWxlVmVyc2lvbihwYWNrYWdlTmFtZSlcbiAgICA6IGdldE5wbU5vZGVNb2R1bGVWZXJzaW9uKHBhY2thZ2VOYW1lKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0UG5wbU5vZGVNb2R1bGVWZXJzaW9uKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IG91dHB1dDtcblxuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJwbnBtXCIsIFtcImxpc3RcIiwgcGFja2FnZU5hbWUsIFwiLS1qc29uXCJdLCB7XG4gICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYgfSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIHJ1biAncG5wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7ZX1gKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgbGV0IGpzb247XG4gIHRyeSB7XG4gICAganNvbiA9IEpTT04ucGFyc2Uob3V0cHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gcGFyc2Ugb3V0cHV0IG9mICdwbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKFxuICAgICFqc29uIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoanNvbikgfHxcbiAgICBqc29uLmxlbmd0aCA9PT0gMCB8fFxuICAgICFqc29uWzBdPy5kZXBlbmRlbmNpZXM/LltwYWNrYWdlTmFtZV0/LnZlcnNpb25cbiAgKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kICcke3BhY2thZ2VOYW1lfScgaW4gJ3BucG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiBqc29uWzBdLmRlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0udmVyc2lvbjtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0TnBtTm9kZU1vZHVsZVZlcnNpb24oXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBsZXQgb3V0cHV0O1xuXG4gIHRyeSB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcIm5wbVwiLCBbXCJsaXN0XCIsIHBhY2thZ2VOYW1lLCBcIi0tanNvblwiXSwge1xuICAgICAgZW52OiB7IC4uLnByb2Nlc3MuZW52IH0sXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ25wbSBsaXN0ICR7cGFja2FnZU5hbWV9IC0tanNvbic6ICR7ZX1gKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgbGV0IGpzb247XG4gIHRyeSB7XG4gICAganNvbiA9IEpTT04ucGFyc2Uob3V0cHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gcGFyc2Ugb3V0cHV0IG9mICducG0gbGlzdCAke3BhY2thZ2VOYW1lfSAtLWpzb24nOiAke2V9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAoXG4gICAgIWpzb24uZGVwZW5kZW5jaWVzIHx8XG4gICAgIWpzb24uZGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXSB8fFxuICAgICFqc29uLmRlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0udmVyc2lvblxuICApIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgJyR7cGFja2FnZU5hbWV9JyBpbiAnbnBtIGxpc3QgJHtwYWNrYWdlTmFtZX0gLS1qc29uJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ganNvbi5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb247XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFB5dGhvblBhY2thZ2VWZXJzaW9uKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IG91dHB1dDtcbiAgdHJ5IHtcbiAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwZW52XCIsIFtcInJ1blwiLCBcInBpcFwiLCBcInNob3dcIiwgXCItcXFcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIH0pO1xuXG4gICAgLy8gUnVubmluZyB3aXRoIGAtcXFgIHN1cHByZXNzZXMgYm90aCBtaXNzaW5nIHBhY2thZ2VzIGFuZCBhY3R1YWwgcGFja2FnZVxuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJwaXBlbnZcIiwgW1wicnVuXCIsIFwicGlwXCIsIFwic2hvd1wiLCBwYWNrYWdlTmFtZV0sIHtcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ3BpcGVudiBydW4gcGlwIHNob3cgJHtwYWNrYWdlTmFtZX0nOiAke2V9YCk7XG4gIH1cblxuICAvLyBJZiB3ZSBjb3VsZG4ndCBnZXQgdGhlIG91dHB1dCB1c2luZyBwaXBlbnYsIHRyeSB0byBnZXQgaXQgdXNpbmcgcGlwIGRpcmVjdGx5XG4gIGlmICghb3V0cHV0KSB7XG4gICAgdHJ5IHtcbiAgICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJwaXBcIiwgW1wic2hvd1wiLCBcIi1xcVwiLCBwYWNrYWdlTmFtZV0sIHtcbiAgICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgIH0pO1xuXG4gICAgICAvLyBSdW5uaW5nIHdpdGggYC1xcWAgc3VwcHJlc3NlcyBib3RoIG1pc3NpbmcgcGFja2FnZXMgYW5kIGFjdHVhbCBwYWNrYWdlXG4gICAgICBvdXRwdXQgPSBhd2FpdCBleGVjKFwicGlwXCIsIFtcInNob3dcIiwgcGFja2FnZU5hbWVdLCB7XG4gICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ3BpcCBzaG93ICR7cGFja2FnZU5hbWV9JzogJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIGlmICghb3V0cHV0KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHZlcnNpb25JbmZvID0gb3V0cHV0XG4gICAgLnNwbGl0KC9cXHJcXG58XFxyfFxcbi8pXG4gICAgLmZpbmQoKGxpbmUpID0+IGxpbmUuc3RhcnRzV2l0aChcIlZlcnNpb246XCIpKTtcblxuICBpZiAoIXZlcnNpb25JbmZvKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHZlcnNpb24gaW4gb3V0cHV0IG9mICdwaXBlbnYgcnVuIHBpcCBzaG93ICR7cGFja2FnZU5hbWV9JyAvICdwaXAgc2hvdyAke3BhY2thZ2VOYW1lfSc6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvbiA9IHZlcnNpb25JbmZvLnNwbGl0KFwiOlwiKVsxXS50cmltKCk7XG4gIHJldHVybiB2ZXJzaW9uO1xufVxuXG4vLyBPbmNlIGh0dHBzOi8vZ2l0aHViLmNvbS9OdUdldC9Ib21lL2lzc3Vlcy83NzUyIGdldHMgcmVzb2x2ZWQgd2UgY2FuIGFsc28gdHJ5IHdpdGggLS1qc29uXG5hc3luYyBmdW5jdGlvbiBnZXRDU2hhcnBQYWNrYWdlVmVyc2lvbihwYWNrYWdlTmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IHRyYW5zbGF0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGpzaWk6IFwiQW1hem9uLkpTSUkuUnVudGltZVwiLFxuICAgIGNvbnN0cnVjdHM6IFwiQ29uc3RydWN0c1wiLFxuICAgIGNka3RmOiBcIkhhc2hpQ29ycC5DZGt0ZlwiLFxuICAgIGNka3RuOiBcIklvLkNka3RuXCIsXG4gIH07XG4gIGNvbnN0IGNTaGFycFBhY2thZ2VOYW1lID0gdHJhbnNsYXRpb25NYXBbcGFja2FnZU5hbWVdIHx8IHBhY2thZ2VOYW1lO1xuXG4gIGxldCBvdXRwdXQ7XG4gIHRyeSB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcImRvdG5ldFwiLCBbXCJsaXN0XCIsIFwicGFja2FnZVwiLCBcIi0taW5jbHVkZS10cmFuc2l0aXZlXCJdLCB7XG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBydW4gJ2RvdG5ldCBsaXN0IHBhY2thZ2UgLS1pbmNsdWRlLXRyYW5zaXRpdmUnOiAke2V9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCB2ZXJzaW9uTGluZSA9IG91dHB1dFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmluY2x1ZGVzKGA+ICR7Y1NoYXJwUGFja2FnZU5hbWV9YCkpO1xuXG4gIGlmICghdmVyc2lvbkxpbmUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgdmVyc2lvbiBmb3IgJyR7Y1NoYXJwUGFja2FnZU5hbWV9JyBpbiBvdXRwdXQgb2YgJ2RvdG5ldCBsaXN0IHBhY2thZ2UgLS1pbmNsdWRlLXRyYW5zaXRpdmUnOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIEEgbGluZSBtaWdodCBsb29rIGxpa2UgdGhpczpcbiAgLy8gICBUcmFuc2l0aXZlIFBhY2thZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzb2x2ZWRcbiAgLy8gICA+IEFtYXpvbi5KU0lJLlJ1bnRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4xNy4xXG4gIC8vIFRoZXJlZm9yZSB3ZSByZXZlcnNlIHNwbGl0IGJ5IHdoaXRlc3BhY2UgYW5kIHJldmVyc2VcbiAgLy8gc28gdGhhdCB0aGUgZmlyc3QgdGhpbmcgd2UgZmluZCBpcyB0aGUgdmVyc2lvbiBudW1iZXJcbiAgcmV0dXJuIHZlcnNpb25MaW5lXG4gICAgLnNwbGl0KFwiIFwiKVxuICAgIC5yZXZlcnNlKClcbiAgICAuZmluZCgocGFydCkgPT4gcGFydCAhPT0gXCJcIik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEdvUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBjb25zdCB0cmFuc2xhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBqc2lpOiBcImpzaWktcnVudGltZS1nb1wiLFxuICAgIGNka3RmOiBcImdpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1jZGstZ29cIixcbiAgICBjZGt0bjogXCJnaXRodWIuY29tL29wZW4tY29uc3RydWN0cy9jZGstdGVycmFpbi1nb1wiLFxuICB9O1xuICBjb25zdCBnb1BhY2thZ2VOYW1lID0gdHJhbnNsYXRpb25NYXBbcGFja2FnZU5hbWVdIHx8IHBhY2thZ2VOYW1lO1xuXG4gIGxldCBvdXRwdXQ7XG4gIHRyeSB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcImdvXCIsIFtcImxpc3RcIiwgXCItbVwiLCBcImFsbFwiXSwge1xuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgVW5hYmxlIHRvIHJ1biAnZ28gbGlzdCAtbSBhbGwnOiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCB2ZXJzaW9uTGluZSA9IG91dHB1dFxuICAgIC5zcGxpdCgvXFxyXFxufFxccnxcXG4vKVxuICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmluY2x1ZGVzKGdvUGFja2FnZU5hbWUpKTtcblxuICBpZiAoIXZlcnNpb25MaW5lKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIHZlcnNpb24gZm9yICcke2dvUGFja2FnZU5hbWV9JyBpbiBvdXRwdXQgb2YgJ2dvIGxpc3QgLW0gYWxsJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBXZSBhcmUgZGVhbGluZyB3aXRoIGEgbG9jYWwgdmVyc2lvblxuICBpZiAodmVyc2lvbkxpbmUuaW5jbHVkZXMoXCI9PlwiKSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgRm91bmQgbG9jYWwgdmVyc2lvbiBmb3IgJyR7Z29QYWNrYWdlTmFtZX0nOiAke3ZlcnNpb25MaW5lfWApO1xuICAgIHZlcnNpb25MaW5lID0gdmVyc2lvbkxpbmUuc3BsaXQoXCI9PlwiKVswXS50cmltKCk7XG4gIH1cblxuICByZXR1cm4gdmVyc2lvbkxpbmUuc3BsaXQoXCIgXCIpLnBvcCgpPy5yZXBsYWNlKFwidlwiLCBcIlwiKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0TWF2ZW5QYWNrYWdlVmVyc2lvbihwYWNrYWdlTmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IHRyYW5zbGF0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGpzaWk6IFwianNpaS1ydW50aW1lXCIsXG4gIH07XG4gIGNvbnN0IGphdmFQYWNrYWdlTmFtZSA9IHRyYW5zbGF0aW9uTWFwW3BhY2thZ2VOYW1lXSB8fCBwYWNrYWdlTmFtZTtcblxuICBsZXQgb3V0cHV0O1xuICB0cnkge1xuICAgIG91dHB1dCA9IGF3YWl0IGV4ZWMoXCJtdm5cIiwgW1wiZGVwZW5kZW5jeTpsaXN0XCJdLCB7XG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBVbmFibGUgdG8gcnVuICdtdm4gZGVwZW5kZW5jeTpsaXN0JzogJHtlfWApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCByZXNvbHV0aW9uUGFydCA9IG91dHB1dC5zcGxpdChcbiAgICBcIlRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBiZWVuIHJlc29sdmVkXCIsXG4gIClbMV07XG4gIGlmICghcmVzb2x1dGlvblBhcnQpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgcmVzb2x1dGlvbiBwYXNzYWdlIGluIG91dHB1dCBvZiAnbXZuIGRlcGVuZGVuY3k6bGlzdCc6ICR7b3V0cHV0fWAsXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gV2UgbmVlZCB0byBzZWFyY2ggZm9yIHRoZSBwYWNrYWdlIG5hbWUgQU5EIGEgY29sb24gdG8gbm90IG1hdGNoIGEgbGluZSBsaWtlXG4gIC8vIFtJTkZPXSAgICBjb20uaGFzaGljb3JwOmNka3RmLXByb3ZpZGVyLWF3czpqYXI6OS4wLjk6Y29tcGlsZVxuICAvLyB3aGVuIGxvb2tpbmcgZm9yIHRoZSBjZGt0ZiBwYWNrYWdlIChzZWUgR2l0aHViIGlzc3VlICMxOTk0KVxuICBjb25zdCB2ZXJzaW9uTGluZSA9IHJlc29sdXRpb25QYXJ0XG4gICAgLnNwbGl0KC9cXHJcXG58XFxyfFxcbi8pXG4gICAgLmZpbmQoKGxpbmUpID0+IGxpbmUuaW5jbHVkZXMoYCR7amF2YVBhY2thZ2VOYW1lfTpgKSk7XG5cbiAgaWYgKCF2ZXJzaW9uTGluZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCB2ZXJzaW9uIGZvciAnJHtqYXZhUGFja2FnZU5hbWV9JyBpbiBvdXRwdXQgb2YgJ212biBkZXBlbmRlbmN5Omxpc3QnOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIEV4YW1wbGUgbGluZTogW0lORk9dICAgIGNvbS5oYXNoaWNvcnA6Y2RrdGY6amFyOjAuMC4wOmNvbXBpbGVcbiAgY29uc3QgdmVyc2lvblN0YXJ0RGVsaW1pdGVyID0gYCR7amF2YVBhY2thZ2VOYW1lfTpqYXI6YDtcbiAgY29uc3QgdmVyc2lvblN0YXJ0ID1cbiAgICB2ZXJzaW9uTGluZS5pbmRleE9mKHZlcnNpb25TdGFydERlbGltaXRlcikgKyB2ZXJzaW9uU3RhcnREZWxpbWl0ZXIubGVuZ3RoO1xuICBjb25zdCB2ZXJzaW9uRW5kRGVsZW1pdGVyID0gXCI6Y29tcGlsZVwiO1xuICBjb25zdCB2ZXJzaW9uRW5kID0gdmVyc2lvbkxpbmUuaW5kZXhPZih2ZXJzaW9uRW5kRGVsZW1pdGVyKTtcbiAgcmV0dXJuIHZlcnNpb25MaW5lLnN1YnN0cmluZyh2ZXJzaW9uU3RhcnQsIHZlcnNpb25FbmQpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRKYXZhUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZykge1xuICBpZiAoaXNHcmFkbGVQcm9qZWN0KFwiLi9cIikpIHtcbiAgICByZXR1cm4gZ2V0R3JhZGxlUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIGdldE1hdmVuUGFja2FnZVZlcnNpb24ocGFja2FnZU5hbWUpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UGFja2FnZVZlcnNpb24oXG4gIGxhbmd1YWdlOiBzdHJpbmcsXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBub09wID0gYXN5bmMgKCkgPT4gdW5kZWZpbmVkOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBjb25zdCBnZXRMaWJyYXJ5VmVyc2lvbk1hcDogUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICAobmFtZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD5cbiAgPiA9IHtcbiAgICB0eXBlc2NyaXB0OiBnZXROb2RlTW9kdWxlVmVyc2lvbixcbiAgICBweXRob246IGdldFB5dGhvblBhY2thZ2VWZXJzaW9uLFxuICAgIGdvOiBnZXRHb1BhY2thZ2VWZXJzaW9uLFxuICAgIGNzaGFycDogZ2V0Q1NoYXJwUGFja2FnZVZlcnNpb24sXG4gICAgamF2YTogZ2V0SmF2YVBhY2thZ2VWZXJzaW9uLFxuICB9O1xuXG4gIGNvbnN0IGxpYlZlcnNpb24gPSBhd2FpdCAoZ2V0TGlicmFyeVZlcnNpb25NYXBbbGFuZ3VhZ2VdIHx8IG5vT3ApKFxuICAgIHBhY2thZ2VOYW1lLFxuICApO1xuICByZXR1cm4gbGliVmVyc2lvbiA/PyB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb2xsZWN0RGVidWdJbmZvcm1hdGlvbigpIHtcbiAgY29uc3QgZGVidWdPdXRwdXQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bGw+ID0ge307XG4gIGNvbnN0IGxhbmd1YWdlID0gZ2V0TGFuZ3VhZ2UoKTtcbiAgZGVidWdPdXRwdXRbXCJsYW5ndWFnZVwiXSA9IGxhbmd1YWdlID8/IG51bGw7XG4gIGRlYnVnT3V0cHV0W1wiY2RrdG4tY2xpXCJdID0gRElTUExBWV9WRVJTSU9OO1xuXG4gIGNvbnN0IG5vZGUgPSBnZXROb2RlVmVyc2lvbigpO1xuXG4gIGRlYnVnT3V0cHV0W1wibm9kZVwiXSA9IChhd2FpdCBub2RlKSA/PyBudWxsO1xuICBpZiAobGFuZ3VhZ2UpIHtcbiAgICBjb25zdCBjZGt0biA9IGdldFBhY2thZ2VWZXJzaW9uKGxhbmd1YWdlLCBcImNka3RuXCIpO1xuICAgIGNvbnN0IGNka3RmID0gZ2V0UGFja2FnZVZlcnNpb24obGFuZ3VhZ2UsIFwiY2RrdGZcIik7XG4gICAgY29uc3QgY29uc3RydWN0cyA9IGdldFBhY2thZ2VWZXJzaW9uKGxhbmd1YWdlLCBcImNvbnN0cnVjdHNcIik7XG4gICAgY29uc3QganNpaSA9IGdldFBhY2thZ2VWZXJzaW9uKGxhbmd1YWdlLCBcImpzaWlcIik7XG5cbiAgICBkZWJ1Z091dHB1dFtcImNka3RuXCJdID0gKGF3YWl0IGNka3RuKSA/PyBudWxsO1xuICAgIGRlYnVnT3V0cHV0W1wiY2RrdGZcIl0gPSAoYXdhaXQgY2RrdGYpID8/IG51bGw7XG4gICAgZGVidWdPdXRwdXRbXCJjb25zdHJ1Y3RzXCJdID0gKGF3YWl0IGNvbnN0cnVjdHMpID8/IG51bGw7XG4gICAgZGVidWdPdXRwdXRbXCJqc2lpXCJdID0gKGF3YWl0IGpzaWkpID8/IG51bGw7XG4gIH1cbiAgZGVidWdPdXRwdXRbXCJ0ZXJyYWZvcm1cIl0gPSBhd2FpdCB0ZXJyYWZvcm1WZXJzaW9uO1xuICBkZWJ1Z091dHB1dFtcImFyY2hcIl0gPSBvcy5hcmNoKCk7XG4gIGRlYnVnT3V0cHV0W1wib3NcIl0gPSBgJHtvcy5wbGF0Zm9ybSgpfSAke29zLnJlbGVhc2UoKX1gO1xuXG4gIHN3aXRjaCAobGFuZ3VhZ2UpIHtcbiAgICBjYXNlIFwicHl0aG9uXCI6XG4gICAgICB7XG4gICAgICAgIGNvbnN0IHB5dGhvbiA9IGdldFB5dGhvblZlcnNpb24oKTtcbiAgICAgICAgY29uc3QgcGlwID0gZ2V0UGlwVmVyc2lvbigpO1xuICAgICAgICBjb25zdCBwaXBlbnYgPSBnZXRQaXBlbnZWZXJzaW9uKCk7XG4gICAgICAgIGRlYnVnT3V0cHV0W1wicHl0aG9uXCJdID0gKGF3YWl0IHB5dGhvbikgPz8gbnVsbDtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJwaXBcIl0gPSAoYXdhaXQgcGlwKSA/PyBudWxsO1xuICAgICAgICBkZWJ1Z091dHB1dFtcInBpcGVudlwiXSA9IChhd2FpdCBwaXBlbnYpID8/IG51bGw7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiamF2YVwiOlxuICAgICAge1xuICAgICAgICBjb25zdCBqYXZhID0gZ2V0SmF2YVZlcnNpb24oKTtcbiAgICAgICAgY29uc3QgbWF2ZW4gPSBnZXRNYXZlblZlcnNpb24oKTtcbiAgICAgICAgY29uc3QgZ3JhZGxlID0gZ2V0R3JhZGxlVmVyc2lvbigpO1xuICAgICAgICBkZWJ1Z091dHB1dFtcImphdmFcIl0gPSAoYXdhaXQgamF2YSkgPz8gbnVsbDtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJtYXZlblwiXSA9IChhd2FpdCBtYXZlbikgPz8gbnVsbDtcbiAgICAgICAgZGVidWdPdXRwdXRbXCJncmFkbGVcIl0gPSAoYXdhaXQgZ3JhZGxlKSA/PyBudWxsO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImNzaGFycFwiOlxuICAgICAgZGVidWdPdXRwdXRbXCJkb3RuZXRcIl0gPSAoYXdhaXQgZ2V0RG90bmV0VmVyc2lvbigpKSA/PyBudWxsO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImdvXCI6XG4gICAgICBkZWJ1Z091dHB1dFtcImdvXCJdID0gKGF3YWl0IGdldEdvVmVyc2lvbigpKSA/PyBudWxsO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gZGVidWdPdXRwdXQ7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["environment.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,SAEjC,CAAC;AAGF,eAAO,MAAM,kBAAkB,SAA0C,CAAC;AAE1E,eAAO,MAAM,8BAA8B,SAE1C,CAAC"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- // Copyright (c) HashiCorp, Inc
3
- // SPDX-License-Identifier: MPL-2.0
4
- // All switches based on environment variables in one place
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CDKTF_DISABLE_PLUGIN_CACHE_ENV = exports.CHECKPOINT_DISABLE = exports.DISABLE_VERSION_CHECK = void 0;
7
- function envVarToBoolean(envVar) {
8
- return envVar === "true" || envVar === "1";
9
- }
10
- exports.DISABLE_VERSION_CHECK = envVarToBoolean(process.env.DISABLE_VERSION_CHECK);
11
- // This is a Terraform global environment variable, so we can't use the same logic as the other env vars
12
- // https://www.terraform.io/cli/commands#upgrade-and-security-bulletin-checks
13
- exports.CHECKPOINT_DISABLE = Boolean(process.env.CHECKPOINT_DISABLE);
14
- exports.CDKTF_DISABLE_PLUGIN_CACHE_ENV = envVarToBoolean(process.env.CDKTF_DISABLE_PLUGIN_CACHE_ENV);
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywyREFBMkQ7OztBQUUzRCxTQUFTLGVBQWUsQ0FBQyxNQUEwQjtJQUNqRCxPQUFPLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxLQUFLLEdBQUcsQ0FBQztBQUM3QyxDQUFDO0FBRVksUUFBQSxxQkFBcUIsR0FBRyxlQUFlLENBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQ2xDLENBQUM7QUFDRix3R0FBd0c7QUFDeEcsNkVBQTZFO0FBQ2hFLFFBQUEsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUU3RCxRQUFBLDhCQUE4QixHQUFHLGVBQWUsQ0FDM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4vLyBBbGwgc3dpdGNoZXMgYmFzZWQgb24gZW52aXJvbm1lbnQgdmFyaWFibGVzIGluIG9uZSBwbGFjZVxuXG5mdW5jdGlvbiBlbnZWYXJUb0Jvb2xlYW4oZW52VmFyOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGVudlZhciA9PT0gXCJ0cnVlXCIgfHwgZW52VmFyID09PSBcIjFcIjtcbn1cblxuZXhwb3J0IGNvbnN0IERJU0FCTEVfVkVSU0lPTl9DSEVDSyA9IGVudlZhclRvQm9vbGVhbihcbiAgcHJvY2Vzcy5lbnYuRElTQUJMRV9WRVJTSU9OX0NIRUNLLFxuKTtcbi8vIFRoaXMgaXMgYSBUZXJyYWZvcm0gZ2xvYmFsIGVudmlyb25tZW50IHZhcmlhYmxlLCBzbyB3ZSBjYW4ndCB1c2UgdGhlIHNhbWUgbG9naWMgYXMgdGhlIG90aGVyIGVudiB2YXJzXG4vLyBodHRwczovL3d3dy50ZXJyYWZvcm0uaW8vY2xpL2NvbW1hbmRzI3VwZ3JhZGUtYW5kLXNlY3VyaXR5LWJ1bGxldGluLWNoZWNrc1xuZXhwb3J0IGNvbnN0IENIRUNLUE9JTlRfRElTQUJMRSA9IEJvb2xlYW4ocHJvY2Vzcy5lbnYuQ0hFQ0tQT0lOVF9ESVNBQkxFKTtcblxuZXhwb3J0IGNvbnN0IENES1RGX0RJU0FCTEVfUExVR0lOX0NBQ0hFX0VOViA9IGVudlZhclRvQm9vbGVhbihcbiAgcHJvY2Vzcy5lbnYuQ0RLVEZfRElTQUJMRV9QTFVHSU5fQ0FDSEVfRU5WLFxuKTtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["errors.ts"],"names":[],"mappings":"AAmBA,KAAK,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AACnD,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAEhE;AAsBD,eAAO,MAAM,MAAM;wBAlBN,MAAM,kBACA,KAAK,YACV,OAAO,MAAM,EAAE,GAAG,CAAC;qBAFpB,MAAM,kBACA,KAAK,YACV,OAAO,MAAM,EAAE,GAAG,CAAC;wBAFpB,MAAM,kBACA,KAAK,YACV,OAAO,MAAM,EAAE,GAAG,CAAC;oBAyBf,MAAM;CAIvB,CAAC"}
package/src/errors.js DELETED
@@ -1,75 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Errors = exports.IsErrorType = void 0;
27
- // Copyright (c) HashiCorp, Inc
28
- // SPDX-License-Identifier: MPL-2.0
29
- const checkpoint_1 = require("./checkpoint");
30
- const version_1 = require("./version");
31
- const Sentry = __importStar(require("@sentry/node"));
32
- // Errors that will emit telemetry events
33
- async function report(command, payload) {
34
- const reportParams = {
35
- command,
36
- product: "cdktn",
37
- version: `${version_1.DISPLAY_VERSION}`,
38
- dateTime: new Date(),
39
- payload,
40
- };
41
- await (0, checkpoint_1.ReportRequest)(reportParams);
42
- }
43
- function IsErrorType(error, type) {
44
- return error && error.__type === type;
45
- }
46
- exports.IsErrorType = IsErrorType;
47
- function reportPrefixedError(type, command) {
48
- return (message, originalError = new Error(), context) => {
49
- report(command, { ...context, message, type });
50
- const err = new Error(`${type} Error: ${message}`);
51
- Object.entries(context || {}).forEach(([key, value]) => {
52
- err[key] = value;
53
- });
54
- err.__type = type;
55
- err.stack = originalError.stack;
56
- return err;
57
- };
58
- }
59
- // The CLI only deals with one command at a time, so we can just use the same
60
- // scope for all errors and set it once during initialization.
61
- let errorScope = "unknown";
62
- exports.Errors = {
63
- // Error within our control
64
- Internal: reportPrefixedError("Internal", errorScope),
65
- // Error in the usage
66
- Usage: reportPrefixedError("Usage", errorScope),
67
- // Error outside of our control (e.g. terraform failed)
68
- External: reportPrefixedError("External", errorScope),
69
- // Set the scope for all errors
70
- setScope(scope) {
71
- errorScope = scope;
72
- Sentry.configureScope((s) => s.setTransactionName(scope));
73
- },
74
- };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyw2Q0FBMkQ7QUFDM0QsdUNBQTRDO0FBQzVDLHFEQUF1QztBQUV2Qyx5Q0FBeUM7QUFDekMsS0FBSyxVQUFVLE1BQU0sQ0FBQyxPQUFlLEVBQUUsT0FBNEI7SUFDakUsTUFBTSxZQUFZLEdBQWlCO1FBQ2pDLE9BQU87UUFDUCxPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsR0FBRyx5QkFBZSxFQUFFO1FBQzdCLFFBQVEsRUFBRSxJQUFJLElBQUksRUFBRTtRQUNwQixPQUFPO0tBQ1IsQ0FBQztJQUVGLE1BQU0sSUFBQSwwQkFBYSxFQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFHRCxTQUFnQixXQUFXLENBQUMsS0FBVSxFQUFFLElBQWU7SUFDckQsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDeEMsQ0FBQztBQUZELGtDQUVDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxJQUFlLEVBQUUsT0FBZTtJQUMzRCxPQUFPLENBQ0wsT0FBZSxFQUNmLGdCQUF1QixJQUFJLEtBQUssRUFBRSxFQUNsQyxPQUE2QixFQUM3QixFQUFFO1FBQ0YsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sR0FBRyxHQUFRLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxXQUFXLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDeEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNyRCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsR0FBRyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELDZFQUE2RTtBQUM3RSw4REFBOEQ7QUFDOUQsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQUFDO0FBQ2QsUUFBQSxNQUFNLEdBQUc7SUFDcEIsMkJBQTJCO0lBQzNCLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQ3JELHFCQUFxQjtJQUNyQixLQUFLLEVBQUUsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUMvQyx1REFBdUQ7SUFDdkQsUUFBUSxFQUFFLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFFckQsK0JBQStCO0lBQy9CLFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgUmVwb3J0UGFyYW1zLCBSZXBvcnRSZXF1ZXN0IH0gZnJvbSBcIi4vY2hlY2twb2ludFwiO1xuaW1wb3J0IHsgRElTUExBWV9WRVJTSU9OIH0gZnJvbSBcIi4vdmVyc2lvblwiO1xuaW1wb3J0ICogYXMgU2VudHJ5IGZyb20gXCJAc2VudHJ5L25vZGVcIjtcblxuLy8gRXJyb3JzIHRoYXQgd2lsbCBlbWl0IHRlbGVtZXRyeSBldmVudHNcbmFzeW5jIGZ1bmN0aW9uIHJlcG9ydChjb21tYW5kOiBzdHJpbmcsIHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgY29uc3QgcmVwb3J0UGFyYW1zOiBSZXBvcnRQYXJhbXMgPSB7XG4gICAgY29tbWFuZCxcbiAgICBwcm9kdWN0OiBcImNka3RuXCIsXG4gICAgdmVyc2lvbjogYCR7RElTUExBWV9WRVJTSU9OfWAsXG4gICAgZGF0ZVRpbWU6IG5ldyBEYXRlKCksXG4gICAgcGF5bG9hZCxcbiAgfTtcblxuICBhd2FpdCBSZXBvcnRSZXF1ZXN0KHJlcG9ydFBhcmFtcyk7XG59XG5cbnR5cGUgRXJyb3JUeXBlID0gXCJJbnRlcm5hbFwiIHwgXCJFeHRlcm5hbFwiIHwgXCJVc2FnZVwiO1xuZXhwb3J0IGZ1bmN0aW9uIElzRXJyb3JUeXBlKGVycm9yOiBhbnksIHR5cGU6IEVycm9yVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZXJyb3IgJiYgZXJyb3IuX190eXBlID09PSB0eXBlO1xufVxuXG5mdW5jdGlvbiByZXBvcnRQcmVmaXhlZEVycm9yKHR5cGU6IEVycm9yVHlwZSwgY29tbWFuZDogc3RyaW5nKSB7XG4gIHJldHVybiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG9yaWdpbmFsRXJyb3I6IEVycm9yID0gbmV3IEVycm9yKCksXG4gICAgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICkgPT4ge1xuICAgIHJlcG9ydChjb21tYW5kLCB7IC4uLmNvbnRleHQsIG1lc3NhZ2UsIHR5cGUgfSk7XG4gICAgY29uc3QgZXJyOiBhbnkgPSBuZXcgRXJyb3IoYCR7dHlwZX0gRXJyb3I6ICR7bWVzc2FnZX1gKTtcbiAgICBPYmplY3QuZW50cmllcyhjb250ZXh0IHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGVycltrZXldID0gdmFsdWU7XG4gICAgfSk7XG4gICAgZXJyLl9fdHlwZSA9IHR5cGU7XG4gICAgZXJyLnN0YWNrID0gb3JpZ2luYWxFcnJvci5zdGFjaztcbiAgICByZXR1cm4gZXJyO1xuICB9O1xufVxuXG4vLyBUaGUgQ0xJIG9ubHkgZGVhbHMgd2l0aCBvbmUgY29tbWFuZCBhdCBhIHRpbWUsIHNvIHdlIGNhbiBqdXN0IHVzZSB0aGUgc2FtZVxuLy8gc2NvcGUgZm9yIGFsbCBlcnJvcnMgYW5kIHNldCBpdCBvbmNlIGR1cmluZyBpbml0aWFsaXphdGlvbi5cbmxldCBlcnJvclNjb3BlID0gXCJ1bmtub3duXCI7XG5leHBvcnQgY29uc3QgRXJyb3JzID0ge1xuICAvLyBFcnJvciB3aXRoaW4gb3VyIGNvbnRyb2xcbiAgSW50ZXJuYWw6IHJlcG9ydFByZWZpeGVkRXJyb3IoXCJJbnRlcm5hbFwiLCBlcnJvclNjb3BlKSxcbiAgLy8gRXJyb3IgaW4gdGhlIHVzYWdlXG4gIFVzYWdlOiByZXBvcnRQcmVmaXhlZEVycm9yKFwiVXNhZ2VcIiwgZXJyb3JTY29wZSksXG4gIC8vIEVycm9yIG91dHNpZGUgb2Ygb3VyIGNvbnRyb2wgKGUuZy4gdGVycmFmb3JtIGZhaWxlZClcbiAgRXh0ZXJuYWw6IHJlcG9ydFByZWZpeGVkRXJyb3IoXCJFeHRlcm5hbFwiLCBlcnJvclNjb3BlKSxcblxuICAvLyBTZXQgdGhlIHNjb3BlIGZvciBhbGwgZXJyb3JzXG4gIHNldFNjb3BlKHNjb3BlOiBzdHJpbmcpIHtcbiAgICBlcnJvclNjb3BlID0gc2NvcGU7XG4gICAgU2VudHJ5LmNvbmZpZ3VyZVNjb3BlKChzKSA9PiBzLnNldFRyYW5zYWN0aW9uTmFtZShzY29wZSkpO1xuICB9LFxufTtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"gradle.d.ts","sourceRoot":"","sources":["gradle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAUjE;AAED,wBAAsB,qBAAqB,kCAqD1C;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,GACX,qBAAqB,GAAG,SAAS,CAuBnC;AAWD,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,+BAiChE;AAED,wBAAsB,gCAAgC,CAAC,WAAW,EAAE,MAAM;;;;eAqDzE"}