@cdktn/cli-core 0.23.0-pre.4 → 0.23.0-pre.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ambient.d.ts +0 -1
- package/build/lib/cdktf-config.d.ts.map +1 -0
- package/build/lib/cdktf-config.js +108 -0
- package/build/lib/cdktf-project-io-handler.d.ts.map +1 -0
- package/build/lib/cdktf-project-io-handler.js +84 -0
- package/build/lib/cdktf-project.d.ts.map +1 -0
- package/build/lib/cdktf-project.js +371 -0
- package/{src → build}/lib/cdktf-stack.d.ts +1 -0
- package/build/lib/cdktf-stack.d.ts.map +1 -0
- package/build/lib/cdktf-stack.js +386 -0
- package/build/lib/convert.d.ts.map +1 -0
- package/build/lib/convert.js +51 -0
- package/build/lib/dependencies/cdktf-config-manager.d.ts.map +1 -0
- package/build/lib/dependencies/cdktf-config-manager.js +36 -0
- package/build/lib/dependencies/dependency-manager.d.ts.map +1 -0
- package/build/lib/dependencies/dependency-manager.js +393 -0
- package/build/lib/dependencies/package-manager.d.ts.map +1 -0
- package/build/lib/dependencies/package-manager.js +581 -0
- package/build/lib/dependencies/prebuilt-providers.d.ts.map +1 -0
- package/build/lib/dependencies/prebuilt-providers.js +221 -0
- package/build/lib/dependencies/registry-api.d.ts.map +1 -0
- package/build/lib/dependencies/registry-api.js +77 -0
- package/build/lib/dependencies/version-constraints.d.ts.map +1 -0
- package/build/lib/dependencies/version-constraints.js +95 -0
- package/build/lib/error-reporting.d.ts.map +1 -0
- package/build/lib/error-reporting.js +133 -0
- package/build/lib/errors.d.ts.map +1 -0
- package/build/lib/errors.js +10 -0
- package/build/lib/execution-logs.d.ts.map +1 -0
- package/build/lib/execution-logs.js +47 -0
- package/build/lib/get.d.ts.map +1 -0
- package/build/lib/get.js +90 -0
- package/build/lib/helpers/stack-helpers.d.ts.map +1 -0
- package/build/lib/helpers/stack-helpers.js +155 -0
- package/build/lib/index.d.ts.map +1 -0
- package/{src → build}/lib/index.js +1 -2
- package/build/lib/init.d.ts.map +1 -0
- package/build/lib/init.js +131 -0
- package/build/lib/local-provider-constraints.d.ts.map +1 -0
- package/build/lib/local-provider-constraints.js +95 -0
- package/build/lib/local-provider-versions.d.ts.map +1 -0
- package/build/lib/local-provider-versions.js +73 -0
- package/{src → build}/lib/models/deploy-machine.d.ts +3 -11
- package/build/lib/models/deploy-machine.d.ts.map +1 -0
- package/build/lib/models/deploy-machine.js +283 -0
- package/build/lib/models/interactive-process.d.ts +28 -0
- package/build/lib/models/interactive-process.d.ts.map +1 -0
- package/build/lib/models/interactive-process.js +59 -0
- package/{src → build}/lib/models/schema.d.ts.map +1 -1
- package/build/lib/models/schema.js +181 -0
- package/{src → build}/lib/models/terraform-cli.d.ts +1 -0
- package/build/lib/models/terraform-cli.d.ts.map +1 -0
- package/build/lib/models/terraform-cli.js +355 -0
- package/build/lib/models/terraform.d.ts.map +1 -0
- package/build/lib/models/terraform.js +72 -0
- package/build/lib/output.d.ts.map +1 -0
- package/build/lib/output.js +211 -0
- package/build/lib/provider-add.d.ts.map +1 -0
- package/build/lib/provider-add.js +30 -0
- package/build/lib/server/terraform-logs.d.ts.map +1 -0
- package/build/lib/server/terraform-logs.js +19 -0
- package/{src → build}/lib/synth-stack.d.ts +1 -0
- package/build/lib/synth-stack.d.ts.map +1 -0
- package/build/lib/synth-stack.js +251 -0
- package/build/lib/synth.d.ts.map +1 -0
- package/build/lib/synth.js +67 -0
- package/{src → build}/lib/terraform-json.d.ts.map +1 -1
- package/build/lib/terraform-json.js +82 -0
- package/build/lib/terraform-provider-lock.d.ts.map +1 -0
- package/build/lib/terraform-provider-lock.js +95 -0
- package/{src → build}/lib/watch.d.ts +1 -0
- package/build/lib/watch.d.ts.map +1 -0
- package/build/lib/watch.js +155 -0
- package/eslint.config.mjs +2 -66
- package/package.json +32 -44
- package/templates/go/go.mod +1 -1
- package/templates/python/Pipfile +1 -1
- package/templates/typescript/.hooks.sscaff.js +1 -1
- package/src/lib/cdktf-config.d.ts.map +0 -1
- package/src/lib/cdktf-config.js +0 -108
- package/src/lib/cdktf-project-io-handler.d.ts.map +0 -1
- package/src/lib/cdktf-project-io-handler.js +0 -84
- package/src/lib/cdktf-project.d.ts.map +0 -1
- package/src/lib/cdktf-project.js +0 -371
- package/src/lib/cdktf-stack.d.ts.map +0 -1
- package/src/lib/cdktf-stack.js +0 -386
- package/src/lib/convert.d.ts.map +0 -1
- package/src/lib/convert.js +0 -51
- package/src/lib/dependencies/cdktf-config-manager.d.ts.map +0 -1
- package/src/lib/dependencies/cdktf-config-manager.js +0 -36
- package/src/lib/dependencies/dependency-manager.d.ts.map +0 -1
- package/src/lib/dependencies/dependency-manager.js +0 -393
- package/src/lib/dependencies/package-manager.d.ts.map +0 -1
- package/src/lib/dependencies/package-manager.js +0 -581
- package/src/lib/dependencies/prebuilt-providers.d.ts.map +0 -1
- package/src/lib/dependencies/prebuilt-providers.js +0 -220
- package/src/lib/dependencies/registry-api.d.ts.map +0 -1
- package/src/lib/dependencies/registry-api.js +0 -77
- package/src/lib/dependencies/version-constraints.d.ts.map +0 -1
- package/src/lib/dependencies/version-constraints.js +0 -95
- package/src/lib/error-reporting.d.ts.map +0 -1
- package/src/lib/error-reporting.js +0 -133
- package/src/lib/errors.d.ts.map +0 -1
- package/src/lib/errors.js +0 -10
- package/src/lib/execution-logs.d.ts.map +0 -1
- package/src/lib/execution-logs.js +0 -47
- package/src/lib/get.d.ts.map +0 -1
- package/src/lib/get.js +0 -90
- package/src/lib/helpers/stack-helpers.d.ts.map +0 -1
- package/src/lib/helpers/stack-helpers.js +0 -155
- package/src/lib/index.d.ts.map +0 -1
- package/src/lib/init.d.ts.map +0 -1
- package/src/lib/init.js +0 -131
- package/src/lib/local-provider-constraints.d.ts.map +0 -1
- package/src/lib/local-provider-constraints.js +0 -95
- package/src/lib/local-provider-versions.d.ts.map +0 -1
- package/src/lib/local-provider-versions.js +0 -73
- package/src/lib/models/deploy-machine.d.ts.map +0 -1
- package/src/lib/models/deploy-machine.js +0 -280
- package/src/lib/models/pty-process.d.ts +0 -29
- package/src/lib/models/pty-process.d.ts.map +0 -1
- package/src/lib/models/pty-process.js +0 -132
- package/src/lib/models/schema.js +0 -181
- package/src/lib/models/terraform-cli.d.ts.map +0 -1
- package/src/lib/models/terraform-cli.js +0 -357
- package/src/lib/models/terraform.d.ts.map +0 -1
- package/src/lib/models/terraform.js +0 -72
- package/src/lib/output.d.ts.map +0 -1
- package/src/lib/output.js +0 -211
- package/src/lib/provider-add.d.ts.map +0 -1
- package/src/lib/provider-add.js +0 -30
- package/src/lib/server/terraform-logs.d.ts.map +0 -1
- package/src/lib/server/terraform-logs.js +0 -19
- package/src/lib/synth-stack.d.ts.map +0 -1
- package/src/lib/synth-stack.js +0 -251
- package/src/lib/synth.d.ts.map +0 -1
- package/src/lib/synth.js +0 -67
- package/src/lib/terraform-json.js +0 -82
- package/src/lib/terraform-provider-lock.d.ts.map +0 -1
- package/src/lib/terraform-provider-lock.js +0 -95
- package/src/lib/watch.d.ts.map +0 -1
- package/src/lib/watch.js +0 -155
- /package/{src → build}/lib/cdktf-config.d.ts +0 -0
- /package/{src → build}/lib/cdktf-project-io-handler.d.ts +0 -0
- /package/{src → build}/lib/cdktf-project.d.ts +0 -0
- /package/{src → build}/lib/convert.d.ts +0 -0
- /package/{src → build}/lib/dependencies/cdktf-config-manager.d.ts +0 -0
- /package/{src → build}/lib/dependencies/dependency-manager.d.ts +0 -0
- /package/{src → build}/lib/dependencies/package-manager.d.ts +0 -0
- /package/{src → build}/lib/dependencies/prebuilt-providers.d.ts +0 -0
- /package/{src → build}/lib/dependencies/registry-api.d.ts +0 -0
- /package/{src → build}/lib/dependencies/version-constraints.d.ts +0 -0
- /package/{src → build}/lib/error-reporting.d.ts +0 -0
- /package/{src → build}/lib/errors.d.ts +0 -0
- /package/{src → build}/lib/execution-logs.d.ts +0 -0
- /package/{src → build}/lib/get.d.ts +0 -0
- /package/{src → build}/lib/helpers/stack-helpers.d.ts +0 -0
- /package/{src → build}/lib/index.d.ts +0 -0
- /package/{src → build}/lib/init.d.ts +0 -0
- /package/{src → build}/lib/local-provider-constraints.d.ts +0 -0
- /package/{src → build}/lib/local-provider-versions.d.ts +0 -0
- /package/{src → build}/lib/models/schema.d.ts +0 -0
- /package/{src → build}/lib/models/terraform.d.ts +0 -0
- /package/{src → build}/lib/output.d.ts +0 -0
- /package/{src → build}/lib/provider-add.d.ts +0 -0
- /package/{src → build}/lib/server/terraform-logs.d.ts +0 -0
- /package/{src → build}/lib/synth.d.ts +0 -0
- /package/{src → build}/lib/terraform-json.d.ts +0 -0
- /package/{src → build}/lib/terraform-provider-lock.d.ts +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
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.printAnnotations = void 0;
|
|
27
|
+
const cdktn_1 = require("cdktn");
|
|
28
|
+
const chalk = __importStar(require("chalk"));
|
|
29
|
+
const chalkColour = new chalk.Instance();
|
|
30
|
+
/**
|
|
31
|
+
* prints annotations via console
|
|
32
|
+
* @throws Error if an Annotation with level === ERROR has been encountered
|
|
33
|
+
*/
|
|
34
|
+
function printAnnotations(stacks) {
|
|
35
|
+
let encounteredAnnotationError = false;
|
|
36
|
+
stacks.forEach((stack) => (stack.annotations || []).forEach((annotation) => {
|
|
37
|
+
if (annotation.level === cdktn_1.AnnotationMetadataEntryType.ERROR)
|
|
38
|
+
encounteredAnnotationError = true;
|
|
39
|
+
let color = chalkColour.whiteBright;
|
|
40
|
+
let level = annotation.level;
|
|
41
|
+
switch (annotation.level) {
|
|
42
|
+
case cdktn_1.AnnotationMetadataEntryType.INFO: {
|
|
43
|
+
level = "INFO";
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
case cdktn_1.AnnotationMetadataEntryType.WARN: {
|
|
47
|
+
color = chalkColour.hex("#FFA500"); // orange
|
|
48
|
+
level = "WARN";
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
case cdktn_1.AnnotationMetadataEntryType.ERROR: {
|
|
52
|
+
color = chalkColour.redBright;
|
|
53
|
+
level = "ERROR";
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
console.log(color(`${level} [${annotation.constructPath}]: ${annotation.message}`));
|
|
58
|
+
if (annotation.level === cdktn_1.AnnotationMetadataEntryType.ERROR &&
|
|
59
|
+
annotation.stacktrace)
|
|
60
|
+
console.log(chalkColour.gray(annotation.stacktrace.join("\n")));
|
|
61
|
+
}));
|
|
62
|
+
if (encounteredAnnotationError) {
|
|
63
|
+
throw new Error("While synthesizing one or more error annotations have been encountered. Please check the log output above.");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.printAnnotations = printAnnotations;
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3N5bnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsaUNBQW9EO0FBQ3BELDZDQUErQjtBQUUvQixNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUV6Qzs7O0dBR0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxNQUEwQjtJQUN6RCxJQUFJLDBCQUEwQixHQUFHLEtBQUssQ0FBQztJQUV2QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDdkIsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQy9DLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSyxtQ0FBMkIsQ0FBQyxLQUFLO1lBQ3hELDBCQUEwQixHQUFHLElBQUksQ0FBQztRQUVwQyxJQUFJLEtBQUssR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksS0FBSyxHQUFXLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDckMsUUFBUSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsS0FBSyxtQ0FBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN0QyxLQUFLLEdBQUcsTUFBTSxDQUFDO2dCQUNmLE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxtQ0FBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN0QyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQzdDLEtBQUssR0FBRyxNQUFNLENBQUM7Z0JBQ2YsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLG1DQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZDLEtBQUssR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO2dCQUM5QixLQUFLLEdBQUcsT0FBTyxDQUFDO2dCQUNoQixNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUNULEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSyxVQUFVLENBQUMsYUFBYSxNQUFNLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUN2RSxDQUFDO1FBQ0YsSUFDRSxVQUFVLENBQUMsS0FBSyxLQUFLLG1DQUEyQixDQUFDLEtBQUs7WUFDdEQsVUFBVSxDQUFDLFVBQVU7WUFFckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBRUYsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQ2IsNEdBQTRHLENBQzdHLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQTFDRCw0Q0EwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgU3ludGhlc2l6ZWRTdGFjayB9IGZyb20gXCIuL3N5bnRoLXN0YWNrXCI7XG5pbXBvcnQgeyBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUgfSBmcm9tIFwiY2RrdG5cIjtcbmltcG9ydCAqIGFzIGNoYWxrIGZyb20gXCJjaGFsa1wiO1xuXG5jb25zdCBjaGFsa0NvbG91ciA9IG5ldyBjaGFsay5JbnN0YW5jZSgpO1xuXG4vKipcbiAqIHByaW50cyBhbm5vdGF0aW9ucyB2aWEgY29uc29sZVxuICogQHRocm93cyBFcnJvciBpZiBhbiBBbm5vdGF0aW9uIHdpdGggbGV2ZWwgPT09IEVSUk9SIGhhcyBiZWVuIGVuY291bnRlcmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludEFubm90YXRpb25zKHN0YWNrczogU3ludGhlc2l6ZWRTdGFja1tdKSB7XG4gIGxldCBlbmNvdW50ZXJlZEFubm90YXRpb25FcnJvciA9IGZhbHNlO1xuXG4gIHN0YWNrcy5mb3JFYWNoKChzdGFjaykgPT5cbiAgICAoc3RhY2suYW5ub3RhdGlvbnMgfHwgW10pLmZvckVhY2goKGFubm90YXRpb24pID0+IHtcbiAgICAgIGlmIChhbm5vdGF0aW9uLmxldmVsID09PSBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUuRVJST1IpXG4gICAgICAgIGVuY291bnRlcmVkQW5ub3RhdGlvbkVycm9yID0gdHJ1ZTtcblxuICAgICAgbGV0IGNvbG9yID0gY2hhbGtDb2xvdXIud2hpdGVCcmlnaHQ7XG4gICAgICBsZXQgbGV2ZWw6IHN0cmluZyA9IGFubm90YXRpb24ubGV2ZWw7XG4gICAgICBzd2l0Y2ggKGFubm90YXRpb24ubGV2ZWwpIHtcbiAgICAgICAgY2FzZSBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUuSU5GTzoge1xuICAgICAgICAgIGxldmVsID0gXCJJTkZPXCI7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUuV0FSTjoge1xuICAgICAgICAgIGNvbG9yID0gY2hhbGtDb2xvdXIuaGV4KFwiI0ZGQTUwMFwiKTsgLy8gb3JhbmdlXG4gICAgICAgICAgbGV2ZWwgPSBcIldBUk5cIjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5FUlJPUjoge1xuICAgICAgICAgIGNvbG9yID0gY2hhbGtDb2xvdXIucmVkQnJpZ2h0O1xuICAgICAgICAgIGxldmVsID0gXCJFUlJPUlwiO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgY29sb3IoYCR7bGV2ZWx9IFske2Fubm90YXRpb24uY29uc3RydWN0UGF0aH1dOiAke2Fubm90YXRpb24ubWVzc2FnZX1gKSxcbiAgICAgICk7XG4gICAgICBpZiAoXG4gICAgICAgIGFubm90YXRpb24ubGV2ZWwgPT09IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5FUlJPUiAmJlxuICAgICAgICBhbm5vdGF0aW9uLnN0YWNrdHJhY2VcbiAgICAgIClcbiAgICAgICAgY29uc29sZS5sb2coY2hhbGtDb2xvdXIuZ3JheShhbm5vdGF0aW9uLnN0YWNrdHJhY2Uuam9pbihcIlxcblwiKSkpO1xuICAgIH0pLFxuICApO1xuXG4gIGlmIChlbmNvdW50ZXJlZEFubm90YXRpb25FcnJvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiV2hpbGUgc3ludGhlc2l6aW5nIG9uZSBvciBtb3JlIGVycm9yIGFubm90YXRpb25zIGhhdmUgYmVlbiBlbmNvdW50ZXJlZC4gUGxlYXNlIGNoZWNrIHRoZSBsb2cgb3V0cHV0IGFib3ZlLlwiLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terraform-json.d.ts","sourceRoot":"","sources":["terraform-json.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUI,CAAC;AAEjB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA0ClB,CAAC;AAEf,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACjE,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"terraform-json.d.ts","sourceRoot":"","sources":["../../src/lib/terraform-json.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUI,CAAC;AAEjB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA0ClB,CAAC;AAEf,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACjE,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
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.terraformJsonSchema = void 0;
|
|
27
|
+
// Copyright (c) HashiCorp, Inc
|
|
28
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
29
|
+
const z = __importStar(require("zod"));
|
|
30
|
+
const remote = z
|
|
31
|
+
.object({
|
|
32
|
+
organization: z.string(),
|
|
33
|
+
hostname: z.string().optional(),
|
|
34
|
+
token: z.string().optional(),
|
|
35
|
+
workspaces: z.object({
|
|
36
|
+
name: z.string().optional(),
|
|
37
|
+
prefix: z.string().optional(),
|
|
38
|
+
}),
|
|
39
|
+
})
|
|
40
|
+
.deepPartial();
|
|
41
|
+
exports.terraformJsonSchema = z
|
|
42
|
+
.object({
|
|
43
|
+
"//": z
|
|
44
|
+
.object({
|
|
45
|
+
metadata: z
|
|
46
|
+
.object({
|
|
47
|
+
version: z.string(),
|
|
48
|
+
stackName: z.string(),
|
|
49
|
+
backend: z.string(),
|
|
50
|
+
})
|
|
51
|
+
.nonstrict(),
|
|
52
|
+
outputs: z.record(z.any()),
|
|
53
|
+
})
|
|
54
|
+
.nonstrict(),
|
|
55
|
+
terraform: z.object({
|
|
56
|
+
backend: z
|
|
57
|
+
.object({
|
|
58
|
+
// All other backends are here as well, but we don't read them right now
|
|
59
|
+
remote,
|
|
60
|
+
})
|
|
61
|
+
.nonstrict(),
|
|
62
|
+
cloud: z
|
|
63
|
+
.object({
|
|
64
|
+
organization: z.string(),
|
|
65
|
+
hostname: z.string().optional(),
|
|
66
|
+
token: z.string().optional(),
|
|
67
|
+
workspaces: z.union([
|
|
68
|
+
z.object({ name: z.string() }),
|
|
69
|
+
z.object({ tags: z.array(z.string()) }),
|
|
70
|
+
]),
|
|
71
|
+
})
|
|
72
|
+
.nonstrict(),
|
|
73
|
+
required_providers: z.record(z.object({ source: z.string(), version: z.string() }).nonstrict()),
|
|
74
|
+
required_version: z.string(),
|
|
75
|
+
}),
|
|
76
|
+
data: z.record(z.any()),
|
|
77
|
+
provider: z.record(z.any()),
|
|
78
|
+
resource: z.record(z.any()),
|
|
79
|
+
})
|
|
80
|
+
.deepPartial()
|
|
81
|
+
.nonstrict();
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWpzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3RlcnJhZm9ybS1qc29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFFekIsTUFBTSxNQUFNLEdBQUcsQ0FBQztLQUNiLE1BQU0sQ0FBQztJQUNOLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3hCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ25CLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQzNCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQzlCLENBQUM7Q0FDSCxDQUFDO0tBQ0QsV0FBVyxFQUFFLENBQUM7QUFFSixRQUFBLG1CQUFtQixHQUFHLENBQUM7S0FDakMsTUFBTSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7U0FDSixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsQ0FBQzthQUNSLE1BQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ25CLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3JCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO1NBQ3BCLENBQUM7YUFDRCxTQUFTLEVBQUU7UUFDZCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDM0IsQ0FBQztTQUNELFNBQVMsRUFBRTtJQUNkLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2xCLE9BQU8sRUFBRSxDQUFDO2FBQ1AsTUFBTSxDQUFDO1lBQ04sd0VBQXdFO1lBQ3hFLE1BQU07U0FDUCxDQUFDO2FBQ0QsU0FBUyxFQUFFO1FBQ2QsS0FBSyxFQUFFLENBQUM7YUFDTCxNQUFNLENBQUM7WUFDTixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUN4QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUMvQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUM1QixVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDeEMsQ0FBQztTQUNILENBQUM7YUFDRCxTQUFTLEVBQUU7UUFDZCxrQkFBa0IsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUMxQixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FDbEU7UUFDRCxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQzdCLENBQUM7SUFDRixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdkIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzNCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztDQUM1QixDQUFDO0tBQ0QsV0FBVyxFQUFFO0tBQ2IsU0FBUyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgeiBmcm9tIFwiem9kXCI7XG5cbmNvbnN0IHJlbW90ZSA9IHpcbiAgLm9iamVjdCh7XG4gICAgb3JnYW5pemF0aW9uOiB6LnN0cmluZygpLFxuICAgIGhvc3RuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdG9rZW46IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB3b3Jrc3BhY2VzOiB6Lm9iamVjdCh7XG4gICAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgICBwcmVmaXg6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB9KSxcbiAgfSlcbiAgLmRlZXBQYXJ0aWFsKCk7XG5cbmV4cG9ydCBjb25zdCB0ZXJyYWZvcm1Kc29uU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBcIi8vXCI6IHpcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICBtZXRhZGF0YTogelxuICAgICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgICAgdmVyc2lvbjogei5zdHJpbmcoKSxcbiAgICAgICAgICAgIHN0YWNrTmFtZTogei5zdHJpbmcoKSxcbiAgICAgICAgICAgIGJhY2tlbmQ6IHouc3RyaW5nKCksXG4gICAgICAgICAgfSlcbiAgICAgICAgICAubm9uc3RyaWN0KCksXG4gICAgICAgIG91dHB1dHM6IHoucmVjb3JkKHouYW55KCkpLFxuICAgICAgfSlcbiAgICAgIC5ub25zdHJpY3QoKSxcbiAgICB0ZXJyYWZvcm06IHoub2JqZWN0KHtcbiAgICAgIGJhY2tlbmQ6IHpcbiAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgLy8gQWxsIG90aGVyIGJhY2tlbmRzIGFyZSBoZXJlIGFzIHdlbGwsIGJ1dCB3ZSBkb24ndCByZWFkIHRoZW0gcmlnaHQgbm93XG4gICAgICAgICAgcmVtb3RlLFxuICAgICAgICB9KVxuICAgICAgICAubm9uc3RyaWN0KCksXG4gICAgICBjbG91ZDogelxuICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICBvcmdhbml6YXRpb246IHouc3RyaW5nKCksXG4gICAgICAgICAgaG9zdG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAgICAgICB0b2tlbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgICAgICAgIHdvcmtzcGFjZXM6IHoudW5pb24oW1xuICAgICAgICAgICAgei5vYmplY3QoeyBuYW1lOiB6LnN0cmluZygpIH0pLFxuICAgICAgICAgICAgei5vYmplY3QoeyB0YWdzOiB6LmFycmF5KHouc3RyaW5nKCkpIH0pLFxuICAgICAgICAgIF0pLFxuICAgICAgICB9KVxuICAgICAgICAubm9uc3RyaWN0KCksXG4gICAgICByZXF1aXJlZF9wcm92aWRlcnM6IHoucmVjb3JkKFxuICAgICAgICB6Lm9iamVjdCh7IHNvdXJjZTogei5zdHJpbmcoKSwgdmVyc2lvbjogei5zdHJpbmcoKSB9KS5ub25zdHJpY3QoKSxcbiAgICAgICksXG4gICAgICByZXF1aXJlZF92ZXJzaW9uOiB6LnN0cmluZygpLFxuICAgIH0pLFxuICAgIGRhdGE6IHoucmVjb3JkKHouYW55KCkpLFxuICAgIHByb3ZpZGVyOiB6LnJlY29yZCh6LmFueSgpKSxcbiAgICByZXNvdXJjZTogei5yZWNvcmQoei5hbnkoKSksXG4gIH0pXG4gIC5kZWVwUGFydGlhbCgpXG4gIC5ub25zdHJpY3QoKTtcblxuZXhwb3J0IHR5cGUgVGVycmFmb3JtU3RhY2sgPSB6LmluZmVyPHR5cGVvZiB0ZXJyYWZvcm1Kc29uU2NoZW1hPjtcbmV4cG9ydCB0eXBlIFRlcnJhZm9ybUpzb25Db25maWdCYWNrZW5kUmVtb3RlID0gei5pbmZlcjx0eXBlb2YgcmVtb3RlPjtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terraform-provider-lock.d.ts","sourceRoot":"","sources":["../../src/lib/terraform-provider-lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAKvE,KAAK,8BAA8B,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAQF,qBAAa,qBAAqB;IAEpB,OAAO,CAAC,qBAAqB;IADzC,OAAO,CAAC,iBAAiB,CAAuC;gBAC5C,qBAAqB,EAAE,MAAM;IAIjD,OAAO,KAAK,YAAY,GAEvB;IAEY,mBAAmB;YASlB,oBAAoB;IAYlC,OAAO,CAAC,qBAAqB;IAyChB,SAAS,CAAC,WAAW,UAAQ;;;IAS7B,mBAAmB,CAAC,UAAU,EAAE,kBAAkB;CAWhE"}
|
|
@@ -0,0 +1,95 @@
|
|
|
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.TerraformProviderLock = void 0;
|
|
11
|
+
const path_1 = __importDefault(require("path"));
|
|
12
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
13
|
+
const dependency_manager_1 = require("./dependencies/dependency-manager");
|
|
14
|
+
const commons_1 = require("@cdktn/commons");
|
|
15
|
+
const TerraformLockFileName = ".terraform.lock.hcl";
|
|
16
|
+
class TerraformProviderLock {
|
|
17
|
+
constructor(stackWorkingDirectory) {
|
|
18
|
+
this.stackWorkingDirectory = stackWorkingDirectory;
|
|
19
|
+
this._providerLockData = null;
|
|
20
|
+
}
|
|
21
|
+
get lockFilePath() {
|
|
22
|
+
return path_1.default.join(this.stackWorkingDirectory, TerraformLockFileName);
|
|
23
|
+
}
|
|
24
|
+
async hasProviderLockFile() {
|
|
25
|
+
try {
|
|
26
|
+
await promises_1.default.stat(this.lockFilePath);
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async readProviderLockFile() {
|
|
34
|
+
try {
|
|
35
|
+
const lockFile = (await promises_1.default.readFile(this.lockFilePath)).toString();
|
|
36
|
+
return lockFile;
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
commons_1.logger.debug("Unable to read provider lock file", e);
|
|
40
|
+
}
|
|
41
|
+
return "";
|
|
42
|
+
}
|
|
43
|
+
parseProviderLockFile(contents) {
|
|
44
|
+
const providerLockData = {
|
|
45
|
+
providers: {},
|
|
46
|
+
};
|
|
47
|
+
let currentProvider;
|
|
48
|
+
contents.split(/\r\n|\r|\n/).forEach((line) => {
|
|
49
|
+
if (currentProvider) {
|
|
50
|
+
const constraintMatch = line.match(/^\s*constraints\s+=\s+"(.*)"/);
|
|
51
|
+
if (constraintMatch) {
|
|
52
|
+
providerLockData.providers[currentProvider].constraints =
|
|
53
|
+
new dependency_manager_1.ProviderConstraint(currentProvider, constraintMatch[1]);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const versionMatch = line.match(/^\s*version\s+=\s+"(.*)"/);
|
|
57
|
+
if (versionMatch) {
|
|
58
|
+
providerLockData.providers[currentProvider].version = versionMatch[1];
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const endMatch = line.match(/^\s*}/);
|
|
62
|
+
if (endMatch) {
|
|
63
|
+
currentProvider = undefined;
|
|
64
|
+
}
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const providerMatch = line.match(/provider "(.*)"/);
|
|
68
|
+
if (providerMatch) {
|
|
69
|
+
currentProvider = providerMatch[1];
|
|
70
|
+
providerLockData.providers[currentProvider] = {
|
|
71
|
+
name: new dependency_manager_1.ProviderConstraint(currentProvider, ">=0").simplifiedName,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
return providerLockData;
|
|
76
|
+
}
|
|
77
|
+
async providers(forceReread = false) {
|
|
78
|
+
if (!this._providerLockData || forceReread) {
|
|
79
|
+
const contents = await this.readProviderLockFile();
|
|
80
|
+
this._providerLockData = this.parseProviderLockFile(contents);
|
|
81
|
+
}
|
|
82
|
+
return this._providerLockData.providers;
|
|
83
|
+
}
|
|
84
|
+
async hasMatchingProvider(constraint) {
|
|
85
|
+
var _a, _b;
|
|
86
|
+
const providerLockData = await this.providers();
|
|
87
|
+
const lockedProvider = providerLockData[constraint.source];
|
|
88
|
+
if (lockedProvider) {
|
|
89
|
+
return (_a = lockedProvider.constraints) === null || _a === void 0 ? void 0 : _a.matchesVersion((_b = constraint.version) !== null && _b !== void 0 ? _b : ">0");
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.TerraformProviderLock = TerraformProviderLock;
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLXByb3ZpZGVyLWxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3RlcnJhZm9ybS1wcm92aWRlci1sb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7Ozs7OztBQUVILGdEQUF3QjtBQUN4QiwyREFBNkI7QUFDN0IsMEVBQXVFO0FBQ3ZFLDRDQUF3QztBQUV4QyxNQUFNLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDO0FBY3BELE1BQWEscUJBQXFCO0lBRWhDLFlBQW9CLHFCQUE2QjtRQUE3QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQVE7UUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sY0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixJQUFJLENBQUM7WUFDSCxNQUFNLGtCQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxvQkFBb0I7UUFDaEMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLGtCQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRW5FLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVPLHFCQUFxQixDQUFDLFFBQWdCO1FBQzVDLE1BQU0sZ0JBQWdCLEdBQWtDO1lBQ3RELFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUNGLElBQUksZUFBbUMsQ0FBQztRQUV4QyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVDLElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxlQUFlLEVBQUUsQ0FBQztvQkFDcEIsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVc7d0JBQ3JELElBQUksdUNBQWtCLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM5RCxPQUFPO2dCQUNULENBQUM7Z0JBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNqQixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdEUsT0FBTztnQkFDVCxDQUFDO2dCQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ2IsZUFBZSxHQUFHLFNBQVMsQ0FBQztnQkFDOUIsQ0FBQztnQkFFRCxPQUFPO1lBQ1QsQ0FBQztZQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNwRCxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixlQUFlLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEdBQUc7b0JBQzVDLElBQUksRUFBRSxJQUFJLHVDQUFrQixDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxjQUFjO2lCQUNwRSxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsS0FBSztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzNDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFTSxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBOEI7O1FBQzdELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEQsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsT0FBTyxNQUFBLGNBQWMsQ0FBQyxXQUFXLDBDQUFFLGNBQWMsQ0FDL0MsTUFBQSxVQUFVLENBQUMsT0FBTyxtQ0FBSSxJQUFJLENBQzNCLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0Y7QUE1RkQsc0RBNEZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IGZzIGZyb20gXCJmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgUHJvdmlkZXJDb25zdHJhaW50IH0gZnJvbSBcIi4vZGVwZW5kZW5jaWVzL2RlcGVuZGVuY3ktbWFuYWdlclwiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbmNvbnN0IFRlcnJhZm9ybUxvY2tGaWxlTmFtZSA9IFwiLnRlcnJhZm9ybS5sb2NrLmhjbFwiO1xuXG50eXBlIFRlcnJhZm9ybVByb3ZpZGVyTG9ja0ZpbGVFbnRyeSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBjb25zdHJhaW50cz86IFByb3ZpZGVyQ29uc3RyYWludDtcbn07XG5cbnR5cGUgVGVycmFmb3JtUHJvdmlkZXJMb2NrRmlsZURhdGEgPSB7XG4gIHByb3ZpZGVyczoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBUZXJyYWZvcm1Qcm92aWRlckxvY2tGaWxlRW50cnk7XG4gIH07XG59O1xuXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtUHJvdmlkZXJMb2NrIHtcbiAgcHJpdmF0ZSBfcHJvdmlkZXJMb2NrRGF0YTogVGVycmFmb3JtUHJvdmlkZXJMb2NrRmlsZURhdGEgfCBudWxsO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0YWNrV29ya2luZ0RpcmVjdG9yeTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcHJvdmlkZXJMb2NrRGF0YSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldCBsb2NrRmlsZVBhdGgoKSB7XG4gICAgcmV0dXJuIHBhdGguam9pbih0aGlzLnN0YWNrV29ya2luZ0RpcmVjdG9yeSwgVGVycmFmb3JtTG9ja0ZpbGVOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYXNQcm92aWRlckxvY2tGaWxlKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy5zdGF0KHRoaXMubG9ja0ZpbGVQYXRoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlYWRQcm92aWRlckxvY2tGaWxlKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsb2NrRmlsZSA9IChhd2FpdCBmcy5yZWFkRmlsZSh0aGlzLmxvY2tGaWxlUGF0aCkpLnRvU3RyaW5nKCk7XG5cbiAgICAgIHJldHVybiBsb2NrRmlsZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIuZGVidWcoXCJVbmFibGUgdG8gcmVhZCBwcm92aWRlciBsb2NrIGZpbGVcIiwgZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlUHJvdmlkZXJMb2NrRmlsZShjb250ZW50czogc3RyaW5nKSB7XG4gICAgY29uc3QgcHJvdmlkZXJMb2NrRGF0YTogVGVycmFmb3JtUHJvdmlkZXJMb2NrRmlsZURhdGEgPSB7XG4gICAgICBwcm92aWRlcnM6IHt9LFxuICAgIH07XG4gICAgbGV0IGN1cnJlbnRQcm92aWRlcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgY29udGVudHMuc3BsaXQoL1xcclxcbnxcXHJ8XFxuLykuZm9yRWFjaCgobGluZSkgPT4ge1xuICAgICAgaWYgKGN1cnJlbnRQcm92aWRlcikge1xuICAgICAgICBjb25zdCBjb25zdHJhaW50TWF0Y2ggPSBsaW5lLm1hdGNoKC9eXFxzKmNvbnN0cmFpbnRzXFxzKz1cXHMrXCIoLiopXCIvKTtcbiAgICAgICAgaWYgKGNvbnN0cmFpbnRNYXRjaCkge1xuICAgICAgICAgIHByb3ZpZGVyTG9ja0RhdGEucHJvdmlkZXJzW2N1cnJlbnRQcm92aWRlcl0uY29uc3RyYWludHMgPVxuICAgICAgICAgICAgbmV3IFByb3ZpZGVyQ29uc3RyYWludChjdXJyZW50UHJvdmlkZXIsIGNvbnN0cmFpbnRNYXRjaFsxXSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmVyc2lvbk1hdGNoID0gbGluZS5tYXRjaCgvXlxccyp2ZXJzaW9uXFxzKz1cXHMrXCIoLiopXCIvKTtcbiAgICAgICAgaWYgKHZlcnNpb25NYXRjaCkge1xuICAgICAgICAgIHByb3ZpZGVyTG9ja0RhdGEucHJvdmlkZXJzW2N1cnJlbnRQcm92aWRlcl0udmVyc2lvbiA9IHZlcnNpb25NYXRjaFsxXTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbmRNYXRjaCA9IGxpbmUubWF0Y2goL15cXHMqfS8pO1xuICAgICAgICBpZiAoZW5kTWF0Y2gpIHtcbiAgICAgICAgICBjdXJyZW50UHJvdmlkZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByb3ZpZGVyTWF0Y2ggPSBsaW5lLm1hdGNoKC9wcm92aWRlciBcIiguKilcIi8pO1xuICAgICAgaWYgKHByb3ZpZGVyTWF0Y2gpIHtcbiAgICAgICAgY3VycmVudFByb3ZpZGVyID0gcHJvdmlkZXJNYXRjaFsxXTtcbiAgICAgICAgcHJvdmlkZXJMb2NrRGF0YS5wcm92aWRlcnNbY3VycmVudFByb3ZpZGVyXSA9IHtcbiAgICAgICAgICBuYW1lOiBuZXcgUHJvdmlkZXJDb25zdHJhaW50KGN1cnJlbnRQcm92aWRlciwgXCI+PTBcIikuc2ltcGxpZmllZE5hbWUsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcHJvdmlkZXJMb2NrRGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcm92aWRlcnMoZm9yY2VSZXJlYWQgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy5fcHJvdmlkZXJMb2NrRGF0YSB8fCBmb3JjZVJlcmVhZCkge1xuICAgICAgY29uc3QgY29udGVudHMgPSBhd2FpdCB0aGlzLnJlYWRQcm92aWRlckxvY2tGaWxlKCk7XG4gICAgICB0aGlzLl9wcm92aWRlckxvY2tEYXRhID0gdGhpcy5wYXJzZVByb3ZpZGVyTG9ja0ZpbGUoY29udGVudHMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9wcm92aWRlckxvY2tEYXRhLnByb3ZpZGVycztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYXNNYXRjaGluZ1Byb3ZpZGVyKGNvbnN0cmFpbnQ6IFByb3ZpZGVyQ29uc3RyYWludCkge1xuICAgIGNvbnN0IHByb3ZpZGVyTG9ja0RhdGEgPSBhd2FpdCB0aGlzLnByb3ZpZGVycygpO1xuICAgIGNvbnN0IGxvY2tlZFByb3ZpZGVyID0gcHJvdmlkZXJMb2NrRGF0YVtjb25zdHJhaW50LnNvdXJjZV07XG4gICAgaWYgKGxvY2tlZFByb3ZpZGVyKSB7XG4gICAgICByZXR1cm4gbG9ja2VkUHJvdmlkZXIuY29uc3RyYWludHM/Lm1hdGNoZXNWZXJzaW9uKFxuICAgICAgICBjb25zdHJhaW50LnZlcnNpb24gPz8gXCI+MFwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/lib/watch.ts"],"names":[],"mappings":";AAGA,OAAO,EAEL,mBAAmB,EACnB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA0E3C,MAAM,MAAM,KAAK,GACb;IACE,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,GACD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,wBAAsB,KAAK,CACzB,cAAc,EAAE,mBAAmB,EACnC,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,iBAiFzC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.watch = void 0;
|
|
30
|
+
// Copyright (c) HashiCorp, Inc
|
|
31
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
32
|
+
const path_1 = __importDefault(require("path"));
|
|
33
|
+
const cdktf_project_1 = require("./cdktf-project");
|
|
34
|
+
const fs = __importStar(require("fs"));
|
|
35
|
+
const chokidar = __importStar(require("chokidar"));
|
|
36
|
+
const commons_1 = require("@cdktn/commons");
|
|
37
|
+
// In this very first iteration we will find out which files to watch by asking the user to provide the files
|
|
38
|
+
// We default to something reasonable per language and write it into the cdkt.json file
|
|
39
|
+
// Mid-Term we might want to add a WatchFile / WatchDir construct that we can use (e.g. in assets) and that a user can use to specify their watch behaviour
|
|
40
|
+
// See https://github.com/hashicorp/terraform-cdk/issues/1668
|
|
41
|
+
function getOrWriteDefaultWatchConfig(projectPath = process.cwd()) {
|
|
42
|
+
const cdktfJsonPath = path_1.default.resolve(projectPath, "cdktf.json");
|
|
43
|
+
commons_1.logger.debug(`Getting files to watch from cdktf.json at ${cdktfJsonPath}`);
|
|
44
|
+
let cdktfJson;
|
|
45
|
+
try {
|
|
46
|
+
cdktfJson = require(cdktfJsonPath);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
throw commons_1.Errors.Internal(`Could not find cdktf.json file in ${projectPath}`, err);
|
|
50
|
+
}
|
|
51
|
+
if (cdktfJson.watchPattern) {
|
|
52
|
+
commons_1.logger.debug(`Found watchPattern in cdktf.json: ${cdktfJson.watchPattern}`);
|
|
53
|
+
return cdktfJson.watchPattern;
|
|
54
|
+
}
|
|
55
|
+
const language = cdktfJson.language;
|
|
56
|
+
if (!language) {
|
|
57
|
+
throw commons_1.Errors.Usage(`No language specified in cdktf.json, please either specify a language or watchPattern to use the watch command`);
|
|
58
|
+
}
|
|
59
|
+
const defaultWatchPattern = {
|
|
60
|
+
typescript: ["./**/*.ts"],
|
|
61
|
+
python: ["./**/*.py"],
|
|
62
|
+
java: ["src/**/*.java"],
|
|
63
|
+
csharp: ["./**/*.cs"],
|
|
64
|
+
go: ["./**/*.go"],
|
|
65
|
+
}[language];
|
|
66
|
+
fs.writeFileSync(cdktfJsonPath, JSON.stringify({ ...cdktfJson, watchPattern: defaultWatchPattern }, null, 2));
|
|
67
|
+
commons_1.logger.debug(`Write default watchPattern for ${language} in cdktf.json.`);
|
|
68
|
+
return defaultWatchPattern;
|
|
69
|
+
}
|
|
70
|
+
const projectStatus = (project) => {
|
|
71
|
+
if (!(project === null || project === void 0 ? void 0 : project.stacksToRun.length)) {
|
|
72
|
+
return {
|
|
73
|
+
inProgress: [],
|
|
74
|
+
finished: [],
|
|
75
|
+
pending: [],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const inProgress = project.stacksToRun.filter((s) => s.isRunning);
|
|
79
|
+
const finished = project.stacksToRun.filter((s) => s.isDone);
|
|
80
|
+
const pending = project.stacksToRun.filter((s) => s.isPending);
|
|
81
|
+
return { inProgress, finished, pending };
|
|
82
|
+
};
|
|
83
|
+
async function watch(projectOptions, mutationOptions, abortSignal, onStateChange) {
|
|
84
|
+
const patterns = getOrWriteDefaultWatchConfig();
|
|
85
|
+
const watcher = chokidar.watch(patterns, {
|
|
86
|
+
ignoreInitial: true,
|
|
87
|
+
});
|
|
88
|
+
let state = { type: "waiting" };
|
|
89
|
+
const changeState = (newState) => {
|
|
90
|
+
state = newState;
|
|
91
|
+
onStateChange(state);
|
|
92
|
+
};
|
|
93
|
+
async function run() {
|
|
94
|
+
commons_1.logger.debug("Running cdktn deploy");
|
|
95
|
+
const project = new cdktf_project_1.CdktfProject({
|
|
96
|
+
synthOrigin: "watch",
|
|
97
|
+
...projectOptions,
|
|
98
|
+
onLog: (log) => {
|
|
99
|
+
if (projectOptions.onLog) {
|
|
100
|
+
projectOptions.onLog(log);
|
|
101
|
+
}
|
|
102
|
+
if (state.type === "running") {
|
|
103
|
+
changeState({ ...state, ...projectStatus(project) });
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
const abort = () => project.hardAbort();
|
|
108
|
+
abortSignal.addEventListener("abort", abort);
|
|
109
|
+
await project.deploy(mutationOptions);
|
|
110
|
+
abortSignal.removeEventListener("abort", abort);
|
|
111
|
+
commons_1.logger.debug("cdktn deploy finished");
|
|
112
|
+
if (state.type !== "running") {
|
|
113
|
+
throw commons_1.Errors.Internal("Watch was in a state where the state was not running in the run phase");
|
|
114
|
+
}
|
|
115
|
+
if (state.nextRunQueued) {
|
|
116
|
+
commons_1.logger.debug("Next run was queued, starting it now");
|
|
117
|
+
changeState({
|
|
118
|
+
...state,
|
|
119
|
+
nextRunQueued: false,
|
|
120
|
+
currentRun: run(),
|
|
121
|
+
...projectStatus(project),
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
commons_1.logger.debug("Nothing queued, waiting for changes");
|
|
126
|
+
changeState({ type: "waiting" });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
abortSignal.addEventListener("abort", () => {
|
|
130
|
+
commons_1.logger.debug("Abort signal received, stopping watch");
|
|
131
|
+
watcher.close();
|
|
132
|
+
changeState({ type: "stopped" });
|
|
133
|
+
});
|
|
134
|
+
const onFileChange = () => {
|
|
135
|
+
if (state.type === "stopped") {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (state.type === "running") {
|
|
139
|
+
changeState({ ...state, nextRunQueued: true });
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
changeState({
|
|
143
|
+
type: "running",
|
|
144
|
+
nextRunQueued: false,
|
|
145
|
+
currentRun: run(),
|
|
146
|
+
...projectStatus(),
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
watcher.on("all", onFileChange);
|
|
150
|
+
// initially run once
|
|
151
|
+
onFileChange();
|
|
152
|
+
await (0, commons_1.sendTelemetry)("watch", { event: "start" });
|
|
153
|
+
}
|
|
154
|
+
exports.watch = watch;
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3dhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyxnREFBd0I7QUFDeEIsbURBSXlCO0FBQ3pCLHVDQUF5QjtBQUN6QixtREFBcUM7QUFDckMsNENBQStEO0FBRy9ELDZHQUE2RztBQUM3Ryx1RkFBdUY7QUFDdkYsMkpBQTJKO0FBQzNKLDZEQUE2RDtBQUM3RCxTQUFTLDRCQUE0QixDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO0lBQy9ELE1BQU0sYUFBYSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlELGdCQUFNLENBQUMsS0FBSyxDQUFDLDZDQUE2QyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBRTNFLElBQUksU0FBUyxDQUFDO0lBQ2QsSUFBSSxDQUFDO1FBQ0gsU0FBUyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQUMsT0FBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixNQUFNLGdCQUFNLENBQUMsUUFBUSxDQUNuQixxQ0FBcUMsV0FBVyxFQUFFLEVBQ2xELEdBQUcsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLGdCQUFNLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM1RSxPQUFPLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDaEMsQ0FBQztJQUNELE1BQU0sUUFBUSxHQU1FLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFFbkMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsTUFBTSxnQkFBTSxDQUFDLEtBQUssQ0FDaEIsZ0hBQWdILENBQ2pI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LENBQUM7SUFFSCxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7UUFDeEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLFdBQVcsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLE9BQU87UUFDVCxDQUFDO1FBRUQsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLFNBQVM7WUFDZixhQUFhLEVBQUUsS0FBSztZQUNwQixVQUFVLEVBQUUsR0FBRyxFQUFFO1lBQ2pCLEdBQUcsYUFBYSxFQUFFO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2hDLHFCQUFxQjtJQUNyQixZQUFZLEVBQUUsQ0FBQztJQUVmLE1BQU0sSUFBQSx1QkFBYSxFQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFyRkQsc0JBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQge1xuICBDZGt0ZlByb2plY3QsXG4gIENka3RmUHJvamVjdE9wdGlvbnMsXG4gIE11dGF0aW9uT3B0aW9ucyxcbn0gZnJvbSBcIi4vY2RrdGYtcHJvamVjdFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBjaG9raWRhciBmcm9tIFwiY2hva2lkYXJcIjtcbmltcG9ydCB7IGxvZ2dlciwgRXJyb3JzLCBzZW5kVGVsZW1ldHJ5IH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBDZGt0ZlN0YWNrIH0gZnJvbSBcIi4vY2RrdGYtc3RhY2tcIjtcblxuLy8gSW4gdGhpcyB2ZXJ5IGZpcnN0IGl0ZXJhdGlvbiB3ZSB3aWxsIGZpbmQgb3V0IHdoaWNoIGZpbGVzIHRvIHdhdGNoIGJ5IGFza2luZyB0aGUgdXNlciB0byBwcm92aWRlIHRoZSBmaWxlc1xuLy8gV2UgZGVmYXVsdCB0byBzb21ldGhpbmcgcmVhc29uYWJsZSBwZXIgbGFuZ3VhZ2UgYW5kIHdyaXRlIGl0IGludG8gdGhlIGNka3QuanNvbiBmaWxlXG4vLyBNaWQtVGVybSB3ZSBtaWdodCB3YW50IHRvIGFkZCBhIFdhdGNoRmlsZSAvIFdhdGNoRGlyIGNvbnN0cnVjdCB0aGF0IHdlIGNhbiB1c2UgKGUuZy4gaW4gYXNzZXRzKSBhbmQgdGhhdCBhIHVzZXIgY2FuIHVzZSB0byBzcGVjaWZ5IHRoZWlyIHdhdGNoIGJlaGF2aW91clxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLWNkay9pc3N1ZXMvMTY2OFxuZnVuY3Rpb24gZ2V0T3JXcml0ZURlZmF1bHRXYXRjaENvbmZpZyhwcm9qZWN0UGF0aCA9IHByb2Nlc3MuY3dkKCkpIHtcbiAgY29uc3QgY2RrdGZKc29uUGF0aCA9IHBhdGgucmVzb2x2ZShwcm9qZWN0UGF0aCwgXCJjZGt0Zi5qc29uXCIpO1xuICBsb2dnZXIuZGVidWcoYEdldHRpbmcgZmlsZXMgdG8gd2F0Y2ggZnJvbSBjZGt0Zi5qc29uIGF0ICR7Y2RrdGZKc29uUGF0aH1gKTtcblxuICBsZXQgY2RrdGZKc29uO1xuICB0cnkge1xuICAgIGNka3RmSnNvbiA9IHJlcXVpcmUoY2RrdGZKc29uUGF0aCk7XG4gIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgYENvdWxkIG5vdCBmaW5kIGNka3RmLmpzb24gZmlsZSBpbiAke3Byb2plY3RQYXRofWAsXG4gICAgICBlcnIsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChjZGt0Zkpzb24ud2F0Y2hQYXR0ZXJuKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBGb3VuZCB3YXRjaFBhdHRlcm4gaW4gY2RrdGYuanNvbjogJHtjZGt0Zkpzb24ud2F0Y2hQYXR0ZXJufWApO1xuICAgIHJldHVybiBjZGt0Zkpzb24ud2F0Y2hQYXR0ZXJuO1xuICB9XG4gIGNvbnN0IGxhbmd1YWdlOlxuICAgIHwgXCJ0eXBlc2NyaXB0XCJcbiAgICB8IFwicHl0aG9uXCJcbiAgICB8IFwiamF2YVwiXG4gICAgfCBcImNzaGFycFwiXG4gICAgfCBcImdvXCJcbiAgICB8IHVuZGVmaW5lZCA9IGNka3RmSnNvbi5sYW5ndWFnZTtcblxuICBpZiAoIWxhbmd1YWdlKSB7XG4gICAgdGhyb3cgRXJyb3JzLlVzYWdlKFxuICAgICAgYE5vIGxhbmd1YWdlIHNwZWNpZmllZCBpbiBjZGt0Zi5qc29uLCBwbGVhc2UgZWl0aGVyIHNwZWNpZnkgYSBsYW5ndWFnZSBvciB3YXRjaFBhdHRlcm4gdG8gdXNlIHRoZSB3YXRjaCBjb21tYW5kYCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgZGVmYXVsdFdhdGNoUGF0dGVybiA9IHtcbiAgICB0eXBlc2NyaXB0OiBbXCIuLyoqLyoudHNcIl0sXG4gICAgcHl0aG9uOiBbXCIuLyoqLyoucHlcIl0sXG4gICAgamF2YTogW1wic3JjLyoqLyouamF2YVwiXSxcbiAgICBjc2hhcnA6IFtcIi4vKiovKi5jc1wiXSxcbiAgICBnbzogW1wiLi8qKi8qLmdvXCJdLFxuICB9W2xhbmd1YWdlXTtcblxuICBmcy53cml0ZUZpbGVTeW5jKFxuICAgIGNka3RmSnNvblBhdGgsXG4gICAgSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7IC4uLmNka3RmSnNvbiwgd2F0Y2hQYXR0ZXJuOiBkZWZhdWx0V2F0Y2hQYXR0ZXJuIH0sXG4gICAgICBudWxsLFxuICAgICAgMixcbiAgICApLFxuICApO1xuICBsb2dnZXIuZGVidWcoYFdyaXRlIGRlZmF1bHQgd2F0Y2hQYXR0ZXJuIGZvciAke2xhbmd1YWdlfSBpbiBjZGt0Zi5qc29uLmApO1xuXG4gIHJldHVybiBkZWZhdWx0V2F0Y2hQYXR0ZXJuO1xufVxuXG5jb25zdCBwcm9qZWN0U3RhdHVzID0gKHByb2plY3Q/OiBDZGt0ZlByb2plY3QpID0+IHtcbiAgaWYgKCFwcm9qZWN0Py5zdGFja3NUb1J1bi5sZW5ndGgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5Qcm9ncmVzczogW10sXG4gICAgICBmaW5pc2hlZDogW10sXG4gICAgICBwZW5kaW5nOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgaW5Qcm9ncmVzcyA9IHByb2plY3Quc3RhY2tzVG9SdW4uZmlsdGVyKChzKSA9PiBzLmlzUnVubmluZyk7XG4gIGNvbnN0IGZpbmlzaGVkID0gcHJvamVjdC5zdGFja3NUb1J1bi5maWx0ZXIoKHMpID0+IHMuaXNEb25lKTtcbiAgY29uc3QgcGVuZGluZyA9IHByb2plY3Quc3RhY2tzVG9SdW4uZmlsdGVyKChzKSA9PiBzLmlzUGVuZGluZyk7XG4gIHJldHVybiB7IGluUHJvZ3Jlc3MsIGZpbmlzaGVkLCBwZW5kaW5nIH07XG59O1xuXG5leHBvcnQgdHlwZSBTdGF0ZSA9XG4gIHwge1xuICAgICAgdHlwZTogXCJ3YWl0aW5nXCI7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwicnVubmluZ1wiO1xuICAgICAgbmV4dFJ1blF1ZXVlZDogYm9vbGVhbjtcbiAgICAgIGN1cnJlbnRSdW46IFByb21pc2U8dm9pZD47XG4gICAgICBpblByb2dyZXNzOiBDZGt0ZlN0YWNrW107XG4gICAgICBmaW5pc2hlZDogQ2RrdGZTdGFja1tdO1xuICAgICAgcGVuZGluZzogQ2RrdGZTdGFja1tdO1xuICAgIH1cbiAgfCB7IHR5cGU6IFwic3RvcHBlZFwiIH07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3YXRjaChcbiAgcHJvamVjdE9wdGlvbnM6IENka3RmUHJvamVjdE9wdGlvbnMsXG4gIG11dGF0aW9uT3B0aW9uczogTXV0YXRpb25PcHRpb25zLFxuICBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsXG4gIG9uU3RhdGVDaGFuZ2U6IChuZXdTdGF0ZTogU3RhdGUpID0+IHZvaWQsXG4pIHtcbiAgY29uc3QgcGF0dGVybnMgPSBnZXRPcldyaXRlRGVmYXVsdFdhdGNoQ29uZmlnKCk7XG4gIGNvbnN0IHdhdGNoZXIgPSBjaG9raWRhci53YXRjaChwYXR0ZXJucywge1xuICAgIGlnbm9yZUluaXRpYWw6IHRydWUsXG4gIH0pO1xuICBsZXQgc3RhdGU6IFN0YXRlID0geyB0eXBlOiBcIndhaXRpbmdcIiB9O1xuICBjb25zdCBjaGFuZ2VTdGF0ZSA9IChuZXdTdGF0ZTogU3RhdGUpID0+IHtcbiAgICBzdGF0ZSA9IG5ld1N0YXRlO1xuICAgIG9uU3RhdGVDaGFuZ2Uoc3RhdGUpO1xuICB9O1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHJ1bigpIHtcbiAgICBsb2dnZXIuZGVidWcoXCJSdW5uaW5nIGNka3RuIGRlcGxveVwiKTtcbiAgICBjb25zdCBwcm9qZWN0ID0gbmV3IENka3RmUHJvamVjdCh7XG4gICAgICBzeW50aE9yaWdpbjogXCJ3YXRjaFwiLFxuICAgICAgLi4ucHJvamVjdE9wdGlvbnMsXG4gICAgICBvbkxvZzogKGxvZykgPT4ge1xuICAgICAgICBpZiAocHJvamVjdE9wdGlvbnMub25Mb2cpIHtcbiAgICAgICAgICBwcm9qZWN0T3B0aW9ucy5vbkxvZyhsb2cpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS50eXBlID09PSBcInJ1bm5pbmdcIikge1xuICAgICAgICAgIGNoYW5nZVN0YXRlKHsgLi4uc3RhdGUsIC4uLnByb2plY3RTdGF0dXMocHJvamVjdCkgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgYWJvcnQgPSAoKSA9PiBwcm9qZWN0LmhhcmRBYm9ydCgpO1xuICAgIGFib3J0U2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCBhYm9ydCk7XG4gICAgYXdhaXQgcHJvamVjdC5kZXBsb3kobXV0YXRpb25PcHRpb25zKTtcbiAgICBhYm9ydFNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKFwiYWJvcnRcIiwgYWJvcnQpO1xuICAgIGxvZ2dlci5kZWJ1ZyhcImNka3RuIGRlcGxveSBmaW5pc2hlZFwiKTtcblxuICAgIGlmIChzdGF0ZS50eXBlICE9PSBcInJ1bm5pbmdcIikge1xuICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICBcIldhdGNoIHdhcyBpbiBhIHN0YXRlIHdoZXJlIHRoZSBzdGF0ZSB3YXMgbm90IHJ1bm5pbmcgaW4gdGhlIHJ1biBwaGFzZVwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGUubmV4dFJ1blF1ZXVlZCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiTmV4dCBydW4gd2FzIHF1ZXVlZCwgc3RhcnRpbmcgaXQgbm93XCIpO1xuICAgICAgY2hhbmdlU3RhdGUoe1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbmV4dFJ1blF1ZXVlZDogZmFsc2UsXG4gICAgICAgIGN1cnJlbnRSdW46IHJ1bigpLFxuICAgICAgICAuLi5wcm9qZWN0U3RhdHVzKHByb2plY3QpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIk5vdGhpbmcgcXVldWVkLCB3YWl0aW5nIGZvciBjaGFuZ2VzXCIpO1xuICAgICAgY2hhbmdlU3RhdGUoeyB0eXBlOiBcIndhaXRpbmdcIiB9KTtcbiAgICB9XG4gIH1cblxuICBhYm9ydFNpZ25hbC5hZGRFdmVudExpc3RlbmVyKFwiYWJvcnRcIiwgKCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIkFib3J0IHNpZ25hbCByZWNlaXZlZCwgc3RvcHBpbmcgd2F0Y2hcIik7XG4gICAgd2F0Y2hlci5jbG9zZSgpO1xuICAgIGNoYW5nZVN0YXRlKHsgdHlwZTogXCJzdG9wcGVkXCIgfSk7XG4gIH0pO1xuXG4gIGNvbnN0IG9uRmlsZUNoYW5nZSA9ICgpID0+IHtcbiAgICBpZiAoc3RhdGUudHlwZSA9PT0gXCJzdG9wcGVkXCIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoc3RhdGUudHlwZSA9PT0gXCJydW5uaW5nXCIpIHtcbiAgICAgIGNoYW5nZVN0YXRlKHsgLi4uc3RhdGUsIG5leHRSdW5RdWV1ZWQ6IHRydWUgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY2hhbmdlU3RhdGUoe1xuICAgICAgdHlwZTogXCJydW5uaW5nXCIsXG4gICAgICBuZXh0UnVuUXVldWVkOiBmYWxzZSxcbiAgICAgIGN1cnJlbnRSdW46IHJ1bigpLFxuICAgICAgLi4ucHJvamVjdFN0YXR1cygpLFxuICAgIH0pO1xuICB9O1xuXG4gIHdhdGNoZXIub24oXCJhbGxcIiwgb25GaWxlQ2hhbmdlKTtcbiAgLy8gaW5pdGlhbGx5IHJ1biBvbmNlXG4gIG9uRmlsZUNoYW5nZSgpO1xuXG4gIGF3YWl0IHNlbmRUZWxlbWV0cnkoXCJ3YXRjaFwiLCB7IGV2ZW50OiBcInN0YXJ0XCIgfSk7XG59XG4iXX0=
|
package/eslint.config.mjs
CHANGED
|
@@ -3,80 +3,16 @@
|
|
|
3
3
|
* SPDX-License-Identifier: MPL-2.0
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
import eslint from "@eslint/js";
|
|
8
|
-
import tseslint from "typescript-eslint";
|
|
9
|
-
import tsParser from "@typescript-eslint/parser";
|
|
10
|
-
import react from "eslint-plugin-react";
|
|
11
|
-
import prettierConfig from "eslint-plugin-prettier/recommended";
|
|
12
|
-
import path from "node:path";
|
|
13
|
-
import { fileURLToPath } from "node:url";
|
|
14
|
-
import js from "@eslint/js";
|
|
15
|
-
import { FlatCompat } from "@eslint/eslintrc";
|
|
16
|
-
|
|
17
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
18
|
-
const __dirname = path.dirname(__filename);
|
|
19
|
-
const compat = new FlatCompat({
|
|
20
|
-
baseDirectory: __dirname,
|
|
21
|
-
recommendedConfig: js.configs.recommended,
|
|
22
|
-
allConfig: js.configs.all,
|
|
23
|
-
});
|
|
6
|
+
import rootConfig from "../../../eslint.config.mjs";
|
|
24
7
|
|
|
25
8
|
export default [
|
|
26
9
|
{
|
|
27
10
|
ignores: [
|
|
28
|
-
"**/node_modules",
|
|
29
|
-
"**/dist",
|
|
30
|
-
"**/coverage",
|
|
31
|
-
"**/*.d.ts",
|
|
32
|
-
"**/*.js",
|
|
33
11
|
// prettier v2 managed inline snapshots
|
|
34
12
|
"src/test/lib/cdktf-project.test.ts",
|
|
35
13
|
"src/test/lib/terraform-logs.test.ts",
|
|
36
14
|
"src/test/lib/execution-logs.test.ts",
|
|
37
15
|
],
|
|
38
16
|
},
|
|
39
|
-
...
|
|
40
|
-
{
|
|
41
|
-
settings: {
|
|
42
|
-
react: {
|
|
43
|
-
version: "detect",
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
react.configs.flat.recommended,
|
|
48
|
-
...fixupConfigRules(compat.extends("plugin:react-hooks/recommended")).map(
|
|
49
|
-
(config) => ({
|
|
50
|
-
...config,
|
|
51
|
-
files: ["**/*.ts", "**/*.tsx"],
|
|
52
|
-
}),
|
|
53
|
-
),
|
|
54
|
-
{
|
|
55
|
-
files: ["**/*.ts", "**/*.tsx"],
|
|
56
|
-
|
|
57
|
-
languageOptions: {
|
|
58
|
-
parser: tsParser,
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
rules: {
|
|
62
|
-
"@typescript-eslint/no-explicit-any": 0,
|
|
63
|
-
"@typescript-eslint/explicit-function-return-type": 0,
|
|
64
|
-
"@typescript-eslint/no-use-before-define": 0,
|
|
65
|
-
"@typescript-eslint/explicit-module-boundary-types": 0,
|
|
66
|
-
"@typescript-eslint/no-var-requires": 0,
|
|
67
|
-
"@typescript-eslint/no-require-imports": "warn",
|
|
68
|
-
"@typescript-eslint/no-unused-vars": "warn",
|
|
69
|
-
"react/no-unescaped-entities": 0,
|
|
70
|
-
"no-sequences": "error",
|
|
71
|
-
"no-unused-vars": "warn",
|
|
72
|
-
|
|
73
|
-
"no-irregular-whitespace": [
|
|
74
|
-
"error",
|
|
75
|
-
{
|
|
76
|
-
skipTemplates: true,
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
prettierConfig,
|
|
17
|
+
...rootConfig,
|
|
82
18
|
];
|