@cdktn/provider-generator 0.25.0-pre.9 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/build/__tests__/edge-provider-schema/builder.js +3 -3
- package/build/__tests__/edge-provider-schema/cli.js +18 -8
- package/build/__tests__/edge-provider-schema.test.js +18 -8
- package/build/__tests__/provider.test.js +44 -16
- package/build/get/__tests__/constructs-maker.test.js +91 -8
- package/build/get/__tests__/generator/complex-computed-types.test.js +18 -8
- package/build/get/__tests__/generator/deep-nested-attributes.test.js +18 -8
- package/build/get/__tests__/generator/description-escaping.test.js +18 -8
- package/build/get/__tests__/generator/empty-provider-resources.test.js +18 -8
- package/build/get/__tests__/generator/ephemeral-resources.test.js +18 -8
- package/build/get/__tests__/generator/export-sharding.test.js +18 -8
- package/build/get/__tests__/generator/import-style.test.js +18 -8
- package/build/get/__tests__/generator/module-docs-registry.test.d.ts +2 -0
- package/build/get/__tests__/generator/module-docs-registry.test.js +91 -0
- package/build/get/__tests__/generator/module-generator.test.js +18 -8
- package/build/get/__tests__/generator/nested-types.test.js +18 -8
- package/build/get/__tests__/generator/provider-functions-name-collision.test.d.ts +2 -0
- package/build/get/__tests__/generator/provider-functions-name-collision.test.js +89 -0
- package/build/get/__tests__/generator/provider-functions.test.js +18 -8
- package/build/get/__tests__/generator/provider.test.js +18 -8
- package/build/get/__tests__/generator/resource-types.test.js +18 -8
- package/build/get/__tests__/generator/skipped-attributes.test.js +18 -8
- package/build/get/__tests__/generator/types.test.js +18 -8
- package/build/get/__tests__/generator/versions-file.test.js +25 -10
- package/build/get/__tests__/generator/write-only.test.js +18 -8
- package/build/get/__tests__/registry-class-invalidation.test.d.ts +2 -0
- package/build/get/__tests__/registry-class-invalidation.test.js +120 -0
- package/build/get/__tests__/target-versions.test.js +46 -8
- package/build/get/__tests__/util.js +20 -11
- package/build/get/constructs-maker.d.ts +17 -0
- package/build/get/constructs-maker.js +86 -11
- package/build/get/generator/emitter/struct-emitter.js +20 -10
- package/build/get/generator/loop-detection.js +2 -3
- package/build/get/generator/models/attribute-model.js +3 -3
- package/build/get/generator/models/attribute-type-model.js +3 -3
- package/build/get/generator/models/provider-function-model.js +3 -4
- package/build/get/generator/models/resource-model.d.ts +5 -1
- package/build/get/generator/models/resource-model.js +20 -10
- package/build/get/generator/models/supported-stored-classes.js +2 -3
- package/build/get/generator/module-generator.d.ts +3 -2
- package/build/get/generator/module-generator.js +15 -17
- package/build/get/generator/provider-generator.d.ts +15 -1
- package/build/get/generator/provider-generator.js +20 -5
- package/build/get/generator/resource-parser.d.ts +3 -1
- package/build/get/generator/resource-parser.js +16 -7
- package/build/get/generator/sanitized-comments.js +2 -3
- package/build/get/generator/skipped-attributes.js +2 -3
- package/build/index.js +3 -3
- package/build/util.js +3 -4
- package/package.json +32 -9
- package/src/__tests__/__snapshots__/provider.test.ts.snap +1309 -3206
- package/src/__tests__/provider.test.ts +31 -8
- package/src/get/__tests__/constructs-maker.test.ts +125 -1
- package/src/get/__tests__/generator/fixtures/provider-functions-name-collision.test.fixture.json +42 -0
- package/src/get/__tests__/generator/module-docs-registry.test.ts +89 -0
- package/src/get/__tests__/generator/provider-functions-name-collision.test.ts +84 -0
- package/src/get/__tests__/generator/versions-file.test.ts +10 -5
- package/src/get/__tests__/registry-class-invalidation.test.ts +123 -0
- package/src/get/__tests__/target-versions.test.ts +43 -0
- package/src/get/constructs-maker.ts +108 -7
- package/src/get/generator/emitter/struct-emitter.ts +2 -2
- package/src/get/generator/models/attribute-type-model.ts +1 -2
- package/src/get/generator/models/resource-model.ts +32 -9
- package/src/get/generator/module-generator.ts +20 -18
- package/src/get/generator/provider-generator.ts +27 -4
- package/src/get/generator/resource-parser.ts +21 -3
- package/tsconfig.json +4 -0
|
@@ -0,0 +1,120 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
// Copyright (c) HashiCorp, Inc
|
|
37
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
38
|
+
const fs = __importStar(require("fs-extra"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const commons_1 = require("@cdktn/commons");
|
|
41
|
+
const util_1 = require("./util");
|
|
42
|
+
const mockReadSchema = jest.fn();
|
|
43
|
+
jest.mock("@cdktn/provider-schema", () => ({
|
|
44
|
+
readSchema: (...args) => mockReadSchema(...args),
|
|
45
|
+
}));
|
|
46
|
+
// Imported after the mock so ConstructsMaker picks up the mocked readSchema.
|
|
47
|
+
const constructs_maker_1 = require("../constructs-maker");
|
|
48
|
+
const tmp = (0, util_1.createTmpHelper)();
|
|
49
|
+
// No resources, so generation stays in TypeScript emission.
|
|
50
|
+
const fakeSchema = {
|
|
51
|
+
providerSchema: {
|
|
52
|
+
format_version: "0.2",
|
|
53
|
+
provider_schemas: {
|
|
54
|
+
"registry.terraform.io/hashicorp/random": {
|
|
55
|
+
resource_schemas: null,
|
|
56
|
+
data_source_schemas: null,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
provider_versions: { "registry.terraform.io/hashicorp/random": "3.2.0" },
|
|
60
|
+
cli_name: "terraform",
|
|
61
|
+
cli_version: "1.7.5",
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
describe("filterAlreadyGenerated: registry class", () => {
|
|
65
|
+
const constraint = new commons_1.TerraformProviderConstraint("hashicorp/random@=3.2.0");
|
|
66
|
+
let outdir;
|
|
67
|
+
const maker = (targetVersions) => new constructs_maker_1.ConstructsMaker({
|
|
68
|
+
codeMakerOutput: outdir,
|
|
69
|
+
targetLanguage: commons_1.Language.TYPESCRIPT,
|
|
70
|
+
targetVersions,
|
|
71
|
+
});
|
|
72
|
+
/** A real previous `cdktn get`, so constraints.json is what generation writes. */
|
|
73
|
+
const generateWith = (targetVersions) => maker(targetVersions).generate([constraint]);
|
|
74
|
+
beforeEach(() => {
|
|
75
|
+
mockReadSchema.mockReset();
|
|
76
|
+
mockReadSchema.mockResolvedValue(fakeSchema);
|
|
77
|
+
outdir = tmp("registry-class");
|
|
78
|
+
});
|
|
79
|
+
it.each([
|
|
80
|
+
["nothing changed", undefined, undefined],
|
|
81
|
+
[
|
|
82
|
+
"both products declared, the same class as nothing",
|
|
83
|
+
undefined,
|
|
84
|
+
{ terraform: ">=1.5.7", opentofu: ">=1.6.0" },
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
"a range moving within the OpenTofu class",
|
|
88
|
+
{ opentofu: ">=1.6.0" },
|
|
89
|
+
{ opentofu: ">=1.8.0" },
|
|
90
|
+
],
|
|
91
|
+
])("skips regeneration: %s", async (_name, before, after) => {
|
|
92
|
+
await generateWith(before);
|
|
93
|
+
await expect(maker(after).filterAlreadyGenerated([constraint])).resolves.toEqual([]);
|
|
94
|
+
});
|
|
95
|
+
it("regenerates when the project switches to OpenTofu-only", async () => {
|
|
96
|
+
await generateWith(undefined);
|
|
97
|
+
await expect(maker({ opentofu: ">=1.6.0" }).filterAlreadyGenerated([constraint])).resolves.toEqual([constraint]);
|
|
98
|
+
});
|
|
99
|
+
it("regenerates when the project switches away from OpenTofu-only", async () => {
|
|
100
|
+
await generateWith({ opentofu: ">=1.6.0" });
|
|
101
|
+
await expect(maker({ terraform: ">=1.5.7" }).filterAlreadyGenerated([constraint])).resolves.toEqual([constraint]);
|
|
102
|
+
});
|
|
103
|
+
// constraints.json written before targetVersions was stamped has no such field;
|
|
104
|
+
// it must read as the Terraform class, which is what it was generated for.
|
|
105
|
+
describe("constraints.json from before targetVersions was recorded", () => {
|
|
106
|
+
beforeEach(async () => {
|
|
107
|
+
await generateWith({ terraform: ">=1.5.7" });
|
|
108
|
+
const file = path.join(outdir, "constraints.json");
|
|
109
|
+
const { targetVersions: _dropped, ...older } = fs.readJsonSync(file);
|
|
110
|
+
fs.writeJsonSync(file, older);
|
|
111
|
+
});
|
|
112
|
+
it("is fresh for a Terraform project", async () => {
|
|
113
|
+
await expect(maker().filterAlreadyGenerated([constraint])).resolves.toEqual([]);
|
|
114
|
+
});
|
|
115
|
+
it("is stale for an OpenTofu-only project", async () => {
|
|
116
|
+
await expect(maker({ opentofu: ">=1.6.0" }).filterAlreadyGenerated([constraint])).resolves.toEqual([constraint]);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnktY2xhc3MtaW52YWxpZGF0aW9uLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2V0L19fdGVzdHNfXy9yZWdpc3RyeS1jbGFzcy1pbnZhbGlkYXRpb24udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsNkNBQStCO0FBQy9CLDJDQUE2QjtBQUM3Qiw0Q0FJd0I7QUFDeEIsaUNBQXlDO0FBRXpDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDekMsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQztDQUM1RCxDQUFDLENBQUMsQ0FBQztBQUVKLDZFQUE2RTtBQUM3RSwwREFBc0Q7QUFFdEQsTUFBTSxHQUFHLEdBQUcsSUFBQSxzQkFBZSxHQUFFLENBQUM7QUFFOUIsNERBQTREO0FBQzVELE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGNBQWMsRUFBRTtRQUNkLGNBQWMsRUFBRSxLQUFjO1FBQzlCLGdCQUFnQixFQUFFO1lBQ2hCLHdDQUF3QyxFQUFFO2dCQUN4QyxnQkFBZ0IsRUFBRSxJQUFJO2dCQUN0QixtQkFBbUIsRUFBRSxJQUFJO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxFQUFFLHdDQUF3QyxFQUFFLE9BQU8sRUFBRTtRQUN4RSxRQUFRLEVBQUUsV0FBVztRQUNyQixXQUFXLEVBQUUsT0FBTztLQUNyQjtDQUNGLENBQUM7QUFFRixRQUFRLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO0lBQ3RELE1BQU0sVUFBVSxHQUFHLElBQUkscUNBQTJCLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM5RSxJQUFJLE1BQWMsQ0FBQztJQUVuQixNQUFNLEtBQUssR0FBRyxDQUFDLGNBQXdDLEVBQUUsRUFBRSxDQUN6RCxJQUFJLGtDQUFlLENBQUM7UUFDbEIsZUFBZSxFQUFFLE1BQU07UUFDdkIsY0FBYyxFQUFFLGtCQUFRLENBQUMsVUFBVTtRQUNuQyxjQUFjO0tBQ2YsQ0FBQyxDQUFDO0lBRUwsa0ZBQWtGO0lBQ2xGLE1BQU0sWUFBWSxHQUFHLENBQUMsY0FBd0MsRUFBRSxFQUFFLENBQ2hFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRS9DLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0IsY0FBYyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxJQUFJLENBTUw7UUFDQSxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7UUFDekM7WUFDRSxtREFBbUQ7WUFDbkQsU0FBUztZQUNULEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO1NBQzlDO1FBQ0Q7WUFDRSwwQ0FBMEM7WUFDMUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO1lBQ3ZCLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTtTQUN4QjtLQUNGLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUMxRCxNQUFNLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQixNQUFNLE1BQU0sQ0FDVixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUNsRCxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsd0RBQXdELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdEUsTUFBTSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUIsTUFBTSxNQUFNLENBQ1YsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUNwRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLCtEQUErRCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzdFLE1BQU0sWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFNUMsTUFBTSxNQUFNLENBQ1YsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUNyRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0lBRUgsZ0ZBQWdGO0lBQ2hGLDJFQUEyRTtJQUMzRSxRQUFRLENBQUMsMERBQTBELEVBQUUsR0FBRyxFQUFFO1FBQ3hFLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNwQixNQUFNLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDbkQsTUFBTSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JFLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2hELE1BQU0sTUFBTSxDQUNWLEtBQUssRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDN0MsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3JELE1BQU0sTUFBTSxDQUNWLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDcEUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQge1xuICBMYW5ndWFnZSxcbiAgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50LFxuICBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyxcbn0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBjcmVhdGVUbXBIZWxwZXIgfSBmcm9tIFwiLi91dGlsXCI7XG5cbmNvbnN0IG1vY2tSZWFkU2NoZW1hID0gamVzdC5mbigpO1xuamVzdC5tb2NrKFwiQGNka3RuL3Byb3ZpZGVyLXNjaGVtYVwiLCAoKSA9PiAoe1xuICByZWFkU2NoZW1hOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiBtb2NrUmVhZFNjaGVtYSguLi5hcmdzKSxcbn0pKTtcblxuLy8gSW1wb3J0ZWQgYWZ0ZXIgdGhlIG1vY2sgc28gQ29uc3RydWN0c01ha2VyIHBpY2tzIHVwIHRoZSBtb2NrZWQgcmVhZFNjaGVtYS5cbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlciB9IGZyb20gXCIuLi9jb25zdHJ1Y3RzLW1ha2VyXCI7XG5cbmNvbnN0IHRtcCA9IGNyZWF0ZVRtcEhlbHBlcigpO1xuXG4vLyBObyByZXNvdXJjZXMsIHNvIGdlbmVyYXRpb24gc3RheXMgaW4gVHlwZVNjcmlwdCBlbWlzc2lvbi5cbmNvbnN0IGZha2VTY2hlbWEgPSB7XG4gIHByb3ZpZGVyU2NoZW1hOiB7XG4gICAgZm9ybWF0X3ZlcnNpb246IFwiMC4yXCIgYXMgY29uc3QsXG4gICAgcHJvdmlkZXJfc2NoZW1hczoge1xuICAgICAgXCJyZWdpc3RyeS50ZXJyYWZvcm0uaW8vaGFzaGljb3JwL3JhbmRvbVwiOiB7XG4gICAgICAgIHJlc291cmNlX3NjaGVtYXM6IG51bGwsXG4gICAgICAgIGRhdGFfc291cmNlX3NjaGVtYXM6IG51bGwsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcHJvdmlkZXJfdmVyc2lvbnM6IHsgXCJyZWdpc3RyeS50ZXJyYWZvcm0uaW8vaGFzaGljb3JwL3JhbmRvbVwiOiBcIjMuMi4wXCIgfSxcbiAgICBjbGlfbmFtZTogXCJ0ZXJyYWZvcm1cIixcbiAgICBjbGlfdmVyc2lvbjogXCIxLjcuNVwiLFxuICB9LFxufTtcblxuZGVzY3JpYmUoXCJmaWx0ZXJBbHJlYWR5R2VuZXJhdGVkOiByZWdpc3RyeSBjbGFzc1wiLCAoKSA9PiB7XG4gIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KFwiaGFzaGljb3JwL3JhbmRvbUA9My4yLjBcIik7XG4gIGxldCBvdXRkaXI6IHN0cmluZztcblxuICBjb25zdCBtYWtlciA9ICh0YXJnZXRWZXJzaW9ucz86IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zKSA9PlxuICAgIG5ldyBDb25zdHJ1Y3RzTWFrZXIoe1xuICAgICAgY29kZU1ha2VyT3V0cHV0OiBvdXRkaXIsXG4gICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgIHRhcmdldFZlcnNpb25zLFxuICAgIH0pO1xuXG4gIC8qKiBBIHJlYWwgcHJldmlvdXMgYGNka3RuIGdldGAsIHNvIGNvbnN0cmFpbnRzLmpzb24gaXMgd2hhdCBnZW5lcmF0aW9uIHdyaXRlcy4gKi9cbiAgY29uc3QgZ2VuZXJhdGVXaXRoID0gKHRhcmdldFZlcnNpb25zPzogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMpID0+XG4gICAgbWFrZXIodGFyZ2V0VmVyc2lvbnMpLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbW9ja1JlYWRTY2hlbWEubW9ja1Jlc2V0KCk7XG4gICAgbW9ja1JlYWRTY2hlbWEubW9ja1Jlc29sdmVkVmFsdWUoZmFrZVNjaGVtYSk7XG4gICAgb3V0ZGlyID0gdG1wKFwicmVnaXN0cnktY2xhc3NcIik7XG4gIH0pO1xuXG4gIGl0LmVhY2g8XG4gICAgW1xuICAgICAgc3RyaW5nLFxuICAgICAgVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMgfCB1bmRlZmluZWQsXG4gICAgICBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyB8IHVuZGVmaW5lZCxcbiAgICBdXG4gID4oW1xuICAgIFtcIm5vdGhpbmcgY2hhbmdlZFwiLCB1bmRlZmluZWQsIHVuZGVmaW5lZF0sXG4gICAgW1xuICAgICAgXCJib3RoIHByb2R1Y3RzIGRlY2xhcmVkLCB0aGUgc2FtZSBjbGFzcyBhcyBub3RoaW5nXCIsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7IHRlcnJhZm9ybTogXCI+PTEuNS43XCIsIG9wZW50b2Z1OiBcIj49MS42LjBcIiB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgXCJhIHJhbmdlIG1vdmluZyB3aXRoaW4gdGhlIE9wZW5Ub2Z1IGNsYXNzXCIsXG4gICAgICB7IG9wZW50b2Z1OiBcIj49MS42LjBcIiB9LFxuICAgICAgeyBvcGVudG9mdTogXCI+PTEuOC4wXCIgfSxcbiAgICBdLFxuICBdKShcInNraXBzIHJlZ2VuZXJhdGlvbjogJXNcIiwgYXN5bmMgKF9uYW1lLCBiZWZvcmUsIGFmdGVyKSA9PiB7XG4gICAgYXdhaXQgZ2VuZXJhdGVXaXRoKGJlZm9yZSk7XG5cbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBtYWtlcihhZnRlcikuZmlsdGVyQWxyZWFkeUdlbmVyYXRlZChbY29uc3RyYWludF0pLFxuICAgICkucmVzb2x2ZXMudG9FcXVhbChbXSk7XG4gIH0pO1xuXG4gIGl0KFwicmVnZW5lcmF0ZXMgd2hlbiB0aGUgcHJvamVjdCBzd2l0Y2hlcyB0byBPcGVuVG9mdS1vbmx5XCIsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBnZW5lcmF0ZVdpdGgodW5kZWZpbmVkKTtcblxuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG1ha2VyKHsgb3BlbnRvZnU6IFwiPj0xLjYuMFwiIH0pLmZpbHRlckFscmVhZHlHZW5lcmF0ZWQoW2NvbnN0cmFpbnRdKSxcbiAgICApLnJlc29sdmVzLnRvRXF1YWwoW2NvbnN0cmFpbnRdKTtcbiAgfSk7XG5cbiAgaXQoXCJyZWdlbmVyYXRlcyB3aGVuIHRoZSBwcm9qZWN0IHN3aXRjaGVzIGF3YXkgZnJvbSBPcGVuVG9mdS1vbmx5XCIsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBnZW5lcmF0ZVdpdGgoeyBvcGVudG9mdTogXCI+PTEuNi4wXCIgfSk7XG5cbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBtYWtlcih7IHRlcnJhZm9ybTogXCI+PTEuNS43XCIgfSkuZmlsdGVyQWxyZWFkeUdlbmVyYXRlZChbY29uc3RyYWludF0pLFxuICAgICkucmVzb2x2ZXMudG9FcXVhbChbY29uc3RyYWludF0pO1xuICB9KTtcblxuICAvLyBjb25zdHJhaW50cy5qc29uIHdyaXR0ZW4gYmVmb3JlIHRhcmdldFZlcnNpb25zIHdhcyBzdGFtcGVkIGhhcyBubyBzdWNoIGZpZWxkO1xuICAvLyBpdCBtdXN0IHJlYWQgYXMgdGhlIFRlcnJhZm9ybSBjbGFzcywgd2hpY2ggaXMgd2hhdCBpdCB3YXMgZ2VuZXJhdGVkIGZvci5cbiAgZGVzY3JpYmUoXCJjb25zdHJhaW50cy5qc29uIGZyb20gYmVmb3JlIHRhcmdldFZlcnNpb25zIHdhcyByZWNvcmRlZFwiLCAoKSA9PiB7XG4gICAgYmVmb3JlRWFjaChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBnZW5lcmF0ZVdpdGgoeyB0ZXJyYWZvcm06IFwiPj0xLjUuN1wiIH0pO1xuICAgICAgY29uc3QgZmlsZSA9IHBhdGguam9pbihvdXRkaXIsIFwiY29uc3RyYWludHMuanNvblwiKTtcbiAgICAgIGNvbnN0IHsgdGFyZ2V0VmVyc2lvbnM6IF9kcm9wcGVkLCAuLi5vbGRlciB9ID0gZnMucmVhZEpzb25TeW5jKGZpbGUpO1xuICAgICAgZnMud3JpdGVKc29uU3luYyhmaWxlLCBvbGRlcik7XG4gICAgfSk7XG5cbiAgICBpdChcImlzIGZyZXNoIGZvciBhIFRlcnJhZm9ybSBwcm9qZWN0XCIsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGV4cGVjdChcbiAgICAgICAgbWFrZXIoKS5maWx0ZXJBbHJlYWR5R2VuZXJhdGVkKFtjb25zdHJhaW50XSksXG4gICAgICApLnJlc29sdmVzLnRvRXF1YWwoW10pO1xuICAgIH0pO1xuXG4gICAgaXQoXCJpcyBzdGFsZSBmb3IgYW4gT3BlblRvZnUtb25seSBwcm9qZWN0XCIsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IGV4cGVjdChcbiAgICAgICAgbWFrZXIoeyBvcGVudG9mdTogXCI+PTEuNi4wXCIgfSkuZmlsdGVyQWxyZWFkeUdlbmVyYXRlZChbY29uc3RyYWludF0pLFxuICAgICAgKS5yZXNvbHZlcy50b0VxdWFsKFtjb25zdHJhaW50XSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
// Copyright (c) HashiCorp, Inc
|
|
27
37
|
// SPDX-License-Identifier: MPL-2.0
|
|
@@ -168,4 +178,32 @@ describe("targetVersions threading through 'cdktn get'", () => {
|
|
|
168
178
|
expect(toGenerate).toEqual([]);
|
|
169
179
|
});
|
|
170
180
|
});
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXZlcnNpb25zLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2V0L19fdGVzdHNfXy90YXJnZXQtdmVyc2lvbnMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyw2Q0FBK0I7QUFDL0IsMkNBQTZCO0FBQzdCLDRDQUl3QjtBQUN4QixpQ0FBeUM7QUFFekMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN6QyxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDO0NBQzVELENBQUMsQ0FBQyxDQUFDO0FBRUosNkVBQTZFO0FBQzdFLDBEQUFrRTtBQUVsRSxNQUFNLEdBQUcsR0FBRyxJQUFBLHNCQUFlLEdBQUUsQ0FBQztBQUU5QixNQUFNLFVBQVUsR0FBa0M7SUFDaEQsR0FBRyxFQUFFLGtCQUFrQjtJQUN2QixJQUFJLEVBQUUsUUFBUTtJQUNkLE1BQU0sRUFBRSxrQkFBa0I7SUFDMUIsT0FBTyxFQUFFLE9BQU87Q0FDakIsQ0FBQztBQUVGLDBFQUEwRTtBQUMxRSxzRUFBc0U7QUFDdEUscUVBQXFFO0FBQ3JFLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGNBQWMsRUFBRTtRQUNkLGNBQWMsRUFBRSxLQUFjO1FBQzlCLGdCQUFnQixFQUFFO1lBQ2hCLHdDQUF3QyxFQUFFO2dCQUN4QyxnQkFBZ0IsRUFBRSxJQUFJO2dCQUN0QixtQkFBbUIsRUFBRSxJQUFJO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRTtZQUNqQix3Q0FBd0MsRUFBRSxPQUFPO1NBQ2xEO1FBQ0QsUUFBUSxFQUFFLFdBQVc7UUFDckIsV0FB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TUFBTSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMscUVBQXFFLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbkYsdUVBQXVFO1FBQ3ZFLG1FQUFtRTtRQUNuRSxzRUFBc0U7UUFDdEUscUJBQXFCO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFlO1lBQzFCLGVBQWUsRUFBRSxPQUFPO1lBQ3hCLGNBQWMsRUFBRSxrQkFBUSxDQUFDLFVBQVU7WUFDbkMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRTtTQUN6QyxDQUFDO1FBRUYsTUFBTSxLQUFLLEdBQUcsSUFBSSxrQ0FBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxrQ0FBZSxDQUFDO1lBQ2pDLEdBQUcsT0FBTztZQUNWLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUU7U0FDMUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQUcsTUFBTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7XG4gIExhbmd1YWdlLFxuICBUZXJyYWZvcm1EZXBlbmRlbmN5Q29uc3RyYWludCxcbiAgVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMsXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgY3JlYXRlVG1wSGVscGVyIH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5jb25zdCBtb2NrUmVhZFNjaGVtYSA9IGplc3QuZm4oKTtcbmplc3QubW9jayhcIkBjZGt0bi9wcm92aWRlci1zY2hlbWFcIiwgKCkgPT4gKHtcbiAgcmVhZFNjaGVtYTogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gbW9ja1JlYWRTY2hlbWEoLi4uYXJncyksXG59KSk7XG5cbi8vIEltcG9ydGVkIGFmdGVyIHRoZSBtb2NrIHNvIENvbnN0cnVjdHNNYWtlciBwaWNrcyB1cCB0aGUgbW9ja2VkIHJlYWRTY2hlbWEuXG5pbXBvcnQgeyBDb25zdHJ1Y3RzTWFrZXIsIEdldE9wdGlvbnMgfSBmcm9tIFwiLi4vY29uc3RydWN0cy1tYWtlclwiO1xuXG5jb25zdCB0bXAgPSBjcmVhdGVUbXBIZWxwZXIoKTtcblxuY29uc3QgY29uc3RyYWludDogVGVycmFmb3JtRGVwZW5kZW5jeUNvbnN0cmFpbnQgPSB7XG4gIGZxbjogXCJoYXNoaWNvcnAvcmFuZG9tXCIsXG4gIG5hbWU6IFwicmFuZG9tXCIsXG4gIHNvdXJjZTogXCJoYXNoaWNvcnAvcmFuZG9tXCIsXG4gIHZlcnNpb246IFwiMy4xLjNcIixcbn07XG5cbi8vIE1pbmltYWwgc2NoZW1hIC0gbm8gcmVzb3VyY2VzL2RhdGEgc291cmNlcyAtIHNvIGdlbmVyYXRpb24gc3RheXMgd2l0aGluXG4vLyBwdXJlIFR5cGVTY3JpcHQgZW1pc3Npb24gKG5vIGpzaWktcGFjbWFrIGludm9jYXRpb24pLCBtaXJyb3JpbmcgdGhlXG4vLyBcImVtcHR5LXByb3ZpZGVyLXJlc291cmNlc1wiIGZpeHR1cmUgdXNlZCBlbHNld2hlcmUgaW4gdGhpcyBwYWNrYWdlLlxuY29uc3QgZmFrZVNjaGVtYSA9IHtcbiAgcHJvdmlkZXJTY2hlbWE6IHtcbiAgICBmb3JtYXRfdmVyc2lvbjogXCIwLjJcIiBhcyBjb25zdCxcbiAgICBwcm92aWRlcl9zY2hlbWFzOiB7XG4gICAgICBcInJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9oYXNoaWNvcnAvcmFuZG9tXCI6IHtcbiAgICAgICAgcmVzb3VyY2Vfc2NoZW1hczogbnVsbCxcbiAgICAgICAgZGF0YV9zb3VyY2Vfc2NoZW1hczogbnVsbCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwcm92aWRlcl92ZXJzaW9uczoge1xuICAgICAgXCJyZWdpc3RyeS50ZXJyYWZvcm0uaW8vaGFzaGljb3JwL3JhbmRvbVwiOiBcIjMuMS4zXCIsXG4gICAgfSxcbiAgICBjbGlfbmFtZTogXCJ0ZXJyYWZvcm1cIixcbiAgICBjbGlfdmVyc2lvbjogXCIxLjcuNVwiLFxuICB9LFxufTtcblxuZGVzY3JpYmUoXCJ0YXJnZXRWZXJzaW9ucyB0aHJlYWRpbmcgdGhyb3VnaCAnY2RrdG4gZ2V0J1wiLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG1vY2tSZWFkU2NoZW1hLm1vY2tSZXNldCgpO1xuICAgIG1vY2tSZWFkU2NoZW1hLm1vY2tSZXNvbHZlZFZhbHVlKGZha2VTY2hlbWEpO1xuICB9KTtcblxuICBpdChcInBhc3NlcyBHZXRPcHRpb25zLnRhcmdldFZlcnNpb25zIHRocm91Z2ggdG8gcmVhZFNjaGVtYVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgd29ya2RpciA9IHRtcChcInRhcmdldC12ZXJzaW9ucy10aHJlYWQudGVzdFwiKTtcbiAgICBjb25zdCB0YXJnZXRWZXJzaW9uczogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMgPSB7IHRlcnJhZm9ybTogXCI+PTEuNS43XCIgfTtcbiAgICBjb25zdCBvcHRpb25zOiBHZXRPcHRpb25zID0ge1xuICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICB0YXJnZXRWZXJzaW9ucyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKG9wdGlvbnMsIFwiL3NvbWUvY2FjaGUvcGF0aFwiKTtcbiAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuXG4gICAgZXhwZWN0KG1vY2tSZWFkU2NoZW1hKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAgIFtjb25zdHJhaW50XSxcbiAgICAgIFwiL3NvbWUvY2FjaGUvcGF0aFwiLFxuICAgICAgdGFyZ2V0VmVyc2lvbnMsXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoXCJvbWl0cyB0YXJnZXRWZXJzaW9ucyBmcm9tIHRoZSByZWFkU2NoZW1hIGNhbGwgd2hlbiBub3QgY29uZmlndXJlZFwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgd29ya2RpciA9IHRtcChcInRhcmdldC12ZXJzaW9ucy1hYnNlbnQudGVzdFwiKTtcbiAgICBjb25zdCBvcHRpb25zOiBHZXRPcHRpb25zID0ge1xuICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgfTtcblxuICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihvcHRpb25zKTtcbiAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuXG4gICAgZXhwZWN0KG1vY2tSZWFkU2NoZW1hKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAgIFtjb25zdHJhaW50XSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICApO1xuICB9KTtcblxuICBpdChcInN0YW1wcyBjb25zdHJhaW50cy5qc29uIHdpdGggdGFyZ2V0VmVyc2lvbnMgKyBjbGkgaWRlbnRpdHksIGFuZCBvbGRlciBjb25zdHJhaW50cy5qc29uIGZpbGVzIHdpdGhvdXQgdGhvc2UgZmllbGRzIGFyZSBzdGlsbCB0cmVhdGVkIGFzIGZyZXNoIChubyBmb3JjZWQgcmVnZW5lcmF0aW9uKVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgd29ya2RpciA9IHRtcChcInRhcmdldC12ZXJzaW9ucy1zdGFtcC50ZXN0XCIpO1xuICAgIGNvbnN0IHRhcmdldFZlcnNpb25zOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyA9IHsgdGVycmFmb3JtOiBcIj49MS41LjdcIiB9O1xuICAgIGNvbnN0IG9wdGlvbnM6IEdldE9wdGlvbnMgPSB7XG4gICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgIHRhcmdldFZlcnNpb25zLFxuICAgIH07XG5cbiAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIob3B0aW9ucyk7XG4gICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcblxuICAgIGNvbnN0IGNvbnN0cmFpbnRzRmlsZSA9IEpTT04ucGFyc2UoXG4gICAgICBhd2FpdCBmcy5yZWFkRmlsZShwYXRoLmpvaW4od29ya2RpciwgXCJjb25zdHJhaW50cy5qc29uXCIpLCBcInV0ZjhcIiksXG4gICAgKTtcbiAgICBleHBlY3QoY29uc3RyYWludHNGaWxlLnRhcmdldFZlcnNpb25zKS50b0VxdWFsKHRhcmdldFZlcnNpb25zKTtcbiAgICBleHBlY3QoY29uc3RyYWludHNGaWxlLmNsaSkudG9FcXVhbCh7XG4gICAgICBuYW1lOiBcInRlcnJhZm9ybVwiLFxuICAgICAgdmVyc2lvbjogXCIxLjcuNVwiLFxuICAgIH0pO1xuXG4gICAgLy8gUmV3cml0ZSBjb25zdHJhaW50cy5qc29uIGFzIGl0IHdvdWxkIGhhdmUgbG9va2VkIGJlZm9yZSB0aGlzIGZlYXR1cmVcbiAgICAvLyBsYW5kZWQgKG5vIHRhcmdldFZlcnNpb25zL2NsaSBmaWVsZHMpLCBrZWVwaW5nIHRoZSByZXN0IGlkZW50aWNhbCAtXG4gICAgLy8gdGhpcyBzaW11bGF0ZXMgcmUtcnVubmluZyBgY2RrdG4gZ2V0YCBhZ2FpbnN0IGFuIG91dHB1dCBkaXJlY3RvcnlcbiAgICAvLyBnZW5lcmF0ZWQgYnkgYW4gb2xkZXIgY2RrdG4gdmVyc2lvbi5cbiAgICBjb25zdCB7XG4gICAgICB0YXJnZXRWZXJzaW9uczogX3R2LFxuICAgICAgY2xpOiBfY2xpLFxuICAgICAgLi4ubGVnYWN5Q29uc3RyYWludHNcbiAgICB9ID0gY29uc3RyYWludHNGaWxlO1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgIHBhdGguam9pbih3b3JrZGlyLCBcImNvbnN0cmFpbnRzLmpzb25cIiksXG4gICAgICBKU09OLnN0cmluZ2lmeShsZWdhY3lDb25zdHJhaW50cywgbnVsbCwgMiksXG4gICAgKTtcblxuICAgIGNvbnN0IG1ha2VyMiA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIob3B0aW9ucyk7XG4gICAgY29uc3QgdG9HZW5lcmF0ZSA9IGF3YWl0IG1ha2VyMi5maWx0ZXJBbHJlYWR5R2VuZXJhdGVkKFtjb25zdHJhaW50XSk7XG4gICAgZXhwZWN0KHRvR2VuZXJhdGUpLnRvRXF1YWwoW10pO1xuICB9KTtcblxuICBpdChcInRocmVhZHMgYSBwYXJ0aWFsIHRhcmdldFZlcnNpb25zIChzaW5nbGUgcHJvZHVjdCkgdGhyb3VnaCB1bmNoYW5nZWQgYW5kIHN0YW1wcyBpdCB2ZXJiYXRpbVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgd29ya2RpciA9IHRtcChcInRhcmdldC12ZXJzaW9ucy1wYXJ0aWFsLnRlc3RcIik7XG4gICAgY29uc3QgdGFyZ2V0VmVyc2lvbnM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zID0geyBvcGVudG9mdTogXCI+PTEuMTEuMFwiIH07XG4gICAgY29uc3Qgb3B0aW9uczogR2V0T3B0aW9ucyA9IHtcbiAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgdGFyZ2V0VmVyc2lvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihvcHRpb25zKTtcbiAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuXG4gICAgZXhwZWN0KG1vY2tSZWFkU2NoZW1hKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAgIFtjb25zdHJhaW50XSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRhcmdldFZlcnNpb25zLFxuICAgICk7XG5cbiAgICAvLyBUaGUgc3RhbXAgcmVjb3JkcyBleGFjdGx5IHdoYXQgdGhlIHByb2plY3QgZGVjbGFyZWQgLSBubyB0ZXJyYWZvcm1cbiAgICAvLyBkZWZhdWx0IGlzIGluamVjdGVkIGF0IGdldC10aW1lIChkZWZhdWx0aW5nIGZvciB0aGUgdW5kZWNsYXJlZFxuICAgIC8vIHByb2R1Y3QgaGFwcGVucyBvbmx5IGF0IHN5bnRoLXRpbWUsIGluIHJlc29sdmVUYXJnZXRWZXJzaW9ucykuXG4gICAgY29uc3QgY29uc3RyYWludHNGaWxlID0gSlNPTi5wYXJzZShcbiAgICAgIGF3YWl0IGZzLnJlYWRGaWxlKHBhdGguam9pbih3b3JrZGlyLCBcImNvbnN0cmFpbnRzLmpzb25cIiksIFwidXRmOFwiKSxcbiAgICApO1xuICAgIGV4cGVjdChjb25zdHJhaW50c0ZpbGUudGFyZ2V0VmVyc2lvbnMpLnRvRXF1YWwoeyBvcGVudG9mdTogXCI+PTEuMTEuMFwiIH0pO1xuICB9KTtcblxuICBpdChcIm9taXRzIHRoZSBjbGkgc3RhbXAgd2hlbiB0aGUgZmV0Y2hlZCBzY2hlbWEgY2FycmllcyBubyBDTEkgdmVyc2lvbiBtZXRhZGF0YVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgd29ya2RpciA9IHRtcChcInRhcmdldC12ZXJzaW9ucy1uby1jbGkudGVzdFwiKTtcbiAgICBjb25zdCB7XG4gICAgICBjbGlfbmFtZTogX2NsaU5hbWUsXG4gICAgICBjbGlfdmVyc2lvbjogX2NsaVZlcnNpb24sXG4gICAgICAuLi5zY2hlbWFXaXRob3V0Q2xpXG4gICAgfSA9IGZha2VTY2hlbWEucHJvdmlkZXJTY2hlbWE7XG4gICAgbW9ja1JlYWRTY2hlbWEubW9ja1Jlc29sdmVkVmFsdWUoeyBwcm92aWRlclNjaGVtYTogc2NoZW1hV2l0aG91dENsaSB9KTtcblxuICAgIGNvbnN0IHRhcmdldFZlcnNpb25zOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyA9IHsgdGVycmFmb3JtOiBcIj49MS41LjdcIiB9O1xuICAgIGNvbnN0IG9wdGlvbnM6IEdldE9wdGlvbnMgPSB7XG4gICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgIHRhcmdldFZlcnNpb25zLFxuICAgIH07XG5cbiAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIob3B0aW9ucyk7XG4gICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcblxuICAgIGNvbnN0IGNvbnN0cmFpbnRzRmlsZSA9IEpTT04ucGFyc2UoXG4gICAgICBhd2FpdCBmcy5yZWFkRmlsZShwYXRoLmpvaW4od29ya2RpciwgXCJjb25zdHJhaW50cy5qc29uXCIpLCBcInV0ZjhcIiksXG4gICAgKTtcbiAgICBleHBlY3QoY29uc3RyYWludHNGaWxlLmNsaSkudG9CZVVuZGVmaW5lZCgpO1xuICAgIGV4cGVjdChjb25zdHJhaW50c0ZpbGUudGFyZ2V0VmVyc2lvbnMpLnRvRXF1YWwodGFyZ2V0VmVyc2lvbnMpO1xuICB9KTtcblxuICBpdChcImRvZXMgbm90IGZvcmNlIHJlZ2VuZXJhdGlvbiB3aGVuIHRhcmdldFZlcnNpb25zIGNoYW5nZSBiZXR3ZWVuIHJ1bnNcIiwgYXN5bmMgKCkgPT4ge1xuICAgIC8vIFRoZSBzdGFtcCBpcyBkaWFnbm9zdGljLW9ubHk6IHBlciB0aGUgR2V0T3B0aW9ucy50YXJnZXRWZXJzaW9ucyBkb2MsXG4gICAgLy8gdGFyZ2V0VmVyc2lvbnMgbmV2ZXIgZmlsdGVycyBjb2RlZ2VuICh0aGUgZnVsbCBzY2hlbWEgc3VyZmFjZSBpc1xuICAgIC8vIGFsd2F5cyBnZW5lcmF0ZWQpLCBzbyBmcmVzaG5lc3Mgb25seSBjb21wYXJlcyB0aGUgcHJvdmlkZXJzIG1hcCBhbmRcbiAgICAvLyB0aGUgY2RrdGYgdmVyc2lvbi5cbiAgICBjb25zdCB3b3JrZGlyID0gdG1wKFwidGFyZ2V0LXZlcnNpb25zLWNoYW5nZS50ZXN0XCIpO1xuICAgIGNvbnN0IG9wdGlvbnM6IEdldE9wdGlvbnMgPSB7XG4gICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgIHRhcmdldFZlcnNpb25zOiB7IHRlcnJhZm9ybTogXCI+PTEuNS43XCIgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKG9wdGlvbnMpO1xuICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG5cbiAgICBjb25zdCBtYWtlcjIgPSBuZXcgQ29uc3RydWN0c01ha2VyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB0YXJnZXRWZXJzaW9uczogeyB0ZXJyYWZvcm06IFwiPj0xLjExLjBcIiB9LFxuICAgIH0pO1xuICAgIGNvbnN0IHRvR2VuZXJhdGUgPSBhd2FpdCBtYWtlcjIuZmlsdGVyQWxyZWFkeUdlbmVyYXRlZChbY29uc3RyYWludF0pO1xuICAgIGV4cGVjdCh0b0dlbmVyYXRlKS50b0VxdWFsKFtdKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
181
|
+
describe("targetVersions reaching generated module bindings", () => {
|
|
182
|
+
const moduleConstraint = new commons_1.TerraformModuleConstraint("terraform-aws-modules/vpc/aws@3.19.0");
|
|
183
|
+
const emittedSources = (dir) => fs.readdirSync(dir, { withFileTypes: true }).flatMap((entry) => {
|
|
184
|
+
const full = path.join(dir, entry.name);
|
|
185
|
+
if (entry.isDirectory())
|
|
186
|
+
return emittedSources(full);
|
|
187
|
+
return entry.name.endsWith(".ts") ? [fs.readFileSync(full, "utf8")] : [];
|
|
188
|
+
});
|
|
189
|
+
beforeEach(() => {
|
|
190
|
+
mockReadSchema.mockReset();
|
|
191
|
+
const target = commons_1.ConstructsMakerModuleTarget.from(moduleConstraint, commons_1.Language.TYPESCRIPT);
|
|
192
|
+
mockReadSchema.mockResolvedValue({
|
|
193
|
+
moduleSchema: {
|
|
194
|
+
[target.moduleKey]: { name: target.name, inputs: [], outputs: [] },
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
it("links an OpenTofu-only project's modules to the OpenTofu registry", async () => {
|
|
199
|
+
const workdir = tmp("target-versions-module.test");
|
|
200
|
+
const maker = new constructs_maker_1.ConstructsMaker({
|
|
201
|
+
codeMakerOutput: workdir,
|
|
202
|
+
targetLanguage: commons_1.Language.TYPESCRIPT,
|
|
203
|
+
targetVersions: { opentofu: ">=1.6.0" },
|
|
204
|
+
});
|
|
205
|
+
await maker.generate([moduleConstraint]);
|
|
206
|
+
expect(emittedSources(workdir).join("\n")).toContain("https://search.opentofu.org/module/terraform-aws-modules/vpc/aws/v3.19.0");
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXZlcnNpb25zLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2V0L19fdGVzdHNfXy90YXJnZXQtdmVyc2lvbnMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsNkNBQStCO0FBQy9CLDJDQUE2QjtBQUM3Qiw0Q0FNd0I7QUFDeEIsaUNBQXlDO0FBRXpDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDekMsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQztDQUM1RCxDQUFDLENBQUMsQ0FBQztBQUVKLDZFQUE2RTtBQUM3RSwwREFBa0U7QUFFbEUsTUFBTSxHQUFHLEdBQUcsSUFBQSxzQkFBZSxHQUFFLENBQUM7QUFFOUIsTUFBTSxVQUFVLEdBQWtDO0lBQ2hELEdBQUcsRUFBRSxrQkFBa0I7SUFDdkIsSUFBSSxFQUFFLFFBQVE7SUFDZCxNQUFNLEVBQUUsa0JBQWtCO0lBQzFCLE9BQU8sRUFBRSxPQUFPO0NBQ2pCLENBQUM7QUFFRiwwRUFBMEU7QUFDMUUsc0VBQXNFO0FBQ3RFLHFFQUFxRTtBQUNyRSxNQUFNLFVBQVUsR0FBRztJQUNqQixjQUFjLEVBQUU7UUFDZCxjQUFjLEVBQUUsS0FBYztRQUM5QixnQkFBZ0IsRUFBRTtZQUNoQix3Q0FBd0MsRUFBRTtnQkFDeEMsZ0JBQWdCLEVBQUUsSUFBSTtnQkFDdEIsbUJBQW1CLEVBQUUsSUFBSTthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUU7WUFDakIsd0NBQXdDLEVBQUUsT0FBTztTQUNsRDtRQUNELFFBQVEsRUFBRSxXQUFX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QUNuQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO1NBQ3hDLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUV6QyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDbEQsMEVBQTBFLENBQzNFLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgQ29uc3RydWN0c01ha2VyTW9kdWxlVGFyZ2V0LFxuICBMYW5ndWFnZSxcbiAgVGVycmFmb3JtRGVwZW5kZW5jeUNvbnN0cmFpbnQsXG4gIFRlcnJhZm9ybU1vZHVsZUNvbnN0cmFpbnQsXG4gIFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IGNyZWF0ZVRtcEhlbHBlciB9IGZyb20gXCIuL3V0aWxcIjtcblxuY29uc3QgbW9ja1JlYWRTY2hlbWEgPSBqZXN0LmZuKCk7XG5qZXN0Lm1vY2soXCJAY2RrdG4vcHJvdmlkZXItc2NoZW1hXCIsICgpID0+ICh7XG4gIHJlYWRTY2hlbWE6ICguLi5hcmdzOiB1bmtub3duW10pID0+IG1vY2tSZWFkU2NoZW1hKC4uLmFyZ3MpLFxufSkpO1xuXG4vLyBJbXBvcnRlZCBhZnRlciB0aGUgbW9jayBzbyBDb25zdHJ1Y3RzTWFrZXIgcGlja3MgdXAgdGhlIG1vY2tlZCByZWFkU2NoZW1hLlxuaW1wb3J0IHsgQ29uc3RydWN0c01ha2VyLCBHZXRPcHRpb25zIH0gZnJvbSBcIi4uL2NvbnN0cnVjdHMtbWFrZXJcIjtcblxuY29uc3QgdG1wID0gY3JlYXRlVG1wSGVscGVyKCk7XG5cbmNvbnN0IGNvbnN0cmFpbnQ6IFRlcnJhZm9ybURlcGVuZGVuY3lDb25zdHJhaW50ID0ge1xuICBmcW46IFwiaGFzaGljb3JwL3JhbmRvbVwiLFxuICBuYW1lOiBcInJhbmRvbVwiLFxuICBzb3VyY2U6IFwiaGFzaGljb3JwL3JhbmRvbVwiLFxuICB2ZXJzaW9uOiBcIjMuMS4zXCIsXG59O1xuXG4vLyBNaW5pbWFsIHNjaGVtYSAtIG5vIHJlc291cmNlcy9kYXRhIHNvdXJjZXMgLSBzbyBnZW5lcmF0aW9uIHN0YXlzIHdpdGhpblxuLy8gcHVyZSBUeXBlU2NyaXB0IGVtaXNzaW9uIChubyBqc2lpLXBhY21hayBpbnZvY2F0aW9uKSwgbWlycm9yaW5nIHRoZVxuLy8gXCJlbXB0eS1wcm92aWRlci1yZXNvdXJjZXNcIiBmaXh0dXJlIHVzZWQgZWxzZXdoZXJlIGluIHRoaXMgcGFja2FnZS5cbmNvbnN0IGZha2VTY2hlbWEgPSB7XG4gIHByb3ZpZGVyU2NoZW1hOiB7XG4gICAgZm9ybWF0X3ZlcnNpb246IFwiMC4yXCIgYXMgY29uc3QsXG4gICAgcHJvdmlkZXJfc2NoZW1hczoge1xuICAgICAgXCJyZWdpc3RyeS50ZXJyYWZvcm0uaW8vaGFzaGljb3JwL3JhbmRvbVwiOiB7XG4gICAgICAgIHJlc291cmNlX3NjaGVtYXM6IG51bGwsXG4gICAgICAgIGRhdGFfc291cmNlX3NjaGVtYXM6IG51bGwsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcHJvdmlkZXJfdmVyc2lvbnM6IHtcbiAgICAgIFwicmVnaXN0cnkudGVycmFmb3JtLmlvL2hhc2hpY29ycC9yYW5kb21cIjogXCIzLjEuM1wiLFxuICAgIH0sXG4gICAgY2xpX25hbWU6IFwidGVycmFmb3JtXCIsXG4gICAgY2xpX3ZlcnNpb246IFwiMS43LjVcIixcbiAgfSxcbn07XG5cbmRlc2NyaWJlKFwidGFyZ2V0VmVyc2lvbnMgdGhyZWFkaW5nIHRocm91Z2ggJ2Nka3RuIGdldCdcIiwgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBtb2NrUmVhZFNjaGVtYS5tb2NrUmVzZXQoKTtcbiAgICBtb2NrUmVhZFNjaGVtYS5tb2NrUmVzb2x2ZWRWYWx1ZShmYWtlU2NoZW1hKTtcbiAgfSk7XG5cbiAgaXQoXCJwYXNzZXMgR2V0T3B0aW9ucy50YXJnZXRWZXJzaW9ucyB0aHJvdWdoIHRvIHJlYWRTY2hlbWFcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHdvcmtkaXIgPSB0bXAoXCJ0YXJnZXQtdmVyc2lvbnMtdGhyZWFkLnRlc3RcIik7XG4gICAgY29uc3QgdGFyZ2V0VmVyc2lvbnM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zID0geyB0ZXJyYWZvcm06IFwiPj0xLjUuN1wiIH07XG4gICAgY29uc3Qgb3B0aW9uczogR2V0T3B0aW9ucyA9IHtcbiAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgdGFyZ2V0VmVyc2lvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihvcHRpb25zLCBcIi9zb21lL2NhY2hlL3BhdGhcIik7XG4gICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcblxuICAgIGV4cGVjdChtb2NrUmVhZFNjaGVtYSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICBbY29uc3RyYWludF0sXG4gICAgICBcIi9zb21lL2NhY2hlL3BhdGhcIixcbiAgICAgIHRhcmdldFZlcnNpb25zLFxuICAgICk7XG4gIH0pO1xuXG4gIGl0KFwib21pdHMgdGFyZ2V0VmVyc2lvbnMgZnJvbSB0aGUgcmVhZFNjaGVtYSBjYWxsIHdoZW4gbm90IGNvbmZpZ3VyZWRcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHdvcmtkaXIgPSB0bXAoXCJ0YXJnZXQtdmVyc2lvbnMtYWJzZW50LnRlc3RcIik7XG4gICAgY29uc3Qgb3B0aW9uczogR2V0T3B0aW9ucyA9IHtcbiAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgIH07XG5cbiAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIob3B0aW9ucyk7XG4gICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcblxuICAgIGV4cGVjdChtb2NrUmVhZFNjaGVtYSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICBbY29uc3RyYWludF0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoXCJzdGFtcHMgY29uc3RyYWludHMuanNvbiB3aXRoIHRhcmdldFZlcnNpb25zICsgY2xpIGlkZW50aXR5LCBhbmQgb2xkZXIgY29uc3RyYWludHMuanNvbiBmaWxlcyB3aXRob3V0IHRob3NlIGZpZWxkcyBhcmUgc3RpbGwgdHJlYXRlZCBhcyBmcmVzaCAobm8gZm9yY2VkIHJlZ2VuZXJhdGlvbilcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHdvcmtkaXIgPSB0bXAoXCJ0YXJnZXQtdmVyc2lvbnMtc3RhbXAudGVzdFwiKTtcbiAgICBjb25zdCB0YXJnZXRWZXJzaW9uczogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMgPSB7IHRlcnJhZm9ybTogXCI+PTEuNS43XCIgfTtcbiAgICBjb25zdCBvcHRpb25zOiBHZXRPcHRpb25zID0ge1xuICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICB0YXJnZXRWZXJzaW9ucyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKG9wdGlvbnMpO1xuICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG5cbiAgICBjb25zdCBjb25zdHJhaW50c0ZpbGUgPSBKU09OLnBhcnNlKFxuICAgICAgYXdhaXQgZnMucmVhZEZpbGUocGF0aC5qb2luKHdvcmtkaXIsIFwiY29uc3RyYWludHMuanNvblwiKSwgXCJ1dGY4XCIpLFxuICAgICk7XG4gICAgZXhwZWN0KGNvbnN0cmFpbnRzRmlsZS50YXJnZXRWZXJzaW9ucykudG9FcXVhbCh0YXJnZXRWZXJzaW9ucyk7XG4gICAgZXhwZWN0KGNvbnN0cmFpbnRzRmlsZS5jbGkpLnRvRXF1YWwoe1xuICAgICAgbmFtZTogXCJ0ZXJyYWZvcm1cIixcbiAgICAgIHZlcnNpb246IFwiMS43LjVcIixcbiAgICB9KTtcblxuICAgIC8vIFJld3JpdGUgY29uc3RyYWludHMuanNvbiBhcyBpdCB3b3VsZCBoYXZlIGxvb2tlZCBiZWZvcmUgdGhpcyBmZWF0dXJlXG4gICAgLy8gbGFuZGVkIChubyB0YXJnZXRWZXJzaW9ucy9jbGkgZmllbGRzKSwga2VlcGluZyB0aGUgcmVzdCBpZGVudGljYWwgLVxuICAgIC8vIHRoaXMgc2ltdWxhdGVzIHJlLXJ1bm5pbmcgYGNka3RuIGdldGAgYWdhaW5zdCBhbiBvdXRwdXQgZGlyZWN0b3J5XG4gICAgLy8gZ2VuZXJhdGVkIGJ5IGFuIG9sZGVyIGNka3RuIHZlcnNpb24uXG4gICAgY29uc3Qge1xuICAgICAgdGFyZ2V0VmVyc2lvbnM6IF90dixcbiAgICAgIGNsaTogX2NsaSxcbiAgICAgIC4uLmxlZ2FjeUNvbnN0cmFpbnRzXG4gICAgfSA9IGNvbnN0cmFpbnRzRmlsZTtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgICBwYXRoLmpvaW4od29ya2RpciwgXCJjb25zdHJhaW50cy5qc29uXCIpLFxuICAgICAgSlNPTi5zdHJpbmdpZnkobGVnYWN5Q29uc3RyYWludHMsIG51bGwsIDIpLFxuICAgICk7XG5cbiAgICBjb25zdCBtYWtlcjIgPSBuZXcgQ29uc3RydWN0c01ha2VyKG9wdGlvbnMpO1xuICAgIGNvbnN0IHRvR2VuZXJhdGUgPSBhd2FpdCBtYWtlcjIuZmlsdGVyQWxyZWFkeUdlbmVyYXRlZChbY29uc3RyYWludF0pO1xuICAgIGV4cGVjdCh0b0dlbmVyYXRlKS50b0VxdWFsKFtdKTtcbiAgfSk7XG5cbiAgaXQoXCJ0aHJlYWRzIGEgcGFydGlhbCB0YXJnZXRWZXJzaW9ucyAoc2luZ2xlIHByb2R1Y3QpIHRocm91Z2ggdW5jaGFuZ2VkIGFuZCBzdGFtcHMgaXQgdmVyYmF0aW1cIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHdvcmtkaXIgPSB0bXAoXCJ0YXJnZXQtdmVyc2lvbnMtcGFydGlhbC50ZXN0XCIpO1xuICAgIGNvbnN0IHRhcmdldFZlcnNpb25zOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyA9IHsgb3BlbnRvZnU6IFwiPj0xLjExLjBcIiB9O1xuICAgIGNvbnN0IG9wdGlvbnM6IEdldE9wdGlvbnMgPSB7XG4gICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgIHRhcmdldFZlcnNpb25zLFxuICAgIH07XG5cbiAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIob3B0aW9ucyk7XG4gICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcblxuICAgIGV4cGVjdChtb2NrUmVhZFNjaGVtYSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICBbY29uc3RyYWludF0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0YXJnZXRWZXJzaW9ucyxcbiAgICApO1xuXG4gICAgLy8gVGhlIHN0YW1wIHJlY29yZHMgZXhhY3RseSB3aGF0IHRoZSBwcm9qZWN0IGRlY2xhcmVkIC0gbm8gdGVycmFmb3JtXG4gICAgLy8gZGVmYXVsdCBpcyBpbmplY3RlZCBhdCBnZXQtdGltZSAoZGVmYXVsdGluZyBmb3IgdGhlIHVuZGVjbGFyZWRcbiAgICAvLyBwcm9kdWN0IGhhcHBlbnMgb25seSBhdCBzeW50aC10aW1lLCBpbiByZXNvbHZlVGFyZ2V0VmVyc2lvbnMpLlxuICAgIGNvbnN0IGNvbnN0cmFpbnRzRmlsZSA9IEpTT04ucGFyc2UoXG4gICAgICBhd2FpdCBmcy5yZWFkRmlsZShwYXRoLmpvaW4od29ya2RpciwgXCJjb25zdHJhaW50cy5qc29uXCIpLCBcInV0ZjhcIiksXG4gICAgKTtcbiAgICBleHBlY3QoY29uc3RyYWludHNGaWxlLnRhcmdldFZlcnNpb25zKS50b0VxdWFsKHsgb3BlbnRvZnU6IFwiPj0xLjExLjBcIiB9KTtcbiAgfSk7XG5cbiAgaXQoXCJvbWl0cyB0aGUgY2xpIHN0YW1wIHdoZW4gdGhlIGZldGNoZWQgc2NoZW1hIGNhcnJpZXMgbm8gQ0xJIHZlcnNpb24gbWV0YWRhdGFcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHdvcmtkaXIgPSB0bXAoXCJ0YXJnZXQtdmVyc2lvbnMtbm8tY2xpLnRlc3RcIik7XG4gICAgY29uc3Qge1xuICAgICAgY2xpX25hbWU6IF9jbGlOYW1lLFxuICAgICAgY2xpX3ZlcnNpb246IF9jbGlWZXJzaW9uLFxuICAgICAgLi4uc2NoZW1hV2l0aG91dENsaVxuICAgIH0gPSBmYWtlU2NoZW1hLnByb3ZpZGVyU2NoZW1hO1xuICAgIG1vY2tSZWFkU2NoZW1hLm1vY2tSZXNvbHZlZFZhbHVlKHsgcHJvdmlkZXJTY2hlbWE6IHNjaGVtYVdpdGhvdXRDbGkgfSk7XG5cbiAgICBjb25zdCB0YXJnZXRWZXJzaW9uczogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMgPSB7IHRlcnJhZm9ybTogXCI+PTEuNS43XCIgfTtcbiAgICBjb25zdCBvcHRpb25zOiBHZXRPcHRpb25zID0ge1xuICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICB0YXJnZXRWZXJzaW9ucyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKG9wdGlvbnMpO1xuICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG5cbiAgICBjb25zdCBjb25zdHJhaW50c0ZpbGUgPSBKU09OLnBhcnNlKFxuICAgICAgYXdhaXQgZnMucmVhZEZpbGUocGF0aC5qb2luKHdvcmtkaXIsIFwiY29uc3RyYWludHMuanNvblwiKSwgXCJ1dGY4XCIpLFxuICAgICk7XG4gICAgZXhwZWN0KGNvbnN0cmFpbnRzRmlsZS5jbGkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoY29uc3RyYWludHNGaWxlLnRhcmdldFZlcnNpb25zKS50b0VxdWFsKHRhcmdldFZlcnNpb25zKTtcbiAgfSk7XG5cbiAgaXQoXCJkb2VzIG5vdCBmb3JjZSByZWdlbmVyYXRpb24gd2hlbiB0YXJnZXRWZXJzaW9ucyBjaGFuZ2UgYmV0d2VlbiBydW5zXCIsIGFzeW5jICgpID0+IHtcbiAgICAvLyBUaGUgc3RhbXAgaXMgZGlhZ25vc3RpYy1vbmx5OiBwZXIgdGhlIEdldE9wdGlvbnMudGFyZ2V0VmVyc2lvbnMgZG9jLFxuICAgIC8vIHRhcmdldFZlcnNpb25zIG5ldmVyIGZpbHRlcnMgY29kZWdlbiAodGhlIGZ1bGwgc2NoZW1hIHN1cmZhY2UgaXNcbiAgICAvLyBhbHdheXMgZ2VuZXJhdGVkKSwgc28gZnJlc2huZXNzIG9ubHkgY29tcGFyZXMgdGhlIHByb3ZpZGVycyBtYXAgYW5kXG4gICAgLy8gdGhlIGNka3RmIHZlcnNpb24uXG4gICAgY29uc3Qgd29ya2RpciA9IHRtcChcInRhcmdldC12ZXJzaW9ucy1jaGFuZ2UudGVzdFwiKTtcbiAgICBjb25zdCBvcHRpb25zOiBHZXRPcHRpb25zID0ge1xuICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICB0YXJnZXRWZXJzaW9uczogeyB0ZXJyYWZvcm06IFwiPj0xLjUuN1wiIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihvcHRpb25zKTtcbiAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuXG4gICAgY29uc3QgbWFrZXIyID0gbmV3IENvbnN0cnVjdHNNYWtlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgdGFyZ2V0VmVyc2lvbnM6IHsgdGVycmFmb3JtOiBcIj49MS4xMS4wXCIgfSxcbiAgICB9KTtcbiAgICBjb25zdCB0b0dlbmVyYXRlID0gYXdhaXQgbWFrZXIyLmZpbHRlckFscmVhZHlHZW5lcmF0ZWQoW2NvbnN0cmFpbnRdKTtcbiAgICBleHBlY3QodG9HZW5lcmF0ZSkudG9FcXVhbChbXSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKFwidGFyZ2V0VmVyc2lvbnMgcmVhY2hpbmcgZ2VuZXJhdGVkIG1vZHVsZSBiaW5kaW5nc1wiLCAoKSA9PiB7XG4gIGNvbnN0IG1vZHVsZUNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludChcbiAgICBcInRlcnJhZm9ybS1hd3MtbW9kdWxlcy92cGMvYXdzQDMuMTkuMFwiLFxuICApO1xuXG4gIGNvbnN0IGVtaXR0ZWRTb3VyY2VzID0gKGRpcjogc3RyaW5nKTogc3RyaW5nW10gPT5cbiAgICBmcy5yZWFkZGlyU3luYyhkaXIsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KS5mbGF0TWFwKChlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgZnVsbCA9IHBhdGguam9pbihkaXIsIGVudHJ5Lm5hbWUpO1xuICAgICAgaWYgKGVudHJ5LmlzRGlyZWN0b3J5KCkpIHJldHVybiBlbWl0dGVkU291cmNlcyhmdWxsKTtcbiAgICAgIHJldHVybiBlbnRyeS5uYW1lLmVuZHNXaXRoKFwiLnRzXCIpID8gW2ZzLnJlYWRGaWxlU3luYyhmdWxsLCBcInV0ZjhcIildIDogW107XG4gICAgfSk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbW9ja1JlYWRTY2hlbWEubW9ja1Jlc2V0KCk7XG4gICAgY29uc3QgdGFyZ2V0ID0gQ29uc3RydWN0c01ha2VyTW9kdWxlVGFyZ2V0LmZyb20oXG4gICAgICBtb2R1bGVDb25zdHJhaW50LFxuICAgICAgTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICApIGFzIENvbnN0cnVjdHNNYWtlck1vZHVsZVRhcmdldDtcbiAgICBtb2NrUmVhZFNjaGVtYS5tb2NrUmVzb2x2ZWRWYWx1ZSh7XG4gICAgICBtb2R1bGVTY2hlbWE6IHtcbiAgICAgICAgW3RhcmdldC5tb2R1bGVLZXldOiB7IG5hbWU6IHRhcmdldC5uYW1lLCBpbnB1dHM6IFtdLCBvdXRwdXRzOiBbXSB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJsaW5rcyBhbiBPcGVuVG9mdS1vbmx5IHByb2plY3QncyBtb2R1bGVzIHRvIHRoZSBPcGVuVG9mdSByZWdpc3RyeVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgd29ya2RpciA9IHRtcChcInRhcmdldC12ZXJzaW9ucy1tb2R1bGUudGVzdFwiKTtcbiAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoe1xuICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICB0YXJnZXRWZXJzaW9uczogeyBvcGVudG9mdTogXCI+PTEuNi4wXCIgfSxcbiAgICB9KTtcblxuICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFttb2R1bGVDb25zdHJhaW50XSk7XG5cbiAgICBleHBlY3QoZW1pdHRlZFNvdXJjZXMod29ya2Rpcikuam9pbihcIlxcblwiKSkudG9Db250YWluKFxuICAgICAgXCJodHRwczovL3NlYXJjaC5vcGVudG9mdS5vcmcvbW9kdWxlL3RlcnJhZm9ybS1hd3MtbW9kdWxlcy92cGMvYXdzL3YzLjE5LjBcIixcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -15,15 +15,26 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
36
|
+
exports.createTmpHelper = createTmpHelper;
|
|
37
|
+
exports.expectModuleToMatchSnapshot = expectModuleToMatchSnapshot;
|
|
27
38
|
// Copyright (c) HashiCorp, Inc
|
|
28
39
|
// SPDX-License-Identifier: MPL-2.0
|
|
29
40
|
const fs = __importStar(require("fs"));
|
|
@@ -51,7 +62,6 @@ function createTmpHelper() {
|
|
|
51
62
|
return d;
|
|
52
63
|
};
|
|
53
64
|
}
|
|
54
|
-
exports.createTmpHelper = createTmpHelper;
|
|
55
65
|
function expectModuleToMatchSnapshot(testName, testCategory, fixtureNames) {
|
|
56
66
|
test(testName, async () => {
|
|
57
67
|
// Test names become a directory name, so collapse anything that is not
|
|
@@ -82,5 +92,4 @@ function expectModuleToMatchSnapshot(testName, testCategory, fixtureNames) {
|
|
|
82
92
|
});
|
|
83
93
|
});
|
|
84
94
|
}
|
|
85
|
-
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZXQvX190ZXN0c19fL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLHVDQUF5QjtBQUN6Qix1Q0FBeUI7QUFDekIsNENBSXdCO0FBQ3hCLDBEQUFzRDtBQUN0RCwyQ0FBNkI7QUFFN0I7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLGVBQWU7SUFDN0IsTUFBTSxJQUFJLEdBQWEsRUFBRSxDQUFDO0lBQzFCLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDWixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUk7WUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDeEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDYixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQztBQUNKLENBQUM7QUFWRCwwQ0FVQztBQUVELFNBQWdCLDJCQUEyQixDQUN6QyxRQUFnQixFQUNoQixZQUFvQixFQUNwQixZQUFzQjtJQUV0QixJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3hCLHVFQUF1RTtRQUN2RSx3RUFBd0U7UUFDeEUseUVBQXlFO1FBQ3pFLHdFQUF3RTtRQUN4RSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVELE1BQU0sSUFBQSxxQkFBVyxFQUFDLEdBQUcsUUFBUSxPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFdkIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUNuQyxFQUFFLENBQUMsWUFBWSxDQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLEVBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FDekMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxtQ0FBeUIsQ0FBQztnQkFDL0MsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLElBQUksRUFBRSxRQUFRO2dCQUNkLEdBQUcsRUFBRSxRQUFRO2FBQ2QsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUUxQyxNQUFNLEtBQUssR0FBRyxJQUFJLGtDQUFlLENBQy9CO2dCQUNFLGVBQWUsRUFBRSxPQUFPO2dCQUN4QixjQUFjLEVBQUUsa0JBQVEsQ0FBQyxVQUFVO2FBQ3BDLEVBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FDMUQsQ0FBQztZQUNGLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFFbkMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsRUFDdkMsT0FBTyxDQUNSLENBQUM7WUFDRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUEvQ0Qsa0VBK0NDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQge1xuICBMYW5ndWFnZSxcbiAgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludCxcbiAgd2l0aFRlbXBEaXIsXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0c01ha2VyIH0gZnJvbSBcIi4uL2NvbnN0cnVjdHMtbWFrZXJcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcGVyLXRlc3QtZmlsZSB0ZW1wLWRpciBoZWxwZXIuXG4gKlxuICogUmV0dXJucyBhIGB0bXAocHJlZml4KWAgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIGEgdW5pcXVlbHktbmFtZWQgZGlyZWN0b3J5XG4gKiB1bmRlciBgb3MudG1wZGlyKClgIGFuZCB0cmFja3MgaXQuIEFuIGBhZnRlckFsbGAgaG9vayBpcyByZWdpc3RlcmVkIG9uXG4gKiB0aGUgY2FsbGluZyB0ZXN0IGZpbGUncyBzY29wZTsgd2hlbiB0aGUgZmlsZSBmaW5pc2hlcyBydW5uaW5nLCBldmVyeVxuICogdHJhY2tlZCBkaXJlY3RvcnkgaXMgcmVtb3ZlZCAocmVjdXJzaXZlbHksIGZvcmNlKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRtcEhlbHBlcigpOiAocHJlZml4OiBzdHJpbmcpID0+IHN0cmluZyB7XG4gIGNvbnN0IGRpcnM6IHN0cmluZ1tdID0gW107XG4gIGFmdGVyQWxsKCgpID0+IHtcbiAgICBmb3IgKGNvbnN0IGQgb2YgZGlycykgZnMucm1TeW5jKGQsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgfSk7XG4gIHJldHVybiAocHJlZml4OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBkID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCBwcmVmaXgpKTtcbiAgICBkaXJzLnB1c2goZCk7XG4gICAgcmV0dXJuIGQ7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBlY3RNb2R1bGVUb01hdGNoU25hcHNob3QoXG4gIHRlc3ROYW1lOiBzdHJpbmcsXG4gIHRlc3RDYXRlZ29yeTogc3RyaW5nLFxuICBmaXh0dXJlTmFtZXM6IHN0cmluZ1tdLFxuKSB7XG4gIHRlc3QodGVzdE5hbWUsIGFzeW5jICgpID0+IHtcbiAgICAvLyBUZXN0IG5hbWVzIGJlY29tZSBhIGRpcmVjdG9yeSBuYW1lLCBzbyBjb2xsYXBzZSBhbnl0aGluZyB0aGF0IGlzIG5vdFxuICAgIC8vIGZpbGVuYW1lLXNhZmUuIFRoZSBwcmV2aW91cyAvXFxzKi8gbWF0Y2hlZCB0aGUgZW1wdHkgc3RyaW5nIGF0IGluZGV4IDBcbiAgICAvLyAobm8gZ2xvYmFsIGZsYWcgZWl0aGVyKSwgd2hpY2ggb25seSBwcmVwZW5kZWQgYSBcIi1cIiBhbmQgbGVmdCBzcGFjZXMgLS1cbiAgICAvLyBhbmQgY2hhcmFjdGVycyBsaWtlIFwiKlwiIGluIGEgdGVzdCB0aXRsZSBhcmUgaWxsZWdhbCBpbiBXaW5kb3dzIHBhdGhzLlxuICAgIGNvbnN0IHNhZmVOYW1lID0gdGVzdE5hbWUucmVwbGFjZSgvW15hLXpBLVowLTkuXy1dKy9nLCBcIi1cIik7XG4gICAgYXdhaXQgd2l0aFRlbXBEaXIoYCR7c2FmZU5hbWV9LnRlc3RgLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjdXJkaXIgPSBwcm9jZXNzLmN3ZCgpO1xuICAgICAgZnMubWtkaXJTeW5jKFwibW9kdWxlXCIpO1xuXG4gICAgICBmaXh0dXJlTmFtZXMuZm9yRWFjaCgoZml4dHVyZU5hbWUpID0+IHtcbiAgICAgICAgZnMuY29weUZpbGVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIHRlc3RDYXRlZ29yeSwgXCJmaXh0dXJlc1wiLCBmaXh0dXJlTmFtZSksXG4gICAgICAgICAgcGF0aC5qb2luKGN1cmRpciwgXCJtb2R1bGVcIiwgZml4dHVyZU5hbWUpLFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludCh7XG4gICAgICAgIHNvdXJjZTogXCIuL21vZHVsZVwiLFxuICAgICAgICBuYW1lOiBcIm1vZHVsZVwiLFxuICAgICAgICBmcW46IFwibW9kdWxlXCIsXG4gICAgICB9KTtcblxuICAgICAgZnMubWtkaXJTeW5jKFwid29ya1wiKTtcbiAgICAgIGNvbnN0IHdvcmtkaXIgPSBwYXRoLmpvaW4oY3VyZGlyLCBcIndvcmtcIik7XG5cbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihcbiAgICAgICAge1xuICAgICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvY2Vzcy5lbnYuQ0RLVEZfRVhQRVJJTUVOVEFMX1BST1ZJREVSX1NDSEVNQV9DQUNIRV9QQVRILFxuICAgICAgKTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG5cbiAgICAgIGNvbnN0IG91dHB1dCA9IGZzLnJlYWRGaWxlU3luYyhcbiAgICAgICAgcGF0aC5qb2luKHdvcmtkaXIsIFwibW9kdWxlcy9tb2R1bGUudHNcIiksXG4gICAgICAgIFwidXRmLThcIixcbiAgICAgICk7XG4gICAgICBleHBlY3Qob3V0cHV0KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iXX0=
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZXQvX190ZXN0c19fL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsMENBVUM7QUFFRCxrRUErQ0M7QUEvRUQsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFDekIsdUNBQXlCO0FBQ3pCLDRDQUl3QjtBQUN4QiwwREFBc0Q7QUFDdEQsMkNBQTZCO0FBRTdCOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixlQUFlO0lBQzdCLE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUMxQixRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ1osS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJO1lBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3hCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2IsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsMkJBQTJCLENBQ3pDLFFBQWdCLEVBQ2hCLFlBQW9CLEVBQ3BCLFlBQXNCO0lBRXRCLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEIsdUVBQXVFO1FBQ3ZFLHdFQUF3RTtRQUN4RSx5RUFBeUU7UUFDekUsd0VBQXdFO1FBQ3hFLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDNUQsTUFBTSxJQUFBLHFCQUFXLEVBQUMsR0FBRyxRQUFRLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtZQUMvQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDN0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV2QixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ25DLEVBQUUsQ0FBQyxZQUFZLENBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsRUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUN6QyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLFVBQVUsR0FBRyxJQUFJLG1DQUF5QixDQUFDO2dCQUMvQyxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsR0FBRyxFQUFFLFFBQVE7YUFDZCxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRTFDLE1BQU0sS0FBSyxHQUFHLElBQUksa0NBQWUsQ0FDL0I7Z0JBQ0UsZUFBZSxFQUFFLE9BQU87Z0JBQ3hCLGNBQWMsRUFBRSxrQkFBUSxDQUFDLFVBQVU7YUFDcEMsRUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUMxRCxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUVuQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxFQUN2QyxPQUFPLENBQ1IsQ0FBQztZQUNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0IHtcbiAgTGFuZ3VhZ2UsXG4gIFRlcnJhZm9ybU1vZHVsZUNvbnN0cmFpbnQsXG4gIHdpdGhUZW1wRGlyLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlciB9IGZyb20gXCIuLi9jb25zdHJ1Y3RzLW1ha2VyXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHBlci10ZXN0LWZpbGUgdGVtcC1kaXIgaGVscGVyLlxuICpcbiAqIFJldHVybnMgYSBgdG1wKHByZWZpeClgIGZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBhIHVuaXF1ZWx5LW5hbWVkIGRpcmVjdG9yeVxuICogdW5kZXIgYG9zLnRtcGRpcigpYCBhbmQgdHJhY2tzIGl0LiBBbiBgYWZ0ZXJBbGxgIGhvb2sgaXMgcmVnaXN0ZXJlZCBvblxuICogdGhlIGNhbGxpbmcgdGVzdCBmaWxlJ3Mgc2NvcGU7IHdoZW4gdGhlIGZpbGUgZmluaXNoZXMgcnVubmluZywgZXZlcnlcbiAqIHRyYWNrZWQgZGlyZWN0b3J5IGlzIHJlbW92ZWQgKHJlY3Vyc2l2ZWx5LCBmb3JjZSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUbXBIZWxwZXIoKTogKHByZWZpeDogc3RyaW5nKSA9PiBzdHJpbmcge1xuICBjb25zdCBkaXJzOiBzdHJpbmdbXSA9IFtdO1xuICBhZnRlckFsbCgoKSA9PiB7XG4gICAgZm9yIChjb25zdCBkIG9mIGRpcnMpIGZzLnJtU3luYyhkLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gIH0pO1xuICByZXR1cm4gKHByZWZpeDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZCA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgcHJlZml4KSk7XG4gICAgZGlycy5wdXNoKGQpO1xuICAgIHJldHVybiBkO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwZWN0TW9kdWxlVG9NYXRjaFNuYXBzaG90KFxuICB0ZXN0TmFtZTogc3RyaW5nLFxuICB0ZXN0Q2F0ZWdvcnk6IHN0cmluZyxcbiAgZml4dHVyZU5hbWVzOiBzdHJpbmdbXSxcbikge1xuICB0ZXN0KHRlc3ROYW1lLCBhc3luYyAoKSA9PiB7XG4gICAgLy8gVGVzdCBuYW1lcyBiZWNvbWUgYSBkaXJlY3RvcnkgbmFtZSwgc28gY29sbGFwc2UgYW55dGhpbmcgdGhhdCBpcyBub3RcbiAgICAvLyBmaWxlbmFtZS1zYWZlLiBUaGUgcHJldmlvdXMgL1xccyovIG1hdGNoZWQgdGhlIGVtcHR5IHN0cmluZyBhdCBpbmRleCAwXG4gICAgLy8gKG5vIGdsb2JhbCBmbGFnIGVpdGhlciksIHdoaWNoIG9ubHkgcHJlcGVuZGVkIGEgXCItXCIgYW5kIGxlZnQgc3BhY2VzIC0tXG4gICAgLy8gYW5kIGNoYXJhY3RlcnMgbGlrZSBcIipcIiBpbiBhIHRlc3QgdGl0bGUgYXJlIGlsbGVnYWwgaW4gV2luZG93cyBwYXRocy5cbiAgICBjb25zdCBzYWZlTmFtZSA9IHRlc3ROYW1lLnJlcGxhY2UoL1teYS16QS1aMC05Ll8tXSsvZywgXCItXCIpO1xuICAgIGF3YWl0IHdpdGhUZW1wRGlyKGAke3NhZmVOYW1lfS50ZXN0YCwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY3VyZGlyID0gcHJvY2Vzcy5jd2QoKTtcbiAgICAgIGZzLm1rZGlyU3luYyhcIm1vZHVsZVwiKTtcblxuICAgICAgZml4dHVyZU5hbWVzLmZvckVhY2goKGZpeHR1cmVOYW1lKSA9PiB7XG4gICAgICAgIGZzLmNvcHlGaWxlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCB0ZXN0Q2F0ZWdvcnksIFwiZml4dHVyZXNcIiwgZml4dHVyZU5hbWUpLFxuICAgICAgICAgIHBhdGguam9pbihjdXJkaXIsIFwibW9kdWxlXCIsIGZpeHR1cmVOYW1lKSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybU1vZHVsZUNvbnN0cmFpbnQoe1xuICAgICAgICBzb3VyY2U6IFwiLi9tb2R1bGVcIixcbiAgICAgICAgbmFtZTogXCJtb2R1bGVcIixcbiAgICAgICAgZnFuOiBcIm1vZHVsZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGZzLm1rZGlyU3luYyhcIndvcmtcIik7XG4gICAgICBjb25zdCB3b3JrZGlyID0gcGF0aC5qb2luKGN1cmRpciwgXCJ3b3JrXCIpO1xuXG4gICAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoXG4gICAgICAgIHtcbiAgICAgICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICAgIH0sXG4gICAgICAgIHByb2Nlc3MuZW52LkNES1RGX0VYUEVSSU1FTlRBTF9QUk9WSURFUl9TQ0hFTUFfQ0FDSEVfUEFUSCxcbiAgICAgICk7XG4gICAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuXG4gICAgICBjb25zdCBvdXRwdXQgPSBmcy5yZWFkRmlsZVN5bmMoXG4gICAgICAgIHBhdGguam9pbih3b3JrZGlyLCBcIm1vZHVsZXMvbW9kdWxlLnRzXCIpLFxuICAgICAgICBcInV0Zi04XCIsXG4gICAgICApO1xuICAgICAgZXhwZWN0KG91dHB1dCkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
|
|
@@ -70,6 +70,10 @@ export declare class ConstructsMaker {
|
|
|
70
70
|
private readonly codeMakerOutdir;
|
|
71
71
|
private readonly code;
|
|
72
72
|
private versions;
|
|
73
|
+
/** Resource directory names emitted per provider folder during this run */
|
|
74
|
+
emittedResourceFolders: {
|
|
75
|
+
[providerName: string]: string[];
|
|
76
|
+
};
|
|
73
77
|
constructor(options: GetOptions, schemaCachePath?: string | undefined, reportTelemetry?: (payload: {
|
|
74
78
|
targetLanguage: string;
|
|
75
79
|
trackingPayload: Record<string, any>;
|
|
@@ -80,6 +84,19 @@ export declare class ConstructsMaker {
|
|
|
80
84
|
private generateTypescript;
|
|
81
85
|
private updateVersionsFile;
|
|
82
86
|
removeFoldersThatShouldNotExist(constraintsThatShouldExist: TerraformDependencyConstraint[]): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Delete resource directories under `providers/` that this run did not emit, so each provider folder holds
|
|
89
|
+
* exactly the resources in the version it was generated against.
|
|
90
|
+
*
|
|
91
|
+
* Walks only providers present in `emittedResourceFolders`, keeping any provider this run skipped. Within those,
|
|
92
|
+
* removes every subdirectory not emitted and leaves provider-level files (`index.ts`, `lazy-index.ts`) in place.
|
|
93
|
+
* Deletes files, so it must run after `save()` has written the current run's output.
|
|
94
|
+
*
|
|
95
|
+
* TypeScript only: `providers/<name>/<resource>/` maps one-to-one onto the emitted index exports. Other languages
|
|
96
|
+
* co-locate providers and modules in the same folders, which makes a dropped resource indistinguishable from a
|
|
97
|
+
* hand-written construct.
|
|
98
|
+
*/
|
|
99
|
+
removeOrphanedResourceFolders(): Promise<void>;
|
|
83
100
|
private emitConstraintsFile;
|
|
84
101
|
private generateJsiiLanguage;
|
|
85
102
|
getSchemas(targets: TerraformDependencyConstraint[]): Promise<import("@cdktn/provider-schema/build/read").Schema>;
|