@cdktn/commons 0.21.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 (59) hide show
  1. package/README.md +3 -0
  2. package/ambient.d.ts +14 -0
  3. package/eslint.config.mjs +77 -0
  4. package/jest.config.js +19 -0
  5. package/package.json +76 -0
  6. package/src/checkpoint.d.ts +19 -0
  7. package/src/checkpoint.d.ts.map +1 -0
  8. package/src/checkpoint.js +176 -0
  9. package/src/config.d.ts +61 -0
  10. package/src/config.d.ts.map +1 -0
  11. package/src/config.js +267 -0
  12. package/src/config.test.d.ts +2 -0
  13. package/src/config.test.d.ts.map +1 -0
  14. package/src/config.test.js +680 -0
  15. package/src/construct-maker-target.d.ts +57 -0
  16. package/src/construct-maker-target.d.ts.map +1 -0
  17. package/src/construct-maker-target.js +129 -0
  18. package/src/construct-maker-target.test.d.ts +6 -0
  19. package/src/construct-maker-target.test.d.ts.map +1 -0
  20. package/src/construct-maker-target.test.js +72 -0
  21. package/src/debug.d.ts +13 -0
  22. package/src/debug.d.ts.map +1 -0
  23. package/src/debug.js +379 -0
  24. package/src/environment.d.ts +4 -0
  25. package/src/environment.d.ts.map +1 -0
  26. package/src/environment.js +15 -0
  27. package/src/errors.d.ts +10 -0
  28. package/src/errors.d.ts.map +1 -0
  29. package/src/errors.js +75 -0
  30. package/src/gradle.d.ts +19 -0
  31. package/src/gradle.d.ts.map +1 -0
  32. package/src/gradle.js +160 -0
  33. package/src/index.d.ts +15 -0
  34. package/src/index.d.ts.map +1 -0
  35. package/src/index.js +33 -0
  36. package/src/logging.d.ts +17 -0
  37. package/src/logging.d.ts.map +1 -0
  38. package/src/logging.js +117 -0
  39. package/src/module-schema.d.ts +17 -0
  40. package/src/module-schema.d.ts.map +1 -0
  41. package/src/module-schema.js +3 -0
  42. package/src/provider-schema.d.ts +99 -0
  43. package/src/provider-schema.d.ts.map +1 -0
  44. package/src/provider-schema.js +21 -0
  45. package/src/terraform-module.d.ts +2 -0
  46. package/src/terraform-module.d.ts.map +1 -0
  47. package/src/terraform-module.js +23 -0
  48. package/src/terraform-module.test.d.ts +6 -0
  49. package/src/terraform-module.test.d.ts.map +1 -0
  50. package/src/terraform-module.test.js +31 -0
  51. package/src/terraform.d.ts +3 -0
  52. package/src/terraform.d.ts.map +1 -0
  53. package/src/terraform.js +12 -0
  54. package/src/util.d.ts +39 -0
  55. package/src/util.d.ts.map +1 -0
  56. package/src/util.js +262 -0
  57. package/src/version.d.ts +2 -0
  58. package/src/version.d.ts.map +1 -0
  59. package/src/version.js +11 -0
