cdktn 0.26.0-pre.2 → 0.26.0-pre.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1200 -1116
- package/eslint.config.mjs +18 -7
- package/jest.config.js +0 -1
- package/lib/_tokens.d.ts +7 -0
- package/lib/_tokens.js +8 -2
- package/lib/annotations.js +1 -1
- package/lib/app.js +8 -4
- package/lib/aspect.js +1 -1
- package/lib/asset-hash.js +1 -1
- package/lib/asset-staging.js +1 -1
- package/lib/assets.js +4 -4
- package/lib/backends/azurerm-backend.d.ts +6 -0
- package/lib/backends/azurerm-backend.js +9 -5
- package/lib/backends/cloud-backend.js +4 -4
- package/lib/backends/consul-backend.d.ts +6 -0
- package/lib/backends/consul-backend.js +9 -5
- package/lib/backends/cos-backend.d.ts +6 -0
- package/lib/backends/cos-backend.js +9 -5
- package/lib/backends/gcs-backend.d.ts +6 -0
- package/lib/backends/gcs-backend.js +9 -5
- package/lib/backends/http-backend.d.ts +6 -0
- package/lib/backends/http-backend.js +9 -5
- package/lib/backends/local-backend.d.ts +6 -0
- package/lib/backends/local-backend.js +9 -5
- package/lib/backends/oss-backend.d.ts +6 -0
- package/lib/backends/oss-backend.js +9 -5
- package/lib/backends/pg-backend.d.ts +6 -0
- package/lib/backends/pg-backend.js +9 -5
- package/lib/backends/remote-backend.d.ts +12 -0
- package/lib/backends/remote-backend.js +17 -9
- package/lib/backends/s3-backend.d.ts +6 -0
- package/lib/backends/s3-backend.js +9 -5
- package/lib/backends/swift-backend.js +2 -2
- package/lib/complex-computed-list.d.ts +85 -0
- package/lib/complex-computed-list.js +112 -54
- package/lib/functions/helpers.d.ts +72 -0
- package/lib/functions/helpers.js +73 -14
- package/lib/functions/provider-function.js +1 -1
- package/lib/functions/terraform-functions.generated.d.ts +3 -0
- package/lib/functions/terraform-functions.generated.js +5 -3
- package/lib/hcl/quoted-string-key.d.ts +25 -0
- package/lib/hcl/quoted-string-key.js +42 -0
- package/lib/hcl/render.js +41 -7
- package/lib/ignore-strategy.js +1 -1
- package/lib/importable-resource.js +1 -1
- package/lib/manifest.d.ts +4 -0
- package/lib/manifest.js +6 -3
- package/lib/private/unique.js +11 -3
- package/lib/resource.js +1 -1
- package/lib/runtime.d.ts +6 -0
- package/lib/runtime.js +12 -3
- package/lib/synthesize/required-version.d.ts +32 -0
- package/lib/synthesize/required-version.js +205 -0
- package/lib/synthesize/synthesizer.d.ts +13 -0
- package/lib/synthesize/synthesizer.js +42 -8
- package/lib/terraform-asset.d.ts +4 -0
- package/lib/terraform-asset.js +6 -3
- package/lib/terraform-backend.d.ts +3 -0
- package/lib/terraform-backend.js +5 -3
- package/lib/terraform-conditions.js +1 -2
- package/lib/terraform-count.js +1 -1
- package/lib/terraform-data-resource.js +1 -1
- package/lib/terraform-data-source.d.ts +4 -0
- package/lib/terraform-data-source.js +8 -6
- package/lib/terraform-dependable.js +1 -1
- package/lib/terraform-dynamic-block.d.ts +4 -0
- package/lib/terraform-dynamic-block.js +5 -2
- package/lib/terraform-element.d.ts +4 -0
- package/lib/terraform-element.js +6 -3
- package/lib/terraform-ephemeral-resource.d.ts +4 -0
- package/lib/terraform-ephemeral-resource.js +8 -6
- package/lib/terraform-functions.d.ts +4 -0
- package/lib/terraform-functions.js +10 -5
- package/lib/terraform-hcl-module.d.ts +4 -0
- package/lib/terraform-hcl-module.js +6 -3
- package/lib/terraform-iterator.d.ts +19 -0
- package/lib/terraform-iterator.js +25 -11
- package/lib/terraform-local.d.ts +4 -0
- package/lib/terraform-local.js +6 -3
- package/lib/terraform-module.js +1 -1
- package/lib/terraform-operators.js +1 -1
- package/lib/terraform-output.d.ts +5 -0
- package/lib/terraform-output.js +23 -3
- package/lib/terraform-provider.d.ts +4 -0
- package/lib/terraform-provider.js +6 -3
- package/lib/terraform-provisioner.js +1 -1
- package/lib/terraform-remote-state.d.ts +3 -0
- package/lib/terraform-remote-state.js +5 -3
- package/lib/terraform-resource-targets.js +1 -1
- package/lib/terraform-resource.d.ts +5 -1
- package/lib/terraform-resource.js +16 -9
- package/lib/terraform-stack.d.ts +4 -0
- package/lib/terraform-stack.js +28 -9
- package/lib/terraform-variable.d.ts +7 -0
- package/lib/terraform-variable.js +16 -7
- package/lib/testing/adapters/jest.d.ts +3 -0
- package/lib/testing/adapters/jest.js +10 -1
- package/lib/testing/index.js +14 -4
- package/lib/testing/matchers.js +61 -19
- package/lib/tfExpression.d.ts +50 -0
- package/lib/tfExpression.js +114 -33
- package/lib/tokens/lazy.d.ts +4 -0
- package/lib/tokens/lazy.js +21 -8
- package/lib/tokens/private/dependency.js +2 -6
- package/lib/tokens/private/resolve.js +3 -3
- package/lib/tokens/private/stack-trace.d.ts +1 -1
- package/lib/tokens/private/stack-trace.js +1 -2
- package/lib/tokens/resolvable.js +2 -2
- package/lib/tokens/string-fragments.js +4 -4
- package/lib/tokens/token.js +2 -2
- package/lib/upgrade-id-aspect.js +1 -1
- package/lib/util.d.ts +0 -1
- package/lib/util.js +4 -4
- package/lib/validations/target-versions.d.ts +12 -0
- package/lib/validations/target-versions.js +40 -1
- package/package.json +112 -109
|
@@ -34,8 +34,15 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.ValidateFeatureTargetSupport = exports.TARGET_PRODUCTS = exports.DEFAULT_TARGET_VERSIONS = exports.TARGET_VERSIONS_CONTEXT_KEY = void 0;
|
|
37
|
+
exports.targetsOnlyOpenTofu = targetsOnlyOpenTofu;
|
|
38
|
+
exports.projectTargetVersions = projectTargetVersions;
|
|
39
|
+
exports.inferTerraformBinaryName = inferTerraformBinaryName;
|
|
37
40
|
exports.resolveTargetVersions = resolveTargetVersions;
|
|
38
41
|
exports.checkFeatureSupportedByTargets = checkFeatureSupportedByTargets;
|
|
42
|
+
// Copyright (c) HashiCorp, Inc
|
|
43
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
44
|
+
const fs = __importStar(require("fs"));
|
|
45
|
+
const path = __importStar(require("path"));
|
|
39
46
|
const semver = __importStar(require("semver"));
|
|
40
47
|
/**
|
|
41
48
|
* Context key carrying the project's declared Terraform-compatible runtime
|
|
@@ -62,6 +69,38 @@ exports.DEFAULT_TARGET_VERSIONS = {
|
|
|
62
69
|
* `@cdktn/commons` (imported via subpath), not part of cdktn's public API.
|
|
63
70
|
*/
|
|
64
71
|
exports.TARGET_PRODUCTS = ["terraform", "opentofu"];
|
|
72
|
+
/** OpenTofu is the sole declared product. */
|
|
73
|
+
function targetsOnlyOpenTofu(targetVersions) {
|
|
74
|
+
return (targetVersions?.opentofu !== undefined &&
|
|
75
|
+
targetVersions?.terraform === undefined);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The `targetVersions` of the nearest cdktf.json at or above `dir`. Only the
|
|
79
|
+
* key is read: an invalid config is reported by the command that reads it.
|
|
80
|
+
*/
|
|
81
|
+
function projectTargetVersions(dir = process.cwd()) {
|
|
82
|
+
for (let current = path.resolve(dir);; current = path.dirname(current)) {
|
|
83
|
+
const file = path.join(current, "cdktf.json");
|
|
84
|
+
if (fs.existsSync(file)) {
|
|
85
|
+
try {
|
|
86
|
+
return JSON.parse(fs.readFileSync(file, "utf8")).targetVersions;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (path.dirname(current) === current)
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* `TERRAFORM_BINARY_NAME`, else `tofu` when the project at or above the
|
|
98
|
+
* working directory targets only OpenTofu, else `terraform`.
|
|
99
|
+
*/
|
|
100
|
+
function inferTerraformBinaryName() {
|
|
101
|
+
return (process.env.TERRAFORM_BINARY_NAME ||
|
|
102
|
+
(targetsOnlyOpenTofu(projectTargetVersions()) ? "tofu" : "terraform"));
|
|
103
|
+
}
|
|
65
104
|
/**
|
|
66
105
|
* Resolves the declared target versions from construct context, falling back
|
|
67
106
|
* to DEFAULT_TARGET_VERSIONS. Returns errors instead of targets when the
|
|
@@ -168,4 +207,4 @@ class ValidateFeatureTargetSupport {
|
|
|
168
207
|
}
|
|
169
208
|
}
|
|
170
209
|
exports.ValidateFeatureTargetSupport = ValidateFeatureTargetSupport;
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb25zL3RhcmdldC12ZXJzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrREEsc0RBNkRDO0FBWUQsd0VBZ0NDO0FBeEpELCtDQUFpQztBQUdqQzs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLGdCQUFnQixDQUFDO0FBWTVEOzs7O0dBSUc7QUFDVSxRQUFBLHVCQUF1QixHQUE0QjtJQUM5RCxTQUFTLEVBQUUsU0FBUztJQUNwQixRQUFRLEVBQUUsU0FBUztDQUNwQixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFFbEU7Ozs7O0dBS0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxLQUFpQjtJQUlyRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQ0FBMkIsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxPQUFPLEVBQUUsK0JBQXVCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUNFLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDNUIsUUFBUSxLQUFLLElBQUk7UUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDdkIsQ0FBQztRQUNELE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sNkdBQTZHO2FBQzlHO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztR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O0lBRUcsUUFBUTtRQUNiLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLDhCQUE4QixDQUNuQyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsV0FBVyxFQUNoQixPQUFPLEVBQ1AsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBckJELG9FQXFCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJQ29uc3RydWN0LCBJVmFsaWRhdGlvbiB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSBcInNlbXZlclwiO1xuaW1wb3J0IHsgVGVycmFmb3JtRmVhdHVyZVZlcnNpb25Db25zdHJhaW50cyB9IGZyb20gXCIuL3ZhbGlkYXRlLXRlcnJhZm9ybS1mZWF0dXJlLXZlcnNpb25cIjtcblxuLyoqXG4gKiBDb250ZXh0IGtleSBjYXJyeWluZyB0aGUgcHJvamVjdCdzIGRlY2xhcmVkIFRlcnJhZm9ybS1jb21wYXRpYmxlIHJ1bnRpbWVcbiAqIHRhcmdldHMgKHNldCBmcm9tIHRoZSBgdGFyZ2V0VmVyc2lvbnNgIGZpZWxkIGluIGNka3RmLmpzb24gYnkgdGhlIENMSSwgb3JcbiAqIGRpcmVjdGx5IHZpYSBBcHAgY29udGV4dCAvIENES1RGX0NPTlRFWFRfSlNPTiBmb3Igc3RhbmRhbG9uZSBzeW50aCkuXG4gKlxuICogVGhpcyBpcyB0aGUgY2Fub25pY2FsIGRlZmluaXRpb24uIGBAY2RrdG4vY29tbW9uc2AgaW1wb3J0cyBpdCBmcm9tIGhlcmVcbiAqIChjb21tb25zIGRlcGVuZHMgb24gY2RrdG47IGNka3RuIG11c3Qgbm90IGRlcGVuZCBvbiBjb21tb25zKSwgc28gdGhlIENMSVxuICogd3JpdGVzIGFuZCB0aGUgY29uc3RydWN0IGxpYnJhcnkgcmVhZHMgdGhlIGV4YWN0IHNhbWUga2V5LiBJdCBpcyBhblxuICogaW50ZXJuYWwgd2lyaW5nIGRldGFpbCwgZGVsaWJlcmF0ZWx5IG5vdCBwYXJ0IG9mIGNka3RuJ3MgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRBUkdFVF9WRVJTSU9OU19DT05URVhUX0tFWSA9IFwidGFyZ2V0VmVyc2lvbnNcIjtcblxuLyoqXG4gKiBUaGUgVGVycmFmb3JtLWNvbXBhdGlibGUgcnVudGltZXMgYSBwcm9qZWN0IGRlY2xhcmVzIGl0IHN1cHBvcnRzLCBhcyBucG1cbiAqIHNlbXZlciByYW5nZXMgcGVyIHByb2R1Y3QuIEEgbWlzc2luZyBwcm9kdWN0IG1lYW5zIHRoZSBwcm9qZWN0IGRvZXMgbm90XG4gKiB0YXJnZXQgdGhhdCBwcm9kdWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybVRhcmdldFZlcnNpb25zIHtcbiAgcmVhZG9ubHkgdGVycmFmb3JtPzogc3RyaW5nO1xuICByZWFkb25seSBvcGVudG9mdT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBVc2VkIHdoZW4gYSBwcm9qZWN0IGRlY2xhcmVzIG5vIGB0YXJnZXRWZXJzaW9uc2A6IHRoZSBwcm9qZWN0IGlzIGFzc3VtZWRcbiAqIHRvIHRhcmdldCBldmVyeSBzdXBwb3J0ZWQgcmVsZWFzZSBvZiBib3RoIHByb2R1Y3RzLCB3aGljaCBpcyB0aGUgc3RyaWN0ZXN0XG4gKiAobW9zdCBwb3J0YWJsZSkgaW50ZXJwcmV0YXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RBUkdFVF9WRVJTSU9OUzogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMgPSB7XG4gIHRlcnJhZm9ybTogXCI+PTEuNS43XCIsXG4gIG9wZW50b2Z1OiBcIj49MS42LjBcIixcbn07XG5cbi8qKlxuICogVGhlIHByb2R1Y3Qga2V5cyBhIHByb2plY3QgbWF5IGRlY2xhcmUgdGFyZ2V0cyBmb3IuIEV4cG9ydGVkIGZvciByZXVzZSBieVxuICogYEBjZGt0bi9jb21tb25zYCAoaW1wb3J0ZWQgdmlhIHN1YnBhdGgpLCBub3QgcGFydCBvZiBjZGt0bidzIHB1YmxpYyBBUEkuXG4gKi9cbmV4cG9ydCBjb25zdCBUQVJHRVRfUFJPRFVDVFMgPSBbXCJ0ZXJyYWZvcm1cIiwgXCJvcGVudG9mdVwiXSBhcyBjb25zdDtcblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgZGVjbGFyZWQgdGFyZ2V0IHZlcnNpb25zIGZyb20gY29uc3RydWN0IGNvbnRleHQsIGZhbGxpbmcgYmFja1xuICogdG8gREVGQVVMVF9UQVJHRVRfVkVSU0lPTlMuIFJldHVybnMgZXJyb3JzIGluc3RlYWQgb2YgdGFyZ2V0cyB3aGVuIHRoZVxuICogZGVjbGFyZWQgdmFsdWUgaXMgbWFsZm9ybWVkICh3aGljaCBjYW4gaGFwcGVuIHdoZW4gY29udGV4dCBpcyBzZXQgZGlyZWN0bHlcbiAqIG9uIHRoZSBBcHAgcmF0aGVyIHRoYW4gZ29pbmcgdGhyb3VnaCBjZGt0Zi5qc29uIHZhbGlkYXRpb24pLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhcmdldFZlcnNpb25zKHNjb3BlOiBJQ29uc3RydWN0KToge1xuICB0YXJnZXRzPzogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnM7XG4gIGVycm9yczogc3RyaW5nW107XG59IHtcbiAgY29uc3QgZGVjbGFyZWQgPSBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoVEFSR0VUX1ZFUlNJT05TX0NPTlRFWFRfS0VZKTtcbiAgaWYgKGRlY2xhcmVkID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyB0YXJnZXRzOiBERUZBVUxUX1RBUkdFVF9WRVJTSU9OUywgZXJyb3JzOiBbXSB9O1xuICB9XG5cbiAgaWYgKFxuICAgIHR5cGVvZiBkZWNsYXJlZCAhPT0gXCJvYmplY3RcIiB8fFxuICAgIGRlY2xhcmVkID09PSBudWxsIHx8XG4gICAgQXJyYXkuaXNBcnJheShkZWNsYXJlZClcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVycm9yczogW1xuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMgY29udGV4dCBtdXN0IGJlIGFuIG9iamVjdCBtYXBwaW5nIHByb2R1Y3RzIHRvIHNlbXZlciByYW5nZXMsIGUuZy4geyBcInRlcnJhZm9ybVwiOiBcIj49MS41LjdcIiB9YCxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhkZWNsYXJlZCk7XG4gIGlmIChlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcnM6IFtcbiAgICAgICAgYHRhcmdldFZlcnNpb25zIG11c3QgZGVjbGFyZSBhdCBsZWFzdCBvbmUgcHJvZHVjdCAoXCJ0ZXJyYWZvcm1cIiBvciBcIm9wZW50b2Z1XCIpIG9yIGJlIG9taXR0ZWQgZW50aXJlbHlgLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IFtwcm9kdWN0LCByYW5nZV0gb2YgZW50cmllcykge1xuICAgIGlmICghVEFSR0VUX1BST0RVQ1RTLmluY2x1ZGVzKHByb2R1Y3QgYXMgYW55KSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGB0YXJnZXRWZXJzaW9ucyBoYXMgdW5rbm93biBwcm9kdWN0IFwiJHtwcm9kdWN0fVwiIChleHBlY3RlZCBcInRlcnJhZm9ybVwiIG9yIFwib3BlbnRvZnVcIilgLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByYW5nZSA9PT0gXCJzdHJpbmdcIiAmJiByYW5nZS5pbmNsdWRlcyhcIn4+XCIpKSB7XG4gICAgICAvLyBucG0gc2VtdmVyIGhhcHBlbnMgdG8gcGFyc2UgXCJ+PlwiIGFzIFwiflwiLCB3aGljaCBoYXMgZGlmZmVyZW50XG4gICAgICAvLyBzZW1hbnRpY3MgdGhhbiBUZXJyYWZvcm0ncyBcIn4+XCIgcGVzc2ltaXN0aWMgY29uc3RyYWludCDigJQgcmVqZWN0IGl0XG4gICAgICAvLyBpbnN0ZWFkIG9mIHNpbGVudGx5IG1lYW5pbmcgc29tZXRoaW5nIGVsc2VcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMuJHtwcm9kdWN0fSBcIiR7cmFuZ2V9XCIgdXNlcyBUZXJyYWZvcm0gcHJvdmlkZXIgY29uc3RyYWludCBzeW50YXg7IHVzZSBucG0gc2VtdmVyIHJhbmdlcyBpbnN0ZWFkIChlLmcuIFwiPj0xLjUuN1wiIG9yIFwifjEuNS43XCIpYCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHR5cGVvZiByYW5nZSAhPT0gXCJzdHJpbmdcIiB8fFxuICAgICAgcmFuZ2UudHJpbSgpLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgc2VtdmVyLnZhbGlkUmFuZ2UocmFuZ2UpID09PSBudWxsXG4gICAgKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYHRhcmdldFZlcnNpb25zLiR7cHJvZHVjdH0gJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICByYW5nZSxcbiAgICAgICAgKX0gaXMgbm90IGEgdmFsaWQgc2VtdmVyIHJhbmdlYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHsgZXJyb3JzIH07XG4gIH1cblxuICByZXR1cm4geyB0YXJnZXRzOiBkZWNsYXJlZCBhcyBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucywgZXJyb3JzOiBbXSB9O1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgZmVhdHVyZSBpcyBzdXBwb3J0ZWQgYWNyb3NzIHRoZSBlbnRpcmUgZGVjbGFyZWQgdGFyZ2V0XG4gKiByYW5nZSBvZiBldmVyeSB0YXJnZXRlZCBwcm9kdWN0LlxuICpcbiAqIGBzdXBwb3J0ZWRJbmAgZm9sbG93cyB0aGUgVGVycmFmb3JtRmVhdHVyZVZlcnNpb25Db25zdHJhaW50cyBzZW1hbnRpY3M6IGFcbiAqIG1pc3NpbmcgcHJvZHVjdCBrZXkgbWVhbnMgdGhlIGZlYXR1cmUgaXMgbm90IHN1cHBvcnRlZCBieSB0aGF0IHByb2R1Y3QgYXRcbiAqIGFueSB2ZXJzaW9uLiBUaGUgY2hlY2sgaXMgYSBzZW12ZXIgcmFuZ2Ugc3Vic2V0OiBkZWNsYXJpbmdcbiAqIGB0ZXJyYWZvcm06IFwiPj0xLjUuN1wiYCB3aGlsZSBhIGZlYXR1cmUgcmVxdWlyZXMgYD49MS44LjBgIGZhaWxzLCBiZWNhdXNlXG4gKiB0aGUgcHJvamVjdCBjbGFpbXMgdG8gc3VwcG9ydCAxLjUuNy4uMS44LjAgd2hlcmUgdGhlIGZlYXR1cmUgaXMgbWlzc2luZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrRmVhdHVyZVN1cHBvcnRlZEJ5VGFyZ2V0cyhcbiAgZmVhdHVyZU5hbWU6IHN0cmluZyxcbiAgc3VwcG9ydGVkSW46IFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMsXG4gIHRhcmdldHM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxuICBoaW50Pzogc3RyaW5nLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIChjb25zdCBwcm9kdWN0IG9mIFRBUkdFVF9QUk9EVUNUUykge1xuICAgIGNvbnN0IHRhcmdldFJhbmdlID0gdGFyZ2V0c1twcm9kdWN0XTtcbiAgICBpZiAoIXRhcmdldFJhbmdlKSBjb250aW51ZTsgLy8gcHJvZHVjdCBub3QgdGFyZ2V0ZWQgYnkgdGhlIHByb2plY3RcblxuICAgIGNvbnN0IHN1cHBvcnRlZFJhbmdlID0gc3VwcG9ydGVkSW5bcHJvZHVjdF07XG4gICAgaWYgKCFzdXBwb3J0ZWRSYW5nZSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGAke2ZlYXR1cmVOYW1lfSBpcyBub3Qgc3VwcG9ydGVkIGJ5ICR7cHJvZHVjdH0sIGJ1dCB0aGUgcHJvamVjdCB0YXJnZXRzICR7cHJvZHVjdH0gJHt0YXJnZXRSYW5nZX0uICR7XG4gICAgICAgICAgaGludCB8fCBcIlwiXG4gICAgICAgIH1gLnRyaW1FbmQoKSxcbiAgICAgICk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIXNlbXZlci5zdWJzZXQodGFyZ2V0UmFuZ2UsIHN1cHBvcnRlZFJhbmdlKSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGAke2ZlYXR1cmVOYW1lfSByZXF1aXJlcyAke3Byb2R1Y3R9ICR7c3VwcG9ydGVkUmFuZ2V9LCBidXQgdGhlIHByb2plY3QgdGFyZ2V0cyAke3Byb2R1Y3R9ICR7dGFyZ2V0UmFuZ2V9LiAke1xuICAgICAgICAgIGhpbnQgfHwgXCJcIlxuICAgICAgICB9YC50cmltRW5kKCksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoYXQgYSBmZWF0dXJlIGlzIHN1cHBvcnRlZCBieSB0aGUgcHJvamVjdCdzIGRlY2xhcmVkXG4gKiBUZXJyYWZvcm0tY29tcGF0aWJsZSBydW50aW1lIHRhcmdldHMgKGNka3RmLmpzb24gYHRhcmdldFZlcnNpb25zYCksXG4gKiB3aXRob3V0IHByb2JpbmcgYW55IGxvY2FsbHkgaW5zdGFsbGVkIGJpbmFyeS5cbiAqXG4gKiBWZXJpZnlpbmcgdGhlIGFjdHVhbGx5IGluc3RhbGxlZCBiaW5hcnkgaXMgYSBzZXBhcmF0ZSwgZXhwbGljaXQgc3RlcDpcbiAqIHRoZSBvcHQtaW4gYHZhbGlkYXRlSW5zdGFsbGVkQmluYXJ5YCBjb25maWcgaGFuZGxlZCBieSB0aGUgQ0xJIGNvbW1hbmRzXG4gKiB0aGF0IGV4ZWN1dGUgdGhlIGJpbmFyeS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlRmVhdHVyZVRhcmdldFN1cHBvcnQgaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzY29wZTogSUNvbnN0cnVjdCxcbiAgICBwcm90ZWN0ZWQgZmVhdHVyZU5hbWU6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgc3VwcG9ydGVkSW46IFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMsXG4gICAgcHJvdGVjdGVkIGhpbnQ/OiBzdHJpbmcsXG4gICkge31cblxuICBwdWJsaWMgdmFsaWRhdGUoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHsgdGFyZ2V0cywgZXJyb3JzIH0gPSByZXNvbHZlVGFyZ2V0VmVyc2lvbnModGhpcy5zY29wZSk7XG4gICAgaWYgKCF0YXJnZXRzKSB7XG4gICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH1cblxuICAgIHJldHVybiBjaGVja0ZlYXR1cmVTdXBwb3J0ZWRCeVRhcmdldHMoXG4gICAgICB0aGlzLmZlYXR1cmVOYW1lLFxuICAgICAgdGhpcy5zdXBwb3J0ZWRJbixcbiAgICAgIHRhcmdldHMsXG4gICAgICB0aGlzLmhpbnQsXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb25zL3RhcmdldC12ZXJzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQ0Esa0RBT0M7QUFNRCxzREFjQztBQU1ELDREQUtDO0FBUUQsc0RBNkRDO0FBWUQsd0VBZ0NDO0FBdE1ELCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUU3QiwrQ0FBaUM7QUFHakM7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxnQkFBZ0IsQ0FBQztBQVk1RDs7OztHQUlHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBNEI7SUFDOUQsU0FBUyxFQUFFLFNBQVM7SUFDcEIsUUFBUSxFQUFFLFNBQVM7Q0FDcEIsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsZUFBZSxHQUFHLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBVSxDQUFDO0FBRWxFLDZDQUE2QztBQUM3QyxTQUFnQixtQkFBbUIsQ0FDakMsY0FBd0M7SUFFeEMsT0FBTyxDQUNMLGNBQWMsRUFBRSxRQUFRLEtBQUssU0FBUztRQUN0QyxjQUFjLEVBQUUsU0FBUyxLQUFLLFNBQVMsQ0FDeEMsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FDbkMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7SUFFbkIsS0FBSyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDeEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDOUMsSUFBSSxFQUFFLENBQUMs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QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0M7UUFDL0MsU0FBSSxHQUFKLElBQUksQ0FBUztJQUN0QixDQUFDO0lBRUcsUUFBUTtRQUNiLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLDhCQUE4QixDQUNuQyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsV0FBVyxFQUNoQixPQUFPLEVBQ1AsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBckJELG9FQXFCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IElDb25zdHJ1Y3QsIElWYWxpZGF0aW9uIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1GZWF0dXJlVmVyc2lvbkNvbnN0cmFpbnRzIH0gZnJvbSBcIi4vdmFsaWRhdGUtdGVycmFmb3JtLWZlYXR1cmUtdmVyc2lvblwiO1xuXG4vKipcbiAqIENvbnRleHQga2V5IGNhcnJ5aW5nIHRoZSBwcm9qZWN0J3MgZGVjbGFyZWQgVGVycmFmb3JtLWNvbXBhdGlibGUgcnVudGltZVxuICogdGFyZ2V0cyAoc2V0IGZyb20gdGhlIGB0YXJnZXRWZXJzaW9uc2AgZmllbGQgaW4gY2RrdGYuanNvbiBieSB0aGUgQ0xJLCBvclxuICogZGlyZWN0bHkgdmlhIEFwcCBjb250ZXh0IC8gQ0RLVEZfQ09OVEVYVF9KU09OIGZvciBzdGFuZGFsb25lIHN5bnRoKS5cbiAqXG4gKiBUaGlzIGlzIHRoZSBjYW5vbmljYWwgZGVmaW5pdGlvbi4gYEBjZGt0bi9jb21tb25zYCBpbXBvcnRzIGl0IGZyb20gaGVyZVxuICogKGNvbW1vbnMgZGVwZW5kcyBvbiBjZGt0bjsgY2RrdG4gbXVzdCBub3QgZGVwZW5kIG9uIGNvbW1vbnMpLCBzbyB0aGUgQ0xJXG4gKiB3cml0ZXMgYW5kIHRoZSBjb25zdHJ1Y3QgbGlicmFyeSByZWFkcyB0aGUgZXhhY3Qgc2FtZSBrZXkuIEl0IGlzIGFuXG4gKiBpbnRlcm5hbCB3aXJpbmcgZGV0YWlsLCBkZWxpYmVyYXRlbHkgbm90IHBhcnQgb2YgY2RrdG4ncyBwdWJsaWMgQVBJLlxuICovXG5leHBvcnQgY29uc3QgVEFSR0VUX1ZFUlNJT05TX0NPTlRFWFRfS0VZID0gXCJ0YXJnZXRWZXJzaW9uc1wiO1xuXG4vKipcbiAqIFRoZSBUZXJyYWZvcm0tY29tcGF0aWJsZSBydW50aW1lcyBhIHByb2plY3QgZGVjbGFyZXMgaXQgc3VwcG9ydHMsIGFzIG5wbVxuICogc2VtdmVyIHJhbmdlcyBwZXIgcHJvZHVjdC4gQSBtaXNzaW5nIHByb2R1Y3QgbWVhbnMgdGhlIHByb2plY3QgZG9lcyBub3RcbiAqIHRhcmdldCB0aGF0IHByb2R1Y3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMge1xuICByZWFkb25seSB0ZXJyYWZvcm0/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9wZW50b2Z1Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFVzZWQgd2hlbiBhIHByb2plY3QgZGVjbGFyZXMgbm8gYHRhcmdldFZlcnNpb25zYDogdGhlIHByb2plY3QgaXMgYXNzdW1lZFxuICogdG8gdGFyZ2V0IGV2ZXJ5IHN1cHBvcnRlZCByZWxlYXNlIG9mIGJvdGggcHJvZHVjdHMsIHdoaWNoIGlzIHRoZSBzdHJpY3Rlc3RcbiAqIChtb3N0IHBvcnRhYmxlKSBpbnRlcnByZXRhdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyA9IHtcbiAgdGVycmFmb3JtOiBcIj49MS41LjdcIixcbiAgb3BlbnRvZnU6IFwiPj0xLjYuMFwiLFxufTtcblxuLyoqXG4gKiBUaGUgcHJvZHVjdCBrZXlzIGEgcHJvamVjdCBtYXkgZGVjbGFyZSB0YXJnZXRzIGZvci4gRXhwb3J0ZWQgZm9yIHJldXNlIGJ5XG4gKiBgQGNka3RuL2NvbW1vbnNgIChpbXBvcnRlZCB2aWEgc3VicGF0aCksIG5vdCBwYXJ0IG9mIGNka3RuJ3MgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRBUkdFVF9QUk9EVUNUUyA9IFtcInRlcnJhZm9ybVwiLCBcIm9wZW50b2Z1XCJdIGFzIGNvbnN0O1xuXG4vKiogT3BlblRvZnUgaXMgdGhlIHNvbGUgZGVjbGFyZWQgcHJvZHVjdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YXJnZXRzT25seU9wZW5Ub2Z1KFxuICB0YXJnZXRWZXJzaW9ucz86IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0VmVyc2lvbnM/Lm9wZW50b2Z1ICE9PSB1bmRlZmluZWQgJiZcbiAgICB0YXJnZXRWZXJzaW9ucz8udGVycmFmb3JtID09PSB1bmRlZmluZWRcbiAgKTtcbn1cblxuLyoqXG4gKiBUaGUgYHRhcmdldFZlcnNpb25zYCBvZiB0aGUgbmVhcmVzdCBjZGt0Zi5qc29uIGF0IG9yIGFib3ZlIGBkaXJgLiBPbmx5IHRoZVxuICoga2V5IGlzIHJlYWQ6IGFuIGludmFsaWQgY29uZmlnIGlzIHJlcG9ydGVkIGJ5IHRoZSBjb21tYW5kIHRoYXQgcmVhZHMgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9qZWN0VGFyZ2V0VmVyc2lvbnMoXG4gIGRpciA9IHByb2Nlc3MuY3dkKCksXG4pOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyB8IHVuZGVmaW5lZCB7XG4gIGZvciAobGV0IGN1cnJlbnQgPSBwYXRoLnJlc29sdmUoZGlyKTsgOyBjdXJyZW50ID0gcGF0aC5kaXJuYW1lKGN1cnJlbnQpKSB7XG4gICAgY29uc3QgZmlsZSA9IHBhdGguam9pbihjdXJyZW50LCBcImNka3RmLmpzb25cIik7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoZmlsZSkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhmaWxlLCBcInV0ZjhcIikpLnRhcmdldFZlcnNpb25zO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwYXRoLmRpcm5hbWUoY3VycmVudCkgPT09IGN1cnJlbnQpIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBgVEVSUkFGT1JNX0JJTkFSWV9OQU1FYCwgZWxzZSBgdG9mdWAgd2hlbiB0aGUgcHJvamVjdCBhdCBvciBhYm92ZSB0aGVcbiAqIHdvcmtpbmcgZGlyZWN0b3J5IHRhcmdldHMgb25seSBPcGVuVG9mdSwgZWxzZSBgdGVycmFmb3JtYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluZmVyVGVycmFmb3JtQmluYXJ5TmFtZSgpOiBzdHJpbmcge1xuICByZXR1cm4gKFxuICAgIHByb2Nlc3MuZW52LlRFUlJBRk9STV9CSU5BUllfTkFNRSB8fFxuICAgICh0YXJnZXRzT25seU9wZW5Ub2Z1KHByb2plY3RUYXJnZXRWZXJzaW9ucygpKSA/IFwidG9mdVwiIDogXCJ0ZXJyYWZvcm1cIilcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgZGVjbGFyZWQgdGFyZ2V0IHZlcnNpb25zIGZyb20gY29uc3RydWN0IGNvbnRleHQsIGZhbGxpbmcgYmFja1xuICogdG8gREVGQVVMVF9UQVJHRVRfVkVSU0lPTlMuIFJldHVybnMgZXJyb3JzIGluc3RlYWQgb2YgdGFyZ2V0cyB3aGVuIHRoZVxuICogZGVjbGFyZWQgdmFsdWUgaXMgbWFsZm9ybWVkICh3aGljaCBjYW4gaGFwcGVuIHdoZW4gY29udGV4dCBpcyBzZXQgZGlyZWN0bHlcbiAqIG9uIHRoZSBBcHAgcmF0aGVyIHRoYW4gZ29pbmcgdGhyb3VnaCBjZGt0Zi5qc29uIHZhbGlkYXRpb24pLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhcmdldFZlcnNpb25zKHNjb3BlOiBJQ29uc3RydWN0KToge1xuICB0YXJnZXRzPzogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnM7XG4gIGVycm9yczogc3RyaW5nW107XG59IHtcbiAgY29uc3QgZGVjbGFyZWQgPSBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoVEFSR0VUX1ZFUlNJT05TX0NPTlRFWFRfS0VZKTtcbiAgaWYgKGRlY2xhcmVkID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyB0YXJnZXRzOiBERUZBVUxUX1RBUkdFVF9WRVJTSU9OUywgZXJyb3JzOiBbXSB9O1xuICB9XG5cbiAgaWYgKFxuICAgIHR5cGVvZiBkZWNsYXJlZCAhPT0gXCJvYmplY3RcIiB8fFxuICAgIGRlY2xhcmVkID09PSBudWxsIHx8XG4gICAgQXJyYXkuaXNBcnJheShkZWNsYXJlZClcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVycm9yczogW1xuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMgY29udGV4dCBtdXN0IGJlIGFuIG9iamVjdCBtYXBwaW5nIHByb2R1Y3RzIHRvIHNlbXZlciByYW5nZXMsIGUuZy4geyBcInRlcnJhZm9ybVwiOiBcIj49MS41LjdcIiB9YCxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhkZWNsYXJlZCk7XG4gIGlmIChlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcnM6IFtcbiAgICAgICAgYHRhcmdldFZlcnNpb25zIG11c3QgZGVjbGFyZSBhdCBsZWFzdCBvbmUgcHJvZHVjdCAoXCJ0ZXJyYWZvcm1cIiBvciBcIm9wZW50b2Z1XCIpIG9yIGJlIG9taXR0ZWQgZW50aXJlbHlgLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IFtwcm9kdWN0LCByYW5nZV0gb2YgZW50cmllcykge1xuICAgIGlmICghVEFSR0VUX1BST0RVQ1RTLmluY2x1ZGVzKHByb2R1Y3QgYXMgYW55KSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGB0YXJnZXRWZXJzaW9ucyBoYXMgdW5rbm93biBwcm9kdWN0IFwiJHtwcm9kdWN0fVwiIChleHBlY3RlZCBcInRlcnJhZm9ybVwiIG9yIFwib3BlbnRvZnVcIilgLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByYW5nZSA9PT0gXCJzdHJpbmdcIiAmJiByYW5nZS5pbmNsdWRlcyhcIn4+XCIpKSB7XG4gICAgICAvLyBucG0gc2VtdmVyIGhhcHBlbnMgdG8gcGFyc2UgXCJ+PlwiIGFzIFwiflwiLCB3aGljaCBoYXMgZGlmZmVyZW50XG4gICAgICAvLyBzZW1hbnRpY3MgdGhhbiBUZXJyYWZvcm0ncyBcIn4+XCIgcGVzc2ltaXN0aWMgY29uc3RyYWludCDigJQgcmVqZWN0IGl0XG4gICAgICAvLyBpbnN0ZWFkIG9mIHNpbGVudGx5IG1lYW5pbmcgc29tZXRoaW5nIGVsc2VcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMuJHtwcm9kdWN0fSBcIiR7cmFuZ2V9XCIgdXNlcyBUZXJyYWZvcm0gcHJvdmlkZXIgY29uc3RyYWludCBzeW50YXg7IHVzZSBucG0gc2VtdmVyIHJhbmdlcyBpbnN0ZWFkIChlLmcuIFwiPj0xLjUuN1wiIG9yIFwifjEuNS43XCIpYCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHR5cGVvZiByYW5nZSAhPT0gXCJzdHJpbmdcIiB8fFxuICAgICAgcmFuZ2UudHJpbSgpLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgc2VtdmVyLnZhbGlkUmFuZ2UocmFuZ2UpID09PSBudWxsXG4gICAgKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYHRhcmdldFZlcnNpb25zLiR7cHJvZHVjdH0gJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICByYW5nZSxcbiAgICAgICAgKX0gaXMgbm90IGEgdmFsaWQgc2VtdmVyIHJhbmdlYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHsgZXJyb3JzIH07XG4gIH1cblxuICByZXR1cm4geyB0YXJnZXRzOiBkZWNsYXJlZCBhcyBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucywgZXJyb3JzOiBbXSB9O1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgZmVhdHVyZSBpcyBzdXBwb3J0ZWQgYWNyb3NzIHRoZSBlbnRpcmUgZGVjbGFyZWQgdGFyZ2V0XG4gKiByYW5nZSBvZiBldmVyeSB0YXJnZXRlZCBwcm9kdWN0LlxuICpcbiAqIGBzdXBwb3J0ZWRJbmAgZm9sbG93cyB0aGUgVGVycmFmb3JtRmVhdHVyZVZlcnNpb25Db25zdHJhaW50cyBzZW1hbnRpY3M6IGFcbiAqIG1pc3NpbmcgcHJvZHVjdCBrZXkgbWVhbnMgdGhlIGZlYXR1cmUgaXMgbm90IHN1cHBvcnRlZCBieSB0aGF0IHByb2R1Y3QgYXRcbiAqIGFueSB2ZXJzaW9uLiBUaGUgY2hlY2sgaXMgYSBzZW12ZXIgcmFuZ2Ugc3Vic2V0OiBkZWNsYXJpbmdcbiAqIGB0ZXJyYWZvcm06IFwiPj0xLjUuN1wiYCB3aGlsZSBhIGZlYXR1cmUgcmVxdWlyZXMgYD49MS44LjBgIGZhaWxzLCBiZWNhdXNlXG4gKiB0aGUgcHJvamVjdCBjbGFpbXMgdG8gc3VwcG9ydCAxLjUuNy4uMS44LjAgd2hlcmUgdGhlIGZlYXR1cmUgaXMgbWlzc2luZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrRmVhdHVyZVN1cHBvcnRlZEJ5VGFyZ2V0cyhcbiAgZmVhdHVyZU5hbWU6IHN0cmluZyxcbiAgc3VwcG9ydGVkSW46IFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMsXG4gIHRhcmdldHM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxuICBoaW50Pzogc3RyaW5nLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIChjb25zdCBwcm9kdWN0IG9mIFRBUkdFVF9QUk9EVUNUUykge1xuICAgIGNvbnN0IHRhcmdldFJhbmdlID0gdGFyZ2V0c1twcm9kdWN0XTtcbiAgICBpZiAoIXRhcmdldFJhbmdlKSBjb250aW51ZTsgLy8gcHJvZHVjdCBub3QgdGFyZ2V0ZWQgYnkgdGhlIHByb2plY3RcblxuICAgIGNvbnN0IHN1cHBvcnRlZFJhbmdlID0gc3VwcG9ydGVkSW5bcHJvZHVjdF07XG4gICAgaWYgKCFzdXBwb3J0ZWRSYW5nZSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGAke2ZlYXR1cmVOYW1lfSBpcyBub3Qgc3VwcG9ydGVkIGJ5ICR7cHJvZHVjdH0sIGJ1dCB0aGUgcHJvamVjdCB0YXJnZXRzICR7cHJvZHVjdH0gJHt0YXJnZXRSYW5nZX0uICR7XG4gICAgICAgICAgaGludCB8fCBcIlwiXG4gICAgICAgIH1gLnRyaW1FbmQoKSxcbiAgICAgICk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIXNlbXZlci5zdWJzZXQodGFyZ2V0UmFuZ2UsIHN1cHBvcnRlZFJhbmdlKSkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGAke2ZlYXR1cmVOYW1lfSByZXF1aXJlcyAke3Byb2R1Y3R9ICR7c3VwcG9ydGVkUmFuZ2V9LCBidXQgdGhlIHByb2plY3QgdGFyZ2V0cyAke3Byb2R1Y3R9ICR7dGFyZ2V0UmFuZ2V9LiAke1xuICAgICAgICAgIGhpbnQgfHwgXCJcIlxuICAgICAgICB9YC50cmltRW5kKCksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoYXQgYSBmZWF0dXJlIGlzIHN1cHBvcnRlZCBieSB0aGUgcHJvamVjdCdzIGRlY2xhcmVkXG4gKiBUZXJyYWZvcm0tY29tcGF0aWJsZSBydW50aW1lIHRhcmdldHMgKGNka3RmLmpzb24gYHRhcmdldFZlcnNpb25zYCksXG4gKiB3aXRob3V0IHByb2JpbmcgYW55IGxvY2FsbHkgaW5zdGFsbGVkIGJpbmFyeS5cbiAqXG4gKiBWZXJpZnlpbmcgdGhlIGFjdHVhbGx5IGluc3RhbGxlZCBiaW5hcnkgaXMgYSBzZXBhcmF0ZSwgZXhwbGljaXQgc3RlcDpcbiAqIHRoZSBvcHQtaW4gYHZhbGlkYXRlSW5zdGFsbGVkQmluYXJ5YCBjb25maWcgaGFuZGxlZCBieSB0aGUgQ0xJIGNvbW1hbmRzXG4gKiB0aGF0IGV4ZWN1dGUgdGhlIGJpbmFyeS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlRmVhdHVyZVRhcmdldFN1cHBvcnQgaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzY29wZTogSUNvbnN0cnVjdCxcbiAgICBwcm90ZWN0ZWQgZmVhdHVyZU5hbWU6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgc3VwcG9ydGVkSW46IFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMsXG4gICAgcHJvdGVjdGVkIGhpbnQ/OiBzdHJpbmcsXG4gICkge31cblxuICBwdWJsaWMgdmFsaWRhdGUoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHsgdGFyZ2V0cywgZXJyb3JzIH0gPSByZXNvbHZlVGFyZ2V0VmVyc2lvbnModGhpcy5zY29wZSk7XG4gICAgaWYgKCF0YXJnZXRzKSB7XG4gICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH1cblxuICAgIHJldHVybiBjaGVja0ZlYXR1cmVTdXBwb3J0ZWRCeVRhcmdldHMoXG4gICAgICB0aGlzLmZlYXR1cmVOYW1lLFxuICAgICAgdGhpcy5zdXBwb3J0ZWRJbixcbiAgICAgIHRhcmdldHMsXG4gICAgICB0aGlzLmhpbnQsXG4gICAgKTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,115 +1,118 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"cdk for terraform",
|
|
40
|
-
"terraform-cdk",
|
|
41
|
-
"cdk terrain",
|
|
42
|
-
"opentofu",
|
|
43
|
-
"infrastructure as code"
|
|
44
|
-
],
|
|
45
|
-
"jsii": {
|
|
46
|
-
"outdir": "dist",
|
|
47
|
-
"tsc": {
|
|
48
|
-
"outDir": "lib",
|
|
49
|
-
"rootDir": "src"
|
|
2
|
+
"name": "cdktn",
|
|
3
|
+
"version": "0.26.0-pre.21",
|
|
4
|
+
"description": "Cloud Development Kit for Terraform",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "jsii --silence-warnings reserved-word",
|
|
7
|
+
"watch": "jsii -w --silence-warnings reserved-word",
|
|
8
|
+
"watch-preserve-output": "tsc -w --preserveWatchOutput",
|
|
9
|
+
"package": "node ./scripts/pack.mjs",
|
|
10
|
+
"package:python": "node ./scripts/pack.mjs python",
|
|
11
|
+
"package:java": "node ./scripts/pack.mjs java",
|
|
12
|
+
"package:dotnet": "node ./scripts/pack.mjs dotnet",
|
|
13
|
+
"package:js": "node ./scripts/pack.mjs js",
|
|
14
|
+
"package:go": "node ./scripts/pack.mjs go",
|
|
15
|
+
"test:update": "jest -u",
|
|
16
|
+
"typecheck": "tsc --project test",
|
|
17
|
+
"dist-clean": "rm -rf dist"
|
|
18
|
+
},
|
|
19
|
+
"main": "lib/index.js",
|
|
20
|
+
"types": "lib/index.d.ts",
|
|
21
|
+
"nx": {
|
|
22
|
+
"tags": [
|
|
23
|
+
"unit-test:terraform"
|
|
24
|
+
],
|
|
25
|
+
"targets": {
|
|
26
|
+
"build": {
|
|
27
|
+
"outputs": [
|
|
28
|
+
"{projectRoot}/lib",
|
|
29
|
+
"{projectRoot}/.jsii",
|
|
30
|
+
"{projectRoot}/tsconfig.json"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"typecheck": {
|
|
34
|
+
"dependsOn": [
|
|
35
|
+
"build"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
50
39
|
},
|
|
51
|
-
"
|
|
52
|
-
|
|
40
|
+
"keywords": [
|
|
41
|
+
"cdk",
|
|
42
|
+
"cdktf",
|
|
43
|
+
"cdktn",
|
|
44
|
+
"terraform",
|
|
45
|
+
"cdk for terraform",
|
|
46
|
+
"terraform-cdk",
|
|
47
|
+
"cdk terrain",
|
|
48
|
+
"opentofu",
|
|
49
|
+
"infrastructure as code"
|
|
53
50
|
],
|
|
54
|
-
"
|
|
55
|
-
|
|
51
|
+
"jsii": {
|
|
52
|
+
"outdir": "dist",
|
|
53
|
+
"tsc": {
|
|
54
|
+
"outDir": "lib",
|
|
55
|
+
"rootDir": "src"
|
|
56
|
+
},
|
|
57
|
+
"versionFormat": "short",
|
|
58
|
+
"license": "MPL-2.0",
|
|
59
|
+
"author": {
|
|
60
|
+
"name": "OpenConstructs",
|
|
61
|
+
"organization": true
|
|
62
|
+
},
|
|
63
|
+
"targets": {
|
|
64
|
+
"python": {
|
|
65
|
+
"distName": "cdktn",
|
|
66
|
+
"module": "cdktn"
|
|
67
|
+
},
|
|
68
|
+
"java": {
|
|
69
|
+
"package": "io.cdktn.cdktn",
|
|
70
|
+
"maven": {
|
|
71
|
+
"groupId": "io.cdktn",
|
|
72
|
+
"artifactId": "cdktn"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"dotnet": {
|
|
76
|
+
"packageId": "Io.Cdktn",
|
|
77
|
+
"namespace": "Io.Cdktn"
|
|
78
|
+
},
|
|
79
|
+
"go": {
|
|
80
|
+
"moduleName": "github.com/open-constructs/cdk-terrain-go",
|
|
81
|
+
"packageName": "cdktn"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
56
85
|
"author": {
|
|
57
|
-
|
|
58
|
-
|
|
86
|
+
"name": "OpenConstructs",
|
|
87
|
+
"url": "https://github.com/open-constructs"
|
|
59
88
|
},
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
|
|
89
|
+
"homepage": "https://github.com/open-constructs/cdk-terrain",
|
|
90
|
+
"repository": {
|
|
91
|
+
"type": "git",
|
|
92
|
+
"url": "https://github.com/open-constructs/cdk-terrain.git",
|
|
93
|
+
"directory": "packages/cdktn"
|
|
94
|
+
},
|
|
95
|
+
"license": "MPL-2.0",
|
|
96
|
+
"devDependencies": {
|
|
97
|
+
"@types/node": "22.20.1",
|
|
98
|
+
"@types/semver": "7.7.1",
|
|
99
|
+
"constructs": "10.6.0",
|
|
100
|
+
"jsii": "~6.0.0",
|
|
101
|
+
"jsii-pacmak": "1.140.0",
|
|
102
|
+
"typescript": "~6.0.0"
|
|
103
|
+
},
|
|
104
|
+
"dependencies": {
|
|
105
|
+
"fflate": "0.8.3",
|
|
106
|
+
"safe-stable-stringify": "2.5.0",
|
|
107
|
+
"semver": "7.8.5"
|
|
108
|
+
},
|
|
109
|
+
"bundledDependencies": [
|
|
110
|
+
"fflate",
|
|
111
|
+
"safe-stable-stringify",
|
|
112
|
+
"semver"
|
|
113
|
+
],
|
|
114
|
+
"stability": "experimental",
|
|
115
|
+
"peerDependencies": {
|
|
116
|
+
"constructs": "^10.6.0"
|
|
80
117
|
}
|
|
81
|
-
|
|
82
|
-
"author": {
|
|
83
|
-
"name": "OpenConstructs",
|
|
84
|
-
"url": "https://github.com/open-constructs"
|
|
85
|
-
},
|
|
86
|
-
"homepage": "https://github.com/open-constructs/cdk-terrain",
|
|
87
|
-
"repository": {
|
|
88
|
-
"type": "git",
|
|
89
|
-
"url": "https://github.com/open-constructs/cdk-terrain.git",
|
|
90
|
-
"directory": "packages/cdktn"
|
|
91
|
-
},
|
|
92
|
-
"license": "MPL-2.0",
|
|
93
|
-
"devDependencies": {
|
|
94
|
-
"@types/node": "22.20.1",
|
|
95
|
-
"@types/semver": "7.7.1",
|
|
96
|
-
"constructs": "10.6.0",
|
|
97
|
-
"jsii": "~6.0.0",
|
|
98
|
-
"jsii-pacmak": "1.140.0",
|
|
99
|
-
"typescript": "~6.0.0"
|
|
100
|
-
},
|
|
101
|
-
"dependencies": {
|
|
102
|
-
"fflate": "0.8.3",
|
|
103
|
-
"safe-stable-stringify": "2.5.0",
|
|
104
|
-
"semver": "7.8.5"
|
|
105
|
-
},
|
|
106
|
-
"bundledDependencies": [
|
|
107
|
-
"fflate",
|
|
108
|
-
"safe-stable-stringify",
|
|
109
|
-
"semver"
|
|
110
|
-
],
|
|
111
|
-
"stability": "experimental",
|
|
112
|
-
"peerDependencies": {
|
|
113
|
-
"constructs": "^10.6.0"
|
|
114
|
-
}
|
|
115
|
-
}
|
|
118
|
+
}
|