package/src/gradle.js ADDED
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) HashiCorp, Inc.
4
+ * SPDX-License-Identifier: MPL-2.0
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getGradlePackageVersionFromBuild = exports.getGradlePackageVersion = exports.getDependencyInformationFromLine = exports.getGradleDependencies = exports.isGradleProject = void 0;
11
+ const path_1 = __importDefault(require("path"));
12
+ const fs_extra_1 = __importDefault(require("fs-extra"));
13
+ const logging_1 = require("./logging");
14
+ const util_1 = require("./util");
15
+ function isGradleProject(workingDirectory) {
16
+ const buildGradlePath = path_1.default.join(workingDirectory, "build.gradle");
17
+ try {
18
+ fs_extra_1.default.accessSync(buildGradlePath, fs_extra_1.default.constants.R_OK | fs_extra_1.default.constants.W_OK);
19
+ return true;
20
+ }
21
+ catch (_a) {
22
+ logging_1.logger.debug(`No build.gradle found at ${buildGradlePath}`);
23
+ return false;
24
+ }
25
+ }
26
+ exports.isGradleProject = isGradleProject;
27
+ async function getGradleDependencies() {
28
+ let output;
29
+ try {
30
+ output = await (0, util_1.exec)("gradle", ["dependencies", "--console=plain"], {
31
+ env: process.env,
32
+ });
33
+ }
34
+ catch (e) {
35
+ logging_1.logger.debug(`Unable to run 'gradle dependencies': ${e}`);
36
+ return undefined;
37
+ }
38
+ const lines = output.split(/\r\n|\r|\n/);
39
+ // find the implementation section
40
+ const implementationSection = lines.findIndex((line) => line.includes("implementation - "));
41
+ if (implementationSection === -1) {
42
+ logging_1.logger.debug(`Unable to find implementation section in output of 'gradle dependencies': ${output}`);
43
+ return undefined;
44
+ }
45
+ const emptyLineRegex = /^\s*$/;
46
+ const implementationSectionLines = lines.slice(implementationSection + 1);
47
+ const sectionEnd = implementationSectionLines.findIndex((line) => emptyLineRegex.test(line));
48
+ const implementationLines = implementationSectionLines.slice(0, sectionEnd);
49
+ // find the api section
50
+ const apiSection = lines.findIndex((line) => line.includes("api - "));
51
+ if (apiSection === -1) {
52
+ logging_1.logger.debug(`Unable to find api section in output of 'gradle dependencies': ${output}`);
53
+ return undefined;
54
+ }
55
+ const apiSectionLines = lines.slice(apiSection + 1);
56
+ const apiSectionEnd = apiSectionLines.findIndex((line) => emptyLineRegex.test(line));
57
+ const apiLines = apiSectionLines.slice(0, apiSectionEnd);
58
+ const prefixRegex = /^\s*[+\\-]+\s*/;
59
+ const suffixRegex = /\s+\([nc*]\)\s*$/;
60
+ return [...implementationLines, ...apiLines]
61
+ .filter((line) => line !== "No dependencies")
62
+ .map((line) => line.replace(prefixRegex, "").replace(suffixRegex, ""));
63
+ }
64
+ exports.getGradleDependencies = getGradleDependencies;
65
+ function getDependencyInformationFromLine(line) {
66
+ const packageNameRegex = /^\s*([^:]+):([^:]+)(?::([^\s]+))?/;
67
+ const matches = line.match(packageNameRegex);
68
+ if (!matches) {
69
+ logging_1.logger.debug("Unexpected format for gradle build. Please file an issue at https://cdk.tf/bug");
70
+ return undefined;
71
+ }
72
+ if (matches[3] === undefined) {
73
+ return {
74
+ group: "",
75
+ name: matches[1],
76
+ version: matches[2],
77
+ };
78
+ }
79
+ return {
80
+ group: matches[1],
81
+ name: matches[2],
82
+ version: matches[3],
83
+ };
84
+ }
85
+ exports.getDependencyInformationFromLine = getDependencyInformationFromLine;
86
+ /*
87
+ * Example output:
88
+ implementation - Implementation dependencies for the 'main' feature. (n)
89
+ +--- com.hashicorp:cdktf:0.18.0 (n)
90
+ +--- io.cdktn:cdktn:0.18.0 (n)
91
+ +--- software.constructs:constructs:10.0.25 (n)
92
+ +--- junit:junit:4.13.2 (n)
93
+ \--- org.junit.jupiter:junit-jupiter:5.8.0 (n)
94
+ */
95
+ async function getGradlePackageVersion(packageName) {
96
+ const translationMap = {
97
+ jsii: "jsii-runtime",
98
+ };
99
+ const gradlePackageName = translationMap[packageName] || packageName;
100
+ logging_1.logger.debug("Running 'gradle dependencies' to find package version", gradlePackageName);
101
+ const lines = await getGradleDependencies();
102
+ if (!lines || lines.length === 0) {
103
+ return undefined;
104
+ }
105
+ // loop through the subsequent lines to find the one starting with package name
106
+ for (const line of lines) {
107
+ if (line.includes(`:${gradlePackageName}:`)) {
108
+ const dep = getDependencyInformationFromLine(line);
109
+ if (dep) {
110
+ return dep.version;
111
+ }
112
+ return undefined;
113
+ }
114
+ }
115
+ // Didn't find the right file, read the build.gradle file as a backup
116
+ const buildVersion = await getGradlePackageVersionFromBuild(packageName);
117
+ if (buildVersion) {
118
+ return buildVersion.version;
119
+ }
120
+ return undefined;
121
+ }
122
+ exports.getGradlePackageVersion = getGradlePackageVersion;
123
+ async function getGradlePackageVersionFromBuild(packageName) {
124
+ const buildGradlePath = path_1.default.join(process.cwd(), "build.gradle");
125
+ const buildGradleContents = await fs_extra_1.default.readFile(buildGradlePath, "utf-8");
126
+ const buildLines = buildGradleContents.split(/\r\n|\r|\n/);
127
+ const dependenciesRegex = /^\s*dependencies\s*\{/i;
128
+ const dependenciesStart = buildLines.findIndex((line) => dependenciesRegex.test(line));
129
+ if (dependenciesStart === -1) {
130
+ logging_1.logger.debug(`Unable to find dependencies section in output build.gradle`);
131
+ return undefined;
132
+ }
133
+ const foundIndex = buildLines.findIndex((line) => line.includes(packageName));
134
+ if (foundIndex === -1) {
135
+ logging_1.logger.debug(`Unable to find package ${packageName} in output build.gradle`);
136
+ return undefined;
137
+ }
138
+ const line = buildLines[foundIndex];
139
+ const colonSeparatedPackageNameRegex = new RegExp(`([^:]+):${packageName}(?::([^\\s]+))?`, "i");
140
+ const colonMatch = colonSeparatedPackageNameRegex.exec(line);
141
+ if (colonMatch) {
142
+ return {
143
+ group: colonMatch[1],
144
+ name: packageName,
145
+ version: colonMatch[2] || "",
146
+ };
147
+ }
148
+ const fileSeparatedPackageNameRegex = new RegExp(`java/(.*)/${packageName}/([^/]+)/.*\\.jar`, "i");
149
+ const fileMatch = fileSeparatedPackageNameRegex.exec(line);
150
+ if (fileMatch) {
151
+ return {
152
+ group: fileMatch[1].replace(/\//g, "."),
153
+ name: packageName,
154
+ version: fileMatch[2],
155
+ };
156
+ }
157
+ return undefined;
158
+ }
159
+ exports.getGradlePackageVersionFromBuild = getGradlePackageVersionFromBuild;
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ3JhZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7Ozs7OztBQUVILGdEQUF3QjtBQUN4Qix3REFBMEI7QUFDMUIsdUNBQW1DO0FBQ25DLGlDQUE4QjtBQUU5QixTQUFnQixlQUFlLENBQUMsZ0JBQXdCO0lBQ3RELE1BQU0sZUFBZSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFcEUsSUFBSSxDQUFDO1FBQ0gsa0JBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLGtCQUFFLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxrQkFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFBQyxXQUFNLENBQUM7UUFDUCxnQkFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM1RCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDO0FBVkQsMENBVUM7QUFFTSxLQUFLLFVBQVUscUJBQXFCO0lBQ3pDLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLE1BQU0sSUFBQSxXQUFJLEVBQUMsUUFBUSxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLEVBQUU7WUFDakUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFekMsa0NBQWtD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Q0FBQyxDQUFDO0lBQzdELElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixPQUFPO1lBQ0wsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDcEIsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO1NBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLE1BQU0sQ0FDOUMsYUFBYSxXQUFXLG1CQUFtQixFQUMzQyxHQUFHLENBQ0osQ0FBQztJQUVGLE1BQU0sU0FBUyxHQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsT0FBTztZQUNMLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7WUFDdkMsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBckRELDRFQXFEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWMgfSBmcm9tIFwiLi91dGlsXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dyYWRsZVByb2plY3Qod29ya2luZ0RpcmVjdG9yeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGJ1aWxkR3JhZGxlUGF0aCA9IHBhdGguam9pbih3b3JraW5nRGlyZWN0b3J5LCBcImJ1aWxkLmdyYWRsZVwiKTtcblxuICB0cnkge1xuICAgIGZzLmFjY2Vzc1N5bmMoYnVpbGRHcmFkbGVQYXRoLCBmcy5jb25zdGFudHMuUl9PSyB8IGZzLmNvbnN0YW50cy5XX09LKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCB7XG4gICAgbG9nZ2VyLmRlYnVnKGBObyBidWlsZC5ncmFkbGUgZm91bmQgYXQgJHtidWlsZEdyYWRsZVBhdGh9YCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRHcmFkbGVEZXBlbmRlbmNpZXMoKSB7XG4gIGxldCBvdXRwdXQ7XG4gIHRyeSB7XG4gICAgb3V0cHV0ID0gYXdhaXQgZXhlYyhcImdyYWRsZVwiLCBbXCJkZXBlbmRlbmNpZXNcIiwgXCItLWNvbnNvbGU9cGxhaW5cIl0sIHtcbiAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBydW4gJ2dyYWRsZSBkZXBlbmRlbmNpZXMnOiAke2V9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IGxpbmVzID0gb3V0cHV0LnNwbGl0KC9cXHJcXG58XFxyfFxcbi8pO1xuXG4gIC8vIGZpbmQgdGhlIGltcGxlbWVudGF0aW9uIHNlY3Rpb25cbiAgY29uc3QgaW1wbGVtZW50YXRpb25TZWN0aW9uID0gbGluZXMuZmluZEluZGV4KChsaW5lKSA9PlxuICAgIGxpbmUuaW5jbHVkZXMoXCJpbXBsZW1lbnRhdGlvbiAtIFwiKSxcbiAgKTtcbiAgaWYgKGltcGxlbWVudGF0aW9uU2VjdGlvbiA9PT0gLTEpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgaW1wbGVtZW50YXRpb24gc2VjdGlvbiBpbiBvdXRwdXQgb2YgJ2dyYWRsZSBkZXBlbmRlbmNpZXMnOiAke291dHB1dH1gLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IGVtcHR5TGluZVJlZ2V4ID0gL15cXHMqJC87XG4gIGNvbnN0IGltcGxlbWVudGF0aW9uU2VjdGlvbkxpbmVzID0gbGluZXMuc2xpY2UoaW1wbGVtZW50YXRpb25TZWN0aW9uICsgMSk7XG4gIGNvbnN0IHNlY3Rpb25FbmQgPSBpbXBsZW1lbnRhdGlvblNlY3Rpb25MaW5lcy5maW5kSW5kZXgoKGxpbmUpID0+XG4gICAgZW1wdHlMaW5lUmVnZXgudGVzdChsaW5lKSxcbiAgKTtcbiAgY29uc3QgaW1wbGVtZW50YXRpb25MaW5lcyA9IGltcGxlbWVudGF0aW9uU2VjdGlvbkxpbmVzLnNsaWNlKDAsIHNlY3Rpb25FbmQpO1xuXG4gIC8vIGZpbmQgdGhlIGFwaSBzZWN0aW9uXG4gIGNvbnN0IGFwaVNlY3Rpb24gPSBsaW5lcy5maW5kSW5kZXgoKGxpbmUpID0+IGxpbmUuaW5jbHVkZXMoXCJhcGkgLSBcIikpO1xuICBpZiAoYXBpU2VjdGlvbiA9PT0gLTEpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgYXBpIHNlY3Rpb24gaW4gb3V0cHV0IG9mICdncmFkbGUgZGVwZW5kZW5jaWVzJzogJHtvdXRwdXR9YCxcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBhcGlTZWN0aW9uTGluZXMgPSBsaW5lcy5zbGljZShhcGlTZWN0aW9uICsgMSk7XG4gIGNvbnN0IGFwaVNlY3Rpb25FbmQgPSBhcGlTZWN0aW9uTGluZXMuZmluZEluZGV4KChsaW5lKSA9PlxuICAgIGVtcHR5TGluZVJlZ2V4LnRlc3QobGluZSksXG4gICk7XG5cbiAgY29uc3QgYXBpTGluZXMgPSBhcGlTZWN0aW9uTGluZXMuc2xpY2UoMCwgYXBpU2VjdGlvbkVuZCk7XG5cbiAgY29uc3QgcHJlZml4UmVnZXggPSAvXlxccypbK1xcXFwtXStcXHMqLztcbiAgY29uc3Qgc3VmZml4UmVnZXggPSAvXFxzK1xcKFtuYypdXFwpXFxzKiQvO1xuXG4gIHJldHVybiBbLi4uaW1wbGVtZW50YXRpb25MaW5lcywgLi4uYXBpTGluZXNdXG4gICAgLmZpbHRlcigobGluZSkgPT4gbGluZSAhPT0gXCJObyBkZXBlbmRlbmNpZXNcIilcbiAgICAubWFwKChsaW5lKSA9PiBsaW5lLnJlcGxhY2UocHJlZml4UmVnZXgsIFwiXCIpLnJlcGxhY2Uoc3VmZml4UmVnZXgsIFwiXCIpKTtcbn1cblxuZXhwb3J0IHR5cGUgRGVwZW5kZW5jeUluZm9ybWF0aW9uID0ge1xuICBncm91cDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbn07XG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVwZW5kZW5jeUluZm9ybWF0aW9uRnJvbUxpbmUoXG4gIGxpbmU6IHN0cmluZyxcbik6IERlcGVuZGVuY3lJbmZvcm1hdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHBhY2thZ2VOYW1lUmVnZXggPSAvXlxccyooW146XSspOihbXjpdKykoPzo6KFteXFxzXSspKT8vO1xuICBjb25zdCBtYXRjaGVzID0gbGluZS5tYXRjaChwYWNrYWdlTmFtZVJlZ2V4KTtcbiAgaWYgKCFtYXRjaGVzKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgXCJVbmV4cGVjdGVkIGZvcm1hdCBmb3IgZ3JhZGxlIGJ1aWxkLiBQbGVhc2UgZmlsZSBhbiBpc3N1ZSBhdCBodHRwczovL2Nkay50Zi9idWdcIixcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAobWF0Y2hlc1szXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdyb3VwOiBcIlwiLFxuICAgICAgbmFtZTogbWF0Y2hlc1sxXSxcbiAgICAgIHZlcnNpb246IG1hdGNoZXNbMl0sXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZ3JvdXA6IG1hdGNoZXNbMV0sXG4gICAgbmFtZTogbWF0Y2hlc1syXSxcbiAgICB2ZXJzaW9uOiBtYXRjaGVzWzNdLFxuICB9O1xufVxuXG4vKlxuICogRXhhbXBsZSBvdXRwdXQ6XG4gIGltcGxlbWVudGF0aW9uIC0gSW1wbGVtZW50YXRpb24gZGVwZW5kZW5jaWVzIGZvciB0aGUgJ21haW4nIGZlYXR1cmUuIChuKVxuICArLS0tIGNvbS5oYXNoaWNvcnA6Y2RrdGY6MC4xOC4wIChuKVxuICArLS0tIGlvLmNka3RuOmNka3RuOjAuMTguMCAobilcbiAgKy0tLSBzb2Z0d2FyZS5jb25zdHJ1Y3RzOmNvbnN0cnVjdHM6MTAuMC4yNSAobilcbiAgKy0tLSBqdW5pdDpqdW5pdDo0LjEzLjIgKG4pXG4gIFxcLS0tIG9yZy5qdW5pdC5qdXBpdGVyOmp1bml0LWp1cGl0ZXI6NS44LjAgKG4pXG4qL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEdyYWRsZVBhY2thZ2VWZXJzaW9uKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgdHJhbnNsYXRpb25NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAganNpaTogXCJqc2lpLXJ1bnRpbWVcIixcbiAgfTtcbiAgY29uc3QgZ3JhZGxlUGFja2FnZU5hbWUgPSB0cmFuc2xhdGlvbk1hcFtwYWNrYWdlTmFtZV0gfHwgcGFja2FnZU5hbWU7XG4gIGxvZ2dlci5kZWJ1ZyhcbiAgICBcIlJ1bm5pbmcgJ2dyYWRsZSBkZXBlbmRlbmNpZXMnIHRvIGZpbmQgcGFja2FnZSB2ZXJzaW9uXCIsXG4gICAgZ3JhZGxlUGFja2FnZU5hbWUsXG4gICk7XG5cbiAgY29uc3QgbGluZXMgPSBhd2FpdCBnZXRHcmFkbGVEZXBlbmRlbmNpZXMoKTtcbiAgaWYgKCFsaW5lcyB8fCBsaW5lcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gbG9vcCB0aHJvdWdoIHRoZSBzdWJzZXF1ZW50IGxpbmVzIHRvIGZpbmQgdGhlIG9uZSBzdGFydGluZyB3aXRoIHBhY2thZ2UgbmFtZVxuICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICBpZiAobGluZS5pbmNsdWRlcyhgOiR7Z3JhZGxlUGFja2FnZU5hbWV9OmApKSB7XG4gICAgICBjb25zdCBkZXAgPSBnZXREZXBlbmRlbmN5SW5mb3JtYXRpb25Gcm9tTGluZShsaW5lKTtcbiAgICAgIGlmIChkZXApIHtcbiAgICAgICAgcmV0dXJuIGRlcC52ZXJzaW9uO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvLyBEaWRuJ3QgZmluZCB0aGUgcmlnaHQgZmlsZSwgcmVhZCB0aGUgYnVpbGQuZ3JhZGxlIGZpbGUgYXMgYSBiYWNrdXBcbiAgY29uc3QgYnVpbGRWZXJzaW9uID0gYXdhaXQgZ2V0R3JhZGxlUGFja2FnZVZlcnNpb25Gcm9tQnVpbGQocGFja2FnZU5hbWUpO1xuICBpZiAoYnVpbGRWZXJzaW9uKSB7XG4gICAgcmV0dXJuIGJ1aWxkVmVyc2lvbi52ZXJzaW9uO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEdyYWRsZVBhY2thZ2VWZXJzaW9uRnJvbUJ1aWxkKHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgYnVpbGRHcmFkbGVQYXRoID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiYnVpbGQuZ3JhZGxlXCIpO1xuICBjb25zdCBidWlsZEdyYWRsZUNvbnRlbnRzID0gYXdhaXQgZnMucmVhZEZpbGUoYnVpbGRHcmFkbGVQYXRoLCBcInV0Zi04XCIpO1xuICBjb25zdCBidWlsZExpbmVzID0gYnVpbGRHcmFkbGVDb250ZW50cy5zcGxpdCgvXFxyXFxufFxccnxcXG4vKTtcblxuICBjb25zdCBkZXBlbmRlbmNpZXNSZWdleCA9IC9eXFxzKmRlcGVuZGVuY2llc1xccypcXHsvaTtcbiAgY29uc3QgZGVwZW5kZW5jaWVzU3RhcnQgPSBidWlsZExpbmVzLmZpbmRJbmRleCgobGluZSkgPT5cbiAgICBkZXBlbmRlbmNpZXNSZWdleC50ZXN0KGxpbmUpLFxuICApO1xuXG4gIGlmIChkZXBlbmRlbmNpZXNTdGFydCA9PT0gLTEpIHtcbiAgICBsb2dnZXIuZGVidWcoYFVuYWJsZSB0byBmaW5kIGRlcGVuZGVuY2llcyBzZWN0aW9uIGluIG91dHB1dCBidWlsZC5ncmFkbGVgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgZm91bmRJbmRleCA9IGJ1aWxkTGluZXMuZmluZEluZGV4KChsaW5lKSA9PiBsaW5lLmluY2x1ZGVzKHBhY2thZ2VOYW1lKSk7XG4gIGlmIChmb3VuZEluZGV4ID09PSAtMSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBVbmFibGUgdG8gZmluZCBwYWNrYWdlICR7cGFja2FnZU5hbWV9IGluIG91dHB1dCBidWlsZC5ncmFkbGVgLFxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBsaW5lID0gYnVpbGRMaW5lc1tmb3VuZEluZGV4XTtcblxuICBjb25zdCBjb2xvblNlcGFyYXRlZFBhY2thZ2VOYW1lUmVnZXggPSBuZXcgUmVnRXhwKFxuICAgIGAoW146XSspOiR7cGFja2FnZU5hbWV9KD86OihbXlxcXFxzXSspKT9gLFxuICAgIFwiaVwiLFxuICApO1xuXG4gIGNvbnN0IGNvbG9uTWF0Y2ggPSBjb2xvblNlcGFyYXRlZFBhY2thZ2VOYW1lUmVnZXguZXhlYyhsaW5lKTtcbiAgaWYgKGNvbG9uTWF0Y2gpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ3JvdXA6IGNvbG9uTWF0Y2hbMV0sXG4gICAgICBuYW1lOiBwYWNrYWdlTmFtZSxcbiAgICAgIHZlcnNpb246IGNvbG9uTWF0Y2hbMl0gfHwgXCJcIixcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZmlsZVNlcGFyYXRlZFBhY2thZ2VOYW1lUmVnZXggPSBuZXcgUmVnRXhwKFxuICAgIGBqYXZhLyguKikvJHtwYWNrYWdlTmFtZX0vKFteL10rKS8uKlxcXFwuamFyYCxcbiAgICBcImlcIixcbiAgKTtcblxuICBjb25zdCBmaWxlTWF0Y2ggPSBmaWxlU2VwYXJhdGVkUGFja2FnZU5hbWVSZWdleC5leGVjKGxpbmUpO1xuICBpZiAoZmlsZU1hdGNoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdyb3VwOiBmaWxlTWF0Y2hbMV0ucmVwbGFjZSgvXFwvL2csIFwiLlwiKSxcbiAgICAgIG5hbWU6IHBhY2thZ2VOYW1lLFxuICAgICAgdmVyc2lvbjogZmlsZU1hdGNoWzJdLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
package/src/index.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ export * from "./checkpoint";
2
+ export * from "./construct-maker-target";
3
+ export * from "./config";
4
+ export * from "./debug";
5
+ export * from "./environment";
6
+ export * from "./errors";
7
+ export * from "./gradle";
8
+ export * from "./logging";
9
+ export * from "./module-schema";
10
+ export * from "./provider-schema";
11
+ export * from "./terraform-module";
12
+ export * from "./terraform";
13
+ export * from "./util";
14
+ export * from "./version";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
package/src/index.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // Copyright (c) HashiCorp, Inc
3
+ // SPDX-License-Identifier: MPL-2.0
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ __exportStar(require("./checkpoint"), exports);
20
+ __exportStar(require("./construct-maker-target"), exports);
21
+ __exportStar(require("./config"), exports);
22
+ __exportStar(require("./debug"), exports);
23
+ __exportStar(require("./environment"), exports);
24
+ __exportStar(require("./errors"), exports);
25
+ __exportStar(require("./gradle"), exports);
26
+ __exportStar(require("./logging"), exports);
27
+ __exportStar(require("./module-schema"), exports);
28
+ __exportStar(require("./provider-schema"), exports);
29
+ __exportStar(require("./terraform-module"), exports);
30
+ __exportStar(require("./terraform"), exports);
31
+ __exportStar(require("./util"), exports);
32
+ __exportStar(require("./version"), exports);
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQzs7Ozs7Ozs7Ozs7Ozs7OztBQUVuQywrQ0FBNkI7QUFDN0IsMkRBQXlDO0FBQ3pDLDJDQUF5QjtBQUN6QiwwQ0FBd0I7QUFDeEIsZ0RBQThCO0FBQzlCLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsNENBQTBCO0FBQzFCLGtEQUFnQztBQUNoQyxvREFBa0M7QUFDbEMscURBQW1DO0FBQ25DLDhDQUE0QjtBQUM1Qix5Q0FBdUI7QUFDdkIsNENBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcblxuZXhwb3J0ICogZnJvbSBcIi4vY2hlY2twb2ludFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RydWN0LW1ha2VyLXRhcmdldFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWJ1Z1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52aXJvbm1lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3JhZGxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2dnaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2R1bGUtc2NoZW1hXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm92aWRlci1zY2hlbWFcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVyc2lvblwiO1xuIl19
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ declare const logger: {
4
+ trace(message: any, ...args: any[]): void;
5
+ debug(message: any, ...args: any[]): void;
6
+ info(message: any, ...args: any[]): void;
7
+ warn(message: any, ...args: any[]): void;
8
+ error(message: any, ...args: any[]): void;
9
+ fatal(message: any, ...args: any[]): void;
10
+ setLevel(level: string): void;
11
+ useDefaultLevel(): void;
12
+ };
13
+ declare const logFileName = "cdktf.log";
14
+ declare const processLoggerDebug: (chunk: Buffer | string | Uint8Array) => void;
15
+ declare const processLoggerError: (chunk: Buffer | string | Uint8Array) => void;
16
+ export { logger, processLoggerDebug, processLoggerError, logFileName };
17
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["logging.ts"],"names":[],"mappings":";;AASA,QAAA,MAAM,MAAM;mBACK,GAAG,WAAW,GAAG,EAAE;mBAQnB,GAAG,WAAW,GAAG,EAAE;kBAQpB,GAAG,WAAW,GAAG,EAAE;kBAQnB,GAAG,WAAW,GAAG,EAAE;mBAQlB,GAAG,WAAW,GAAG,EAAE;mBAQnB,GAAG,WAAW,GAAG,EAAE;oBAQlB,MAAM;;CAOvB,CAAC;AAGF,QAAA,MAAM,WAAW,cAAc,CAAC;AAyBhC,QAAA,MAAM,kBAAkB,UAAW,MAAM,GAAG,MAAM,GAAG,UAAU,SAE9D,CAAC;AACF,QAAA,MAAM,kBAAkB,UAAW,MAAM,GAAG,MAAM,GAAG,UAAU,SAE9D,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC"}
package/src/logging.js ADDED
@@ -0,0 +1,117 @@
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.logFileName = exports.processLoggerError = exports.processLoggerDebug = exports.logger = void 0;
27
+ // Copyright (c) HashiCorp, Inc
28
+ // SPDX-License-Identifier: MPL-2.0
29
+ const log4js_1 = require("log4js");
30
+ const fs = __importStar(require("fs-extra"));
31
+ const path = __importStar(require("path"));
32
+ const Sentry = __importStar(require("@sentry/node"));
33
+ const util_1 = require("./util");
34
+ const cliLogger = (0, log4js_1.getLogger)();
35
+ const logger = {
36
+ trace(message, ...args) {
37
+ cliLogger.trace(message, ...args);
38
+ Sentry.addBreadcrumb({
39
+ message,
40
+ level: "debug",
41
+ });
42
+ },
43
+ debug(message, ...args) {
44
+ cliLogger.debug(message, ...args);
45
+ Sentry.addBreadcrumb({
46
+ message,
47
+ level: "debug",
48
+ });
49
+ },
50
+ info(message, ...args) {
51
+ cliLogger.info(message, ...args);
52
+ Sentry.addBreadcrumb({
53
+ message,
54
+ level: "info",
55
+ });
56
+ },
57
+ warn(message, ...args) {
58
+ cliLogger.warn(message, ...args);
59
+ Sentry.addBreadcrumb({
60
+ message,
61
+ level: "warning",
62
+ });
63
+ },
64
+ error(message, ...args) {
65
+ cliLogger.error(message, ...args);
66
+ Sentry.addBreadcrumb({
67
+ message,
68
+ level: "error",
69
+ });
70
+ },
71
+ fatal(message, ...args) {
72
+ cliLogger.fatal(message, ...args);
73
+ Sentry.addBreadcrumb({
74
+ message,
75
+ level: "fatal",
76
+ });
77
+ },
78
+ setLevel(level) {
79
+ cliLogger.level = level;
80
+ },
81
+ useDefaultLevel() {
82
+ cliLogger.level = process.env.CDKTF_LOG_LEVEL || "INFO";
83
+ },
84
+ };
85
+ exports.logger = logger;
86
+ cliLogger.level = process.env.CDKTF_LOG_LEVEL || "INFO";
87
+ const logFileName = "cdktf.log";
88
+ exports.logFileName = logFileName;
89
+ if (process.env.CDKTF_LOG_FILE_DIRECTORY &&
90
+ fs.existsSync(process.env.CDKTF_LOG_FILE_DIRECTORY) &&
91
+ fs.statSync(process.env.CDKTF_LOG_FILE_DIRECTORY).isDirectory()) {
92
+ (0, log4js_1.configure)({
93
+ appenders: {
94
+ cdktf: {
95
+ type: "file",
96
+ filename: path.join(process.env.CDKTF_LOG_FILE_DIRECTORY, logFileName),
97
+ },
98
+ },
99
+ categories: { default: { appenders: ["cdktf"], level: "debug" } },
100
+ });
101
+ }
102
+ else {
103
+ const layoutType = (0, util_1.hasNoColorFlagOrEnv)() ? "basic" : "colored";
104
+ (0, log4js_1.configure)({
105
+ appenders: { out: { type: "stdout", layout: { type: layoutType } } },
106
+ categories: { default: { appenders: ["out"], level: "info" } },
107
+ });
108
+ }
109
+ const processLoggerDebug = (chunk) => {
110
+ logger.debug(chunk.toString());
111
+ };
112
+ exports.processLoggerDebug = processLoggerDebug;
113
+ const processLoggerError = (chunk) => {
114
+ logger.error(chunk.toString());
115
+ };
116
+ exports.processLoggerError = processLoggerError;
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLG1DQUE4QztBQUM5Qyw2Q0FBK0I7QUFDL0IsMkNBQTZCO0FBQzdCLHFEQUF1QztBQUN2QyxpQ0FBNkM7QUFFN0MsTUFBTSxTQUFTLEdBQUcsSUFBQSxrQkFBUyxHQUFFLENBQUM7QUFDOUIsTUFBTSxNQUFNLEdBQUc7SUFDYixLQUFLLENBQUMsT0FBWSxFQUFFLEdBQUcsSUFBVztRQUNoQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDbkIsT0FBTztZQUNQLEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxJQUFXO1FBQ2hDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLGFBQWEsQ0FBQztZQUNuQixPQUFPO1lBQ1AsS0FBSyxFQUFFLE9BQU87U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQVksRUFBRSxHQUFHLElBQVc7UUFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNqQyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ25CLE9BQU87WUFDUCxLQUFLLEVBQUUsTUFBTTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBWSxFQUFFLEdBQUcsSUFBVztRQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sQ0FB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IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBjb25maWd1cmUsIGdldExvZ2dlciB9IGZyb20gXCJsb2c0anNcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgU2VudHJ5IGZyb20gXCJAc2VudHJ5L25vZGVcIjtcbmltcG9ydCB7IGhhc05vQ29sb3JGbGFnT3JFbnYgfSBmcm9tIFwiLi91dGlsXCI7XG5cbmNvbnN0IGNsaUxvZ2dlciA9IGdldExvZ2dlcigpO1xuY29uc3QgbG9nZ2VyID0ge1xuICB0cmFjZShtZXNzYWdlOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgY2xpTG9nZ2VyLnRyYWNlKG1lc3NhZ2UsIC4uLmFyZ3MpO1xuICAgIFNlbnRyeS5hZGRCcmVhZGNydW1iKHtcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBsZXZlbDogXCJkZWJ1Z1wiLFxuICAgIH0pO1xuICB9LFxuXG4gIGRlYnVnKG1lc3NhZ2U6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgICBjbGlMb2dnZXIuZGVidWcobWVzc2FnZSwgLi4uYXJncyk7XG4gICAgU2VudHJ5LmFkZEJyZWFkY3J1bWIoe1xuICAgICAgbWVzc2FnZSxcbiAgICAgIGxldmVsOiBcImRlYnVnXCIsXG4gICAgfSk7XG4gIH0sXG5cbiAgaW5mbyhtZXNzYWdlOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgY2xpTG9nZ2VyLmluZm8obWVzc2FnZSwgLi4uYXJncyk7XG4gICAgU2VudHJ5LmFkZEJyZWFkY3J1bWIoe1xuICAgICAgbWVzc2FnZSxcbiAgICAgIGxldmVsOiBcImluZm9cIixcbiAgICB9KTtcbiAgfSxcblxuICB3YXJuKG1lc3NhZ2U6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgICBjbGlMb2dnZXIud2FybihtZXNzYWdlLCAuLi5hcmdzKTtcbiAgICBTZW50cnkuYWRkQnJlYWRjcnVtYih7XG4gICAgICBtZXNzYWdlLFxuICAgICAgbGV2ZWw6IFwid2FybmluZ1wiLFxuICAgIH0pO1xuICB9LFxuXG4gIGVycm9yKG1lc3NhZ2U6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgICBjbGlMb2dnZXIuZXJyb3IobWVzc2FnZSwgLi4uYXJncyk7XG4gICAgU2VudHJ5LmFkZEJyZWFkY3J1bWIoe1xuICAgICAgbWVzc2FnZSxcbiAgICAgIGxldmVsOiBcImVycm9yXCIsXG4gICAgfSk7XG4gIH0sXG5cbiAgZmF0YWwobWVzc2FnZTogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGNsaUxvZ2dlci5mYXRhbChtZXNzYWdlLCAuLi5hcmdzKTtcbiAgICBTZW50cnkuYWRkQnJlYWRjcnVtYih7XG4gICAgICBtZXNzYWdlLFxuICAgICAgbGV2ZWw6IFwiZmF0YWxcIixcbiAgICB9KTtcbiAgfSxcblxuICBzZXRMZXZlbChsZXZlbDogc3RyaW5nKSB7XG4gICAgY2xpTG9nZ2VyLmxldmVsID0gbGV2ZWw7XG4gIH0sXG5cbiAgdXNlRGVmYXVsdExldmVsKCkge1xuICAgIGNsaUxvZ2dlci5sZXZlbCA9IHByb2Nlc3MuZW52LkNES1RGX0xPR19MRVZFTCB8fCBcIklORk9cIjtcbiAgfSxcbn07XG5cbmNsaUxvZ2dlci5sZXZlbCA9IHByb2Nlc3MuZW52LkNES1RGX0xPR19MRVZFTCB8fCBcIklORk9cIjtcbmNvbnN0IGxvZ0ZpbGVOYW1lID0gXCJjZGt0Zi5sb2dcIjtcblxuaWYgKFxuICBwcm9jZXNzLmVudi5DREtURl9MT0dfRklMRV9ESVJFQ1RPUlkgJiZcbiAgZnMuZXhpc3RzU3luYyhwcm9jZXNzLmVudi5DREtURl9MT0dfRklMRV9ESVJFQ1RPUlkpICYmXG4gIGZzLnN0YXRTeW5jKHByb2Nlc3MuZW52LkNES1RGX0xPR19GSUxFX0RJUkVDVE9SWSkuaXNEaXJlY3RvcnkoKVxuKSB7XG4gIGNvbmZpZ3VyZSh7XG4gICAgYXBwZW5kZXJzOiB7XG4gICAgICBjZGt0Zjoge1xuICAgICAgICB0eXBlOiBcImZpbGVcIixcbiAgICAgICAgZmlsZW5hbWU6IHBhdGguam9pbihwcm9jZXNzLmVudi5DREtURl9MT0dfRklMRV9ESVJFQ1RPUlksIGxvZ0ZpbGVOYW1lKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjYXRlZ29yaWVzOiB7IGRlZmF1bHQ6IHsgYXBwZW5kZXJzOiBbXCJjZGt0ZlwiXSwgbGV2ZWw6IFwiZGVidWdcIiB9IH0sXG4gIH0pO1xufSBlbHNlIHtcbiAgY29uc3QgbGF5b3V0VHlwZSA9IGhhc05vQ29sb3JGbGFnT3JFbnYoKSA/IFwiYmFzaWNcIiA6IFwiY29sb3JlZFwiO1xuXG4gIGNvbmZpZ3VyZSh7XG4gICAgYXBwZW5kZXJzOiB7IG91dDogeyB0eXBlOiBcInN0ZG91dFwiLCBsYXlvdXQ6IHsgdHlwZTogbGF5b3V0VHlwZSB9IH0gfSxcbiAgICBjYXRlZ29yaWVzOiB7IGRlZmF1bHQ6IHsgYXBwZW5kZXJzOiBbXCJvdXRcIl0sIGxldmVsOiBcImluZm9cIiB9IH0sXG4gIH0pO1xufVxuXG5jb25zdCBwcm9jZXNzTG9nZ2VyRGVidWcgPSAoY2h1bms6IEJ1ZmZlciB8IHN0cmluZyB8IFVpbnQ4QXJyYXkpID0+IHtcbiAgbG9nZ2VyLmRlYnVnKGNodW5rLnRvU3RyaW5nKCkpO1xufTtcbmNvbnN0IHByb2Nlc3NMb2dnZXJFcnJvciA9IChjaHVuazogQnVmZmVyIHwgc3RyaW5nIHwgVWludDhBcnJheSkgPT4ge1xuICBsb2dnZXIuZXJyb3IoY2h1bmsudG9TdHJpbmcoKSk7XG59O1xuXG5leHBvcnQgeyBsb2dnZXIsIHByb2Nlc3NMb2dnZXJEZWJ1ZywgcHJvY2Vzc0xvZ2dlckVycm9yLCBsb2dGaWxlTmFtZSB9O1xuIl19
@@ -0,0 +1,17 @@
1
+ export interface ModuleSchema {
2
+ name: string;
3
+ empty?: boolean;
4
+ inputs: Input[];
5
+ outputs: Output[];
6
+ }
7
+ export interface Output {
8
+ name: string;
9
+ type: string;
10
+ }
11
+ export interface Input {
12
+ name: string;
13
+ type: string;
14
+ description?: string;
15
+ default?: string;
16
+ required: boolean;
17
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-schema.d.ts","sourceRoot":"","sources":["module-schema.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1vZHVsZS1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZVNjaGVtYSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZW1wdHk/OiBib29sZWFuO1xuICBpbnB1dHM6IElucHV0W107XG4gIG91dHB1dHM6IE91dHB1dFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElucHV0IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkZWZhdWx0Pzogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ import { ModuleSchema } from "./module-schema";
6
+ export interface ProviderSchema {
7
+ format_version?: "0.1" | "0.2";
8
+ provider_schemas?: {
9
+ [fqpn: string]: Provider;
10
+ };
11
+ provider_versions?: {
12
+ [fqpn: string]: string;
13
+ };
14
+ }
15
+ export interface Provider {
16
+ provider: Schema;
17
+ resource_schemas: {
18
+ [type: string]: Schema;
19
+ };
20
+ data_source_schemas: {
21
+ [type: string]: Schema;
22
+ };
23
+ }
24
+ export interface Schema {
25
+ version: number;
26
+ block: Block;
27
+ }
28
+ type AttributeNestedTypeNesting = "invalid" | "single" | "list" | "set" | "map";
29
+ /**
30
+ * In tfplugin6.0.proto this as called Object to avoid
31
+ * collisions with the native JavaScript Object we call it
32
+ * AttributeNestedType here
33
+ */
34
+ export interface AttributeNestedType {
35
+ attributes: {
36
+ [name: string]: Attribute;
37
+ } | undefined;
38
+ nesting_mode: AttributeNestedTypeNesting;
39
+ }
40
+ export declare function isAttributeNestedType(type: AttributeType | AttributeNestedType): type is AttributeNestedType;
41
+ interface BaseAttribute {
42
+ type?: AttributeType;
43
+ nested_type?: AttributeNestedType;
44
+ description?: string;
45
+ required?: boolean;
46
+ optional?: boolean;
47
+ computed?: boolean;
48
+ sensitive?: boolean;
49
+ }
50
+ interface NestedTypeAttribute extends BaseAttribute {
51
+ type?: never;
52
+ nested_type: AttributeNestedType;
53
+ }
54
+ interface TypedAttribute extends BaseAttribute {
55
+ type: AttributeType;
56
+ nested_type?: never;
57
+ }
58
+ export type Attribute = NestedTypeAttribute | TypedAttribute;
59
+ export declare function isNestedTypeAttribute(att: Attribute): att is NestedTypeAttribute;
60
+ export type AttributeType = "string" | "bool" | "number" | "dynamic" | ["set", AttributeType] | ["map", AttributeType] | ["list", AttributeType] | ["object", {
61
+ [attribute: string]: AttributeType;
62
+ }];
63
+ export type BlockType = {
64
+ nesting_mode: "single" | "map";
65
+ block: Block;
66
+ } | {
67
+ nesting_mode: "list" | "set";
68
+ block: Block;
69
+ min_items?: number;
70
+ max_items?: number;
71
+ };
72
+ export interface Block {
73
+ attributes: {
74
+ [name: string]: Attribute;
75
+ };
76
+ block_types: {
77
+ [name: string]: BlockType;
78
+ };
79
+ }
80
+ export interface TerraformSchema {
81
+ providers: ProviderSchema;
82
+ modules: ModuleSchema;
83
+ }
84
+ export interface VersionSchema {
85
+ provider_selections: {
86
+ [fqn: string]: string;
87
+ };
88
+ }
89
+ interface ModuleIndexItem {
90
+ Key: string;
91
+ Source: string;
92
+ Dir: string;
93
+ Version?: string;
94
+ }
95
+ export interface ModuleIndex {
96
+ Modules: ModuleIndexItem[];
97
+ }
98
+ export {};
99
+ //# sourceMappingURL=provider-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-schema.d.ts","sourceRoot":"","sources":["provider-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) HashiCorp, Inc.
4
+ * SPDX-License-Identifier: MPL-2.0
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.isNestedTypeAttribute = exports.isAttributeNestedType = void 0;
8
+ function isAttributeNestedType(type) {
9
+ return (typeof type === "object" &&
10
+ !Array.isArray(type) &&
11
+ typeof type.nesting_mode === "string" &&
12
+ (typeof type.attributes === "object" ||
13
+ typeof type.attributes === "undefined"));
14
+ }
15
+ exports.isAttributeNestedType = isAttributeNestedType;
16
+ function isNestedTypeAttribute(att) {
17
+ return (typeof att.nested_type !== "undefined" &&
18
+ isAttributeNestedType(att.nested_type));
19
+ }
20
+ exports.isNestedTypeAttribute = isNestedTypeAttribute;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItc2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicHJvdmlkZXItc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQXFDSCxTQUFnQixxQkFBcUIsQ0FDbkMsSUFBeUM7SUFFekMsT0FBTyxDQUNMLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFDeEIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssUUFBUTtRQUNyQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsQ0FDMUMsQ0FBQztBQUNKLENBQUM7QUFWRCxzREFVQztBQXdCRCxTQUFnQixxQkFBcUIsQ0FDbkMsR0FBYztJQUVkLE9BQU8sQ0FDTCxPQUFPLEdBQUcsQ0FBQyxXQUFXLEtBQUssV0FBVztRQUN0QyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQ3ZDLENBQUM7QUFDSixDQUFDO0FBUEQsc0RBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7IE1vZHVsZVNjaGVtYSB9IGZyb20gXCIuL21vZHVsZS1zY2hlbWFcIjtcblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlclNjaGVtYSB7XG4gIC8qXG4gICAgMC4xIGlzIGUuZy4gcmV0dXJuZWQgYnkgVGVycmFmb3JtIDAuMTRcbiAgICAwLjIgaXMgZS5nLiByZXR1cm5lZCBieSBUZXJyYWZvcm0gMS4wICgwLjIgYWRkZWQgc3VwcG9ydCBmb3IgbmVzdGVkX3R5cGUgLyBwbHVnaW4gcHJvdG9jb2wgdjYpXG4gICAgKi9cbiAgZm9ybWF0X3ZlcnNpb24/OiBcIjAuMVwiIHwgXCIwLjJcIjtcbiAgcHJvdmlkZXJfc2NoZW1hcz86IHsgW2ZxcG46IHN0cmluZ106IFByb3ZpZGVyIH07XG4gIHByb3ZpZGVyX3ZlcnNpb25zPzogeyBbZnFwbjogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXIge1xuICBwcm92aWRlcjogU2NoZW1hO1xuICByZXNvdXJjZV9zY2hlbWFzOiB7IFt0eXBlOiBzdHJpbmddOiBTY2hlbWEgfTtcbiAgZGF0YV9zb3VyY2Vfc2NoZW1hczogeyBbdHlwZTogc3RyaW5nXTogU2NoZW1hIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcbiAgdmVyc2lvbjogbnVtYmVyO1xuICBibG9jazogQmxvY2s7XG59XG5cbnR5cGUgQXR0cmlidXRlTmVzdGVkVHlwZU5lc3RpbmcgPSBcImludmFsaWRcIiB8IFwic2luZ2xlXCIgfCBcImxpc3RcIiB8IFwic2V0XCIgfCBcIm1hcFwiO1xuXG4vKipcbiAqIEluIHRmcGx1Z2luNi4wLnByb3RvIHRoaXMgYXMgY2FsbGVkIE9iamVjdCB0byBhdm9pZFxuICogY29sbGlzaW9ucyB3aXRoIHRoZSBuYXRpdmUgSmF2YVNjcmlwdCBPYmplY3Qgd2UgY2FsbCBpdFxuICogQXR0cmlidXRlTmVzdGVkVHlwZSBoZXJlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlTmVzdGVkVHlwZSB7XG4gIGF0dHJpYnV0ZXM6IHsgW25hbWU6IHN0cmluZ106IEF0dHJpYnV0ZSB9IHwgdW5kZWZpbmVkO1xuICBuZXN0aW5nX21vZGU6IEF0dHJpYnV0ZU5lc3RlZFR5cGVOZXN0aW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBdHRyaWJ1dGVOZXN0ZWRUeXBlKFxuICB0eXBlOiBBdHRyaWJ1dGVUeXBlIHwgQXR0cmlidXRlTmVzdGVkVHlwZSxcbik6IHR5cGUgaXMgQXR0cmlidXRlTmVzdGVkVHlwZSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHR5cGUgPT09IFwib2JqZWN0XCIgJiZcbiAgICAhQXJyYXkuaXNBcnJheSh0eXBlKSAmJlxuICAgIHR5cGVvZiB0eXBlLm5lc3RpbmdfbW9kZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICh0eXBlb2YgdHlwZS5hdHRyaWJ1dGVzID09PSBcIm9iamVjdFwiIHx8XG4gICAgICB0eXBlb2YgdHlwZS5hdHRyaWJ1dGVzID09PSBcInVuZGVmaW5lZFwiKVxuICApO1xufVxuXG5pbnRlcmZhY2UgQmFzZUF0dHJpYnV0ZSB7XG4gIHR5cGU/OiBBdHRyaWJ1dGVUeXBlO1xuICBuZXN0ZWRfdHlwZT86IEF0dHJpYnV0ZU5lc3RlZFR5cGU7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgY29tcHV0ZWQ/OiBib29sZWFuO1xuICBzZW5zaXRpdmU/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTmVzdGVkVHlwZUF0dHJpYnV0ZSBleHRlbmRzIEJhc2VBdHRyaWJ1dGUge1xuICB0eXBlPzogbmV2ZXI7XG4gIG5lc3RlZF90eXBlOiBBdHRyaWJ1dGVOZXN0ZWRUeXBlO1xufVxuaW50ZXJmYWNlIFR5cGVkQXR0cmlidXRlIGV4dGVuZHMgQmFzZUF0dHJpYnV0ZSB7XG4gIHR5cGU6IEF0dHJpYnV0ZVR5cGU7XG4gIG5lc3RlZF90eXBlPzogbmV2ZXI7XG59XG5cbi8vIHRvIHN1cHBvcnQgZWl0aGVyIHR5cGUgb3IgbmVzdGVkX3R5cGUgYmVpbmcgc2V0XG5leHBvcnQgdHlwZSBBdHRyaWJ1dGUgPSBOZXN0ZWRUeXBlQXR0cmlidXRlIHwgVHlwZWRBdHRyaWJ1dGU7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05lc3RlZFR5cGVBdHRyaWJ1dGUoXG4gIGF0dDogQXR0cmlidXRlLFxuKTogYXR0IGlzIE5lc3RlZFR5cGVBdHRyaWJ1dGUge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiBhdHQubmVzdGVkX3R5cGUgIT09IFwidW5kZWZpbmVkXCIgJiZcbiAgICBpc0F0dHJpYnV0ZU5lc3RlZFR5cGUoYXR0Lm5lc3RlZF90eXBlKVxuICApO1xufVxuXG5leHBvcnQgdHlwZSBBdHRyaWJ1dGVUeXBlID1cbiAgfCBcInN0cmluZ1wiXG4gIHwgXCJib29sXCJcbiAgfCBcIm51bWJlclwiXG4gIHwgXCJkeW5hbWljXCJcbiAgfCBbXCJzZXRcIiwgQXR0cmlidXRlVHlwZV1cbiAgfCBbXCJtYXBcIiwgQXR0cmlidXRlVHlwZV1cbiAgfCBbXCJsaXN0XCIsIEF0dHJpYnV0ZVR5cGVdXG4gIHwgW1wib2JqZWN0XCIsIHsgW2F0dHJpYnV0ZTogc3RyaW5nXTogQXR0cmlidXRlVHlwZSB9XTtcblxuZXhwb3J0IHR5cGUgQmxvY2tUeXBlID1cbiAgfCB7XG4gICAgICBuZXN0aW5nX21vZGU6IFwic2luZ2xlXCIgfCBcIm1hcFwiO1xuICAgICAgYmxvY2s6IEJsb2NrO1xuICAgIH1cbiAgfCB7XG4gICAgICBuZXN0aW5nX21vZGU6IFwibGlzdFwiIHwgXCJzZXRcIjtcbiAgICAgIGJsb2NrOiBCbG9jaztcbiAgICAgIG1pbl9pdGVtcz86IG51bWJlcjtcbiAgICAgIG1heF9pdGVtcz86IG51bWJlcjtcbiAgICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJsb2NrIHtcbiAgYXR0cmlidXRlczogeyBbbmFtZTogc3RyaW5nXTogQXR0cmlidXRlIH07XG4gIGJsb2NrX3R5cGVzOiB7IFtuYW1lOiBzdHJpbmddOiBCbG9ja1R5cGUgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1TY2hlbWEge1xuICBwcm92aWRlcnM6IFByb3ZpZGVyU2NoZW1hO1xuICBtb2R1bGVzOiBNb2R1bGVTY2hlbWE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyc2lvblNjaGVtYSB7XG4gIHByb3ZpZGVyX3NlbGVjdGlvbnM6IHsgW2Zxbjogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8vIG90aGVyIHByb3BlcnRpZXMgYXJlbid0IHVzZWRcbn1cblxuaW50ZXJmYWNlIE1vZHVsZUluZGV4SXRlbSB7XG4gIEtleTogc3RyaW5nO1xuICBTb3VyY2U6IHN0cmluZztcbiAgRGlyOiBzdHJpbmc7XG4gIFZlcnNpb24/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUluZGV4IHtcbiAgTW9kdWxlczogTW9kdWxlSW5kZXhJdGVtW107XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export declare function isRegistryModule(source: string): boolean;
2
+ //# sourceMappingURL=terraform-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terraform-module.d.ts","sourceRoot":"","sources":["terraform-module.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,WAiB9C"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRegistryModule = void 0;
4
+ // Copyright (c) HashiCorp, Inc
5
+ // SPDX-License-Identifier: MPL-2.0
6
+ const validator_1 = require("validator");
7
+ // Logic from https://github.com/hashicorp/terraform/blob/e09b831f6ee35d37b11b8dcccd3a6d6f6db5e5ff/internal/addrs/module_source.go#L198
8
+ function isRegistryModule(source) {
9
+ const parts = source.split("/");
10
+ if (source.startsWith(".") ||
11
+ parts.length < 3 ||
12
+ parts.length > 4 ||
13
+ source.includes("github.com") ||
14
+ source.includes("bitbucket.org")) {
15
+ return false;
16
+ }
17
+ if (parts.length === 4 && !(0, validator_1.isFQDN)(parts[0])) {
18
+ return false;
19
+ }
20
+ return true;
21
+ }
22
+ exports.isRegistryModule = isRegistryModule;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx5Q0FBbUM7QUFFbkMsdUlBQXVJO0FBQ3ZJLFNBQWdCLGdCQUFnQixDQUFDLE1BQWM7SUFDN0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxJQUNFLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNoQixLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDaEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFDaEMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFBLGtCQUFNLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFqQkQsNENBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IGlzRlFETiB9IGZyb20gXCJ2YWxpZGF0b3JcIjtcblxuLy8gTG9naWMgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS9ibG9iL2UwOWI4MzFmNmVlMzVkMzdiMTFiOGRjY2NkM2E2ZDZmNmRiNWU1ZmYvaW50ZXJuYWwvYWRkcnMvbW9kdWxlX3NvdXJjZS5nbyNMMTk4XG5leHBvcnQgZnVuY3Rpb24gaXNSZWdpc3RyeU1vZHVsZShzb3VyY2U6IHN0cmluZykge1xuICBjb25zdCBwYXJ0cyA9IHNvdXJjZS5zcGxpdChcIi9cIik7XG4gIGlmIChcbiAgICBzb3VyY2Uuc3RhcnRzV2l0aChcIi5cIikgfHxcbiAgICBwYXJ0cy5sZW5ndGggPCAzIHx8XG4gICAgcGFydHMubGVuZ3RoID4gNCB8fFxuICAgIHNvdXJjZS5pbmNsdWRlcyhcImdpdGh1Yi5jb21cIikgfHxcbiAgICBzb3VyY2UuaW5jbHVkZXMoXCJiaXRidWNrZXQub3JnXCIpXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChwYXJ0cy5sZW5ndGggPT09IDQgJiYgIWlzRlFETihwYXJ0c1swXSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=terraform-module.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terraform-module.test.d.ts","sourceRoot":"","sources":["terraform-module.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) HashiCorp, Inc.
4
+ * SPDX-License-Identifier: MPL-2.0
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const terraform_module_1 = require("./terraform-module");
8
+ describe("terraform-module", () => {
9
+ describe.each `
10
+ source | expected
11
+ ${"hashicorp/consul/aws"} | ${true}
12
+ ${"hashicorp/consul/aws//foo"} | ${false}
13
+ ${"./consul"} | ${false}
14
+ ${"git@github.com:hashicorp/example.git"} | ${false}
15
+ ${"github.com/hashicorp/example"} | ${false}
16
+ ${"github.com/hashicorp/terraform-cidr-subnets"} | ${false}
17
+ ${"bitbucket.org/hashicorp/terraform-consul-aws"} | ${false}
18
+ ${"foo/var/baz/qux"} | ${false}
19
+ ${"foo.com/var/baz"} | ${true}
20
+ ${".foo.com/var/baz"} | ${false}
21
+ ${"f-o-o.com/var/baz"} | ${true}
22
+ ${"foo.com/var/baz/canz"} | ${true}
23
+ ${"example.com/awesomecorp/network/happycloud//examples/foo"} | ${false}
24
+ ${"www.googleapis.com/storage/v1/BUCKET_NAME/PATH_TO_MODULE"} | ${false}
25
+ `("isRegistryModule($source)", ({ source, expected }) => {
26
+ it(`expects ${expected}`, () => {
27
+ expect((0, terraform_module_1.isRegistryModule)(source)).toBe(expected);
28
+ });
29
+ });
30
+ });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW1vZHVsZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVycmFmb3JtLW1vZHVsZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBRUgseURBQXNEO0FBRXRELFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7SUFDaEMsUUFBUSxDQUFDLElBQUksQ0FBQTs7TUFFVCxzQkFBc0IsMENBQTBDLElBQUk7TUFDcEUsMkJBQTJCLHFDQUFxQyxLQUFLO01BQ3JFLFVBQVUsc0RBQXNELEtBQUs7TUFDckUsc0NBQXNDLDBCQUEwQixLQUFLO01BQ3JFLDhCQUE4QixrQ0FBa0MsS0FBSztNQUNyRSw2Q0FBNkMsbUJBQW1CLEtBQUs7TUFDckUsOENBQThDLGtCQUFrQixLQUFLO01BQ3JFLGlCQUFpQiwrQ0FBK0MsS0FBSztNQUNyRSxpQkFBaUIsK0NBQStDLElBQUk7TUFDcEUsa0JBQWtCLDhDQUE4QyxLQUFLO01BQ3JFLG1CQUFtQiw2Q0FBNkMsSUFBSTtNQUNwRSxzQkFBc0IsMENBQTBDLElBQUk7TUFDcEUsMERBQTBELE1BQU0sS0FBSztNQUNyRSwwREFBMEQsTUFBTSxLQUFLO0dBQ3hFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQ3RELEVBQUUsQ0FBQyxXQUFXLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRTtZQUM3QixNQUFNLENBQUMsSUFBQSxtQ0FBZ0IsRUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7IGlzUmVnaXN0cnlNb2R1bGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tbW9kdWxlXCI7XG5cbmRlc2NyaWJlKFwidGVycmFmb3JtLW1vZHVsZVwiLCAoKSA9PiB7XG4gIGRlc2NyaWJlLmVhY2hgXG4gICAgc291cmNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGV4cGVjdGVkXG4gICAgJHtcImhhc2hpY29ycC9jb25zdWwvYXdzXCJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgJHt0cnVlfVxuICAgICR7XCJoYXNoaWNvcnAvY29uc3VsL2F3cy8vZm9vXCJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICR7ZmFsc2V9XG4gICAgJHtcIi4vY29uc3VsXCJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgJHtmYWxzZX1cbiAgICAke1wiZ2l0QGdpdGh1Yi5jb206aGFzaGljb3JwL2V4YW1wbGUuZ2l0XCJ9ICAgICAgICAgICAgICAgICAgICAgfCAke2ZhbHNlfVxuICAgICR7XCJnaXRodWIuY29tL2hhc2hpY29ycC9leGFtcGxlXCJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICR7ZmFsc2V9XG4gICAgJHtcImdpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1jaWRyLXN1Ym5ldHNcIn0gICAgICAgICAgICAgIHwgJHtmYWxzZX1cbiAgICAke1wiYml0YnVja2V0Lm9yZy9oYXNoaWNvcnAvdGVycmFmb3JtLWNvbnN1bC1hd3NcIn0gICAgICAgICAgICAgfCAke2ZhbHNlfVxuICAgICR7XCJmb28vdmFyL2Jhei9xdXhcIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICR7ZmFsc2V9XG4gICAgJHtcImZvby5jb20vdmFyL2JhelwifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgJHt0cnVlfVxuICAgICR7XCIuZm9vLmNvbS92YXIvYmF6XCJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICR7ZmFsc2V9XG4gICAgJHtcImYtby1vLmNvbS92YXIvYmF6XCJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgJHt0cnVlfVxuICAgICR7XCJmb28uY29tL3Zhci9iYXovY2FuelwifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICR7dHJ1ZX1cbiAgICAke1wiZXhhbXBsZS5jb20vYXdlc29tZWNvcnAvbmV0d29yay9oYXBweWNsb3VkLy9leGFtcGxlcy9mb29cIn0gfCAke2ZhbHNlfVxuICAgICR7XCJ3d3cuZ29vZ2xlYXBpcy5jb20vc3RvcmFnZS92MS9CVUNLRVRfTkFNRS9QQVRIX1RPX01PRFVMRVwifSB8ICR7ZmFsc2V9XG4gIGAoXCJpc1JlZ2lzdHJ5TW9kdWxlKCRzb3VyY2UpXCIsICh7IHNvdXJjZSwgZXhwZWN0ZWQgfSkgPT4ge1xuICAgIGl0KGBleHBlY3RzICR7ZXhwZWN0ZWR9YCwgKCkgPT4ge1xuICAgICAgZXhwZWN0KGlzUmVnaXN0cnlNb2R1bGUoc291cmNlKSkudG9CZShleHBlY3RlZCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=