@cdktn/provider-schema 0.24.0-pre.9 → 0.24.0-pre.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.spec.swcrc +22 -0
  2. package/LICENSE +355 -0
  3. package/build/__tests__/cache.test.d.ts +2 -0
  4. package/build/__tests__/cache.test.d.ts.map +1 -0
  5. package/build/__tests__/cache.test.js +77 -0
  6. package/build/__tests__/emission-check.test.d.ts +2 -0
  7. package/build/__tests__/emission-check.test.d.ts.map +1 -0
  8. package/build/__tests__/emission-check.test.js +96 -0
  9. package/build/__tests__/provider-schema.test.js +25 -5
  10. package/build/__tests__/provider-schema.unit.test.js +13 -1
  11. package/build/__tests__/read-emission-gap-warning.unit.test.d.ts +2 -0
  12. package/build/__tests__/read-emission-gap-warning.unit.test.d.ts.map +1 -0
  13. package/build/__tests__/read-emission-gap-warning.unit.test.js +80 -0
  14. package/build/__tests__/warn-schema-emission-gaps.unit.test.d.ts +2 -0
  15. package/build/__tests__/warn-schema-emission-gaps.unit.test.d.ts.map +1 -0
  16. package/build/__tests__/warn-schema-emission-gaps.unit.test.js +55 -0
  17. package/build/cache.d.ts +1 -1
  18. package/build/cache.d.ts.map +1 -1
  19. package/build/cache.js +11 -5
  20. package/build/emission-check.d.ts +28 -0
  21. package/build/emission-check.d.ts.map +1 -0
  22. package/build/emission-check.js +132 -0
  23. package/build/provider-schema.d.ts.map +1 -1
  24. package/build/provider-schema.js +85 -2
  25. package/build/read.d.ts +2 -2
  26. package/build/read.d.ts.map +1 -1
  27. package/build/read.js +32 -5
  28. package/build/util.d.ts +2 -3
  29. package/build/util.d.ts.map +1 -1
  30. package/jest.config.js +15 -11
  31. package/package.json +23 -24
  32. package/src/__tests__/__snapshots__/provider-schema.test.ts.snap +38 -28
@@ -29,14 +29,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29
29
  };
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
31
  const path = __importStar(require("path"));
32
- const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
32
+ const safe_stable_stringify_1 = __importDefault(require("safe-stable-stringify"));
33
33
  const commons_1 = require("@cdktn/commons");
34
34
  const provider_schema_1 = require("../provider-schema");
35
35
  function sanitizeJson(value) {
36
36
  value["format_version"] = "STUBBED VERSION";
37
- return (0, json_stable_stringify_1.default)(value, {
38
- space: 2,
39
- });
37
+ // cli_name/cli_version stamp whatever binary fetched the schema and vary
38
+ // by environment
39
+ if ("cli_name" in value)
40
+ value["cli_name"] = "STUBBED CLI";
41
+ if ("cli_version" in value)
42
+ value["cli_version"] = "STUBBED VERSION";
43
+ return (0, safe_stable_stringify_1.default)(value, null, 2);
40
44
  }
41
45
  describe("readSchema", () => {
42
46
  it("generates a single provider schema", async () => {
@@ -170,6 +174,22 @@ describe("sanitizeProviderSchema", () => {
170
174
  },
171
175
  },
172
176
  data_source_schemas: {},
177
+ ephemeral_resource_schemas: {
178
+ null_ephemeral: {
179
+ version: 0,
180
+ block: {
181
+ attributes: {
182
+ correct: {
183
+ type: ["list", "string"],
184
+ },
185
+ incorrect: {
186
+ type: ["list", "string", "list", "string"],
187
+ },
188
+ },
189
+ block_types: {},
190
+ },
191
+ },
192
+ },
173
193
  },
174
194
  },
175
195
  };
@@ -177,4 +197,4 @@ describe("sanitizeProviderSchema", () => {
177
197
  expect(result).toMatchSnapshot();
178
198
  });
179
199
  });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItc2NoZW1hLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL3Byb3ZpZGVyLXNjaGVtYS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5DLDJDQUE2QjtBQUM3QixrRkFBb0Q7QUFDcEQsNENBT3dCO0FBQ3hCLHdEQUk0QjtBQUU1QixTQUFTLFlBQVksQ0FBQyxLQUFVO0lBQzlCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO0lBQzVDLE9BQU8sSUFBQSwrQkFBZSxFQUFDLEtBQUssRUFBRTtRQUM1QixLQUFLLEVBQUUsQ0FBQztLQUNULENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixFQUFFLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxxQ0FBMkIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLElBQUksdUNBQTZCLENBQzlDLFFBQVEsRUFDUixrQkFBUSxDQUFDLFVBQVUsQ0FDcEIsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxvQ0FBa0IsRUFBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDakQsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRVgsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ2hELE1BQU0sTUFBTSxHQUFHLElBQUksbUNBQXlCLENBQzFDLDJEQUEyRCxDQUM1RCxDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxxQ0FBMkIsQ0FBQyxNQUFN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RixJQUFJLEVBQUUsUUFBUTt3Q0FDZCxRQUFRLEVBQUUsSUFBSTtxQ0FDZjtvQ0FDRCxPQUFPLEVBQUU7d0NBQ1AsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztxQ0FDekI7b0NBQ0QsU0FBUyxFQUFFO3dDQUNULElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBUTtxQ0FDbEQ7aUNBQ0Y7Z0NBQ0QsV0FBVyxFQUFFO29DQUNYLFFBQVEsRUFBRTt3Q0FDUixZQUFZLEVBQUUsUUFBUTt3Q0FDdEIsS0FBSyxFQUFFOzRDQUNMLFVBQVUsRUFBRTtnREFDVixRQUFRLEVBQUU7b0RBQ1IsSUFBSSxFQUFFLFFBQVE7b0RBQ2QsUUFBUSxFQUFFLElBQUk7aURBQ2Y7Z0RBQ0QsT0FBTyxFQUFFO29EQUNQLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7aURBQ3pCO2dEQUNELFNBQVMsRUFBRTtvREFDVCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQVE7aURBQ2xEOzZDQUNGOzRDQUNELFdBQVcsRUFBRSxFQUFFO3lDQUNoQjtxQ0FDRjtpQ0FDRjs2QkFDRjt5QkFDRjtxQkFDRjtvQkFDRCxtQkFBbUIsRUFBRSxFQUFFO2lCQUN4QjthQUNGO1NBQ0YsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLElBQUEsd0NBQXNCLEVBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgc3RhYmxlU3RyaW5naWZ5IGZyb20gXCJqc29uLXN0YWJsZS1zdHJpbmdpZnlcIjtcbmltcG9ydCB7XG4gIFRlcnJhZm9ybU1vZHVsZUNvbnN0cmFpbnQsXG4gIFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCxcbiAgQ29uc3RydWN0c01ha2VyTW9kdWxlVGFyZ2V0LFxuICBDb25zdHJ1Y3RzTWFrZXJQcm92aWRlclRhcmdldCxcbiAgTGFuZ3VhZ2UsXG4gIFByb3ZpZGVyU2NoZW1hLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7XG4gIHJlYWRNb2R1bGVTY2hlbWEsXG4gIHJlYWRQcm92aWRlclNjaGVtYSxcbiAgc2FuaXRpemVQcm92aWRlclNjaGVtYSxcbn0gZnJvbSBcIi4uL3Byb3ZpZGVyLXNjaGVtYVwiO1xuXG5mdW5jdGlvbiBzYW5pdGl6ZUpzb24odmFsdWU6IGFueSkge1xuICB2YWx1ZVtcImZvcm1hdF92ZXJzaW9uXCJdID0gXCJTVFVCQkVEIFZFUlNJT05cIjtcbiAgcmV0dXJuIHN0YWJsZVN0cmluZ2lmeSh2YWx1ZSwge1xuICAgIHNwYWNlOiAyLFxuICB9KTtcbn1cblxuZGVzY3JpYmUoXCJyZWFkU2NoZW1hXCIsICgpID0+IHtcbiAgaXQoXCJnZW5lcmF0ZXMgYSBzaW5nbGUgcHJvdmlkZXIgc2NoZW1hXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwcm92aWRlciA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoXCJoYXNoaWNvcnAvbnVsbEAzLjEuMFwiKTtcbiAgICBjb25zdCB0YXJnZXQgPSBuZXcgQ29uc3RydWN0c01ha2VyUHJvdmlkZXJUYXJnZXQoXG4gICAgICBwcm92aWRlcixcbiAgICAgIExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWFkUHJvdmlkZXJTY2hlbWEodGFyZ2V0KTtcbiAgICBleHBlY3Qoc2FuaXRpemVKc29uKHJlc3VsdCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9LCAxMjAwMDApO1xuXG4gIGl0KFwiZ2VuZXJhdGVzIGEgc2luZ2xlIG1vZHVsZSBzY2hlbWFcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1vZHVsZSA9IG5ldyBUZXJyYWZvcm1Nb2R1bGVDb25zdHJhaW50KFxuICAgICAgXCJ0ZXJyYWZvcm0tYXdzLW1vZHVsZXMvaWFtL2F3cy8vbW9kdWxlcy9pYW0tYWNjb3VudEAzLjEyLjBcIixcbiAgICApO1xuICAgIGNvbnN0IHRhcmdldCA9IG5ldyBDb25zdHJ1Y3RzTWFrZXJNb2R1bGVUYXJnZXQobW9kdWxlLCBMYW5ndWFnZS5UWVBFU0NSSVBUKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWFkTW9kdWxlU2NoZW1hKHRhcmdldCk7XG4gICAgZXhwZWN0KHNhbml0aXplSnNvbihyZXN1bHQpKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSwgMTIwMDAwKTtcblxuICBpdChcImdlbmVyYXRlcyBhIG1vcmUgY29tcGxleCBzY2hlbWFcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1vZHVsZSA9IG5ldyBUZXJyYWZvcm1Nb2R1bGVDb25zdHJhaW50KFxuICAgICAgXCJ0ZXJyYWZvcm0tYXdzLW1vZHVsZXMvZWtzL2F3c0A3LjAuMVwiLFxuICAgICk7XG4gICAgY29uc3QgdGFyZ2V0ID0gbmV3IENvbnN0cnVjdHNNYWtlck1vZHVsZVRhcmdldChtb2R1bGUsIExhbmd1YWdlLlRZUEVTQ1JJUFQpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlYWRNb2R1bGVTY2hlbWEodGFyZ2V0KTtcbiAgICBleHBlY3Qoc2FuaXRpemVKc29uKHJlc3VsdCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9LCAxMjAwMDApO1xuXG4gIGl0KFwiZ2VuZXJhdGVzIGEgbG9jYWwgbW9kdWxlXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtb2R1bGUgPSBuZXcgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImxvY2FsX21vZHVsZVwiLFxuICAgICAgZnFuOiBcImxvY2FsX21vZHVsZVwiLFxuICAgICAgc291cmNlOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCBcImZpeHR1cmVzXCIsIFwibG9jYWwtbW9kdWxlXCIpLFxuICAgIH0pO1xuICAgIGNvbnN0IHRhcmdldCA9IG5ldyBDb25zdHJ1Y3RzTWFrZXJNb2R1bGVUYXJnZXQobW9kdWxlLCBMYW5ndWFnZS5UWVBFU0NSSVBUKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWFkTW9kdWxlU2NoZW1hKHRhcmdldCk7XG4gICAgZXhwZWN0KHNhbml0aXplSnNvbihyZXN1bHQpKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSwgMTIwMDAwKTtcblxuICBpdChcImdlbmVyYXRlcyBhIGxvY2FsIG1vZHVsZSB3aXRoIGlubGluZSBjb21tZW50cyBpbiB0eXBlIGNvbnN0cmFpbnRzXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtb2R1bGUgPSBuZXcgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImxvY2FsX21vZHVsZVwiLFxuICAgICAgZnFuOiBcImxvY2FsX21vZHVsZVwiLFxuICAgICAgc291cmNlOiBwYXRoLnJlc29sdmUoXG4gICAgICAgIF9fZGlybmFtZSxcbiAgICAgICAgXCJmaXh0dXJlc1wiLFxuICAgICAgICBcImxvY2FsLW1vZHVsZS1pbmxpbmUtY29tbWVudHNcIixcbiAgICAgICksXG4gICAgfSk7XG4gICAgY29uc3QgdGFyZ2V0ID0gbmV3IENvbnN0cnVjdHNNYWtlck1vZHVsZVRhcmdldChtb2R1bGUsIExhbmd1YWdlLlRZUEVTQ1JJUFQpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlYWRNb2R1bGVTY2hlbWEodGFyZ2V0KTtcbiAgICBleHBlY3Qoc2FuaXRpemVKc29uKHJlc3VsdCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9LCAxMjAwMDApO1xuXG4gIGl0KFwiZ2VuZXJhdGVzIGEgbG9jYWwganNvbiBtb2R1bGVcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1vZHVsZSA9IG5ldyBUZXJyYWZvcm1Nb2R1bGVDb25zdHJhaW50KHtcbiAgICAgIG5hbWU6IFwibG9jYWxfbW9kdWxlXCIsXG4gICAgICBmcW46IFwibG9jYWxfbW9kdWxlXCIsXG4gICAgICBzb3VyY2U6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsIFwiZml4dHVyZXNcIiwgXCJsb2NhbC1qc29uLW1vZHVsZVwiKSxcbiAgICB9KTtcbiAgICBjb25zdCB0YXJnZXQgPSBuZXcgQ29uc3RydWN0c01ha2VyTW9kdWxlVGFyZ2V0KG1vZHVsZSwgTGFuZ3VhZ2UuVFlQRVNDUklQVCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVhZE1vZHVsZVNjaGVtYSh0YXJnZXQpO1xuICAgIGV4cGVjdChzYW5pdGl6ZUpzb24ocmVzdWx0KSkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0sIDEyMDAwMCk7XG59KTtcblxuZGVzY3JpYmUoXCJzYW5pdGl6ZVByb3ZpZGVyU2NoZW1hXCIsICgpID0+IHtcbiAgaXQoXCJzYW5pdGl6ZXMgYSBwcm92aWRlciBzY2hlbWFcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHNjaGVtYTogUHJvdmlkZXJTY2hlbWEgPSB7XG4gICAgICBmb3JtYXRfdmVyc2lvbjogXCIwLjFcIiBhcyBjb25zdCxcbiAgICAgIHByb3ZpZGVyX3ZlcnNpb25zOiB7XG4gICAgICAgIFwicmVnaXN0cnkudGVycmFmb3JtLmlvL2hhc2hpY29ycC9udWxsXCI6IFwiMy4xLjBcIixcbiAgICAgIH0sXG4gICAgICBwcm92aWRlcl9zY2hlbWFzOiB7XG4gICAgICAgIFwicmVnaXN0cnkudGVycmFmb3JtLmlvL2hhc2hpY29ycC9udWxsXCI6IHtcbiAgICAgICAgICBwcm92aWRlcjoge1xuICAgICAgICAgICAgdmVyc2lvbjogMCxcbiAgICAgICAgICAgIGJsb2NrOiB7XG4gICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb3JyZWN0OiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwic3RyaW5nXCJdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaW5jb3JyZWN0OiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwic3RyaW5nXCIsIFwibGlzdFwiLCBcInN0cmluZ1wiXSBhcyBhbnksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYmxvY2tfdHlwZXM6IHtcbiAgICAgICAgICAgICAgICB0cmlnZ2Vyczoge1xuICAgICAgICAgICAgICAgICAgbmVzdGluZ19tb2RlOiBcInNpbmdsZVwiLFxuICAgICAgICAgICAgICAgICAgYmxvY2s6IHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIl0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBpbmNvcnJlY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIiwgXCJsaXN0XCIsIFwic3RyaW5nXCJdIGFzIGFueSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBibG9ja190eXBlczoge30sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzb3VyY2Vfc2NoZW1hczoge1xuICAgICAgICAgICAgbnVsbF9yZXNvdXJjZToge1xuICAgICAgICAgICAgICB2ZXJzaW9uOiAwLFxuICAgICAgICAgICAgICBibG9jazoge1xuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgIGNvbXB1dGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGNvcnJlY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogW1wibGlzdFwiLCBcInN0cmluZ1wiXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBpbmNvcnJlY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogW1wibGlzdFwiLCBcInN0cmluZ1wiLCBcImxpc3RcIiwgXCJzdHJpbmdcIl0gYXMgYW55LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGJsb2NrX3R5cGVzOiB7XG4gICAgICAgICAgICAgICAgICB0cmlnZ2Vyczoge1xuICAgICAgICAgICAgICAgICAgICBuZXN0aW5nX21vZGU6IFwic2luZ2xlXCIsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrOiB7XG4gICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVjdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwic3RyaW5nXCJdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY29ycmVjdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwic3RyaW5nXCIsIFwibGlzdFwiLCBcInN0cmluZ1wiXSBhcyBhbnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgYmxvY2tfdHlwZXM6IHt9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRhdGFfc291cmNlX3NjaGVtYXM6IHt9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgcmVzdWx0ID0gc2FuaXRpemVQcm92aWRlclNjaGVtYShzY2hlbWEpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcbn0pO1xuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItc2NoZW1hLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL3Byb3ZpZGVyLXNjaGVtYS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5DLDJDQUE2QjtBQUM3QixrRkFBb0Q7QUFDcEQsNENBT3dCO0FBQ3hCLHdEQUk0QjtBQUU1QixTQUFTLFlBQVksQ0FBQyxLQUFVO0lBQzlCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO0lBQzVDLHlFQUF5RTtJQUN6RSxpQkFBaUI7SUFDakIsSUFBSSxVQUFVLElBQUksS0FBSztRQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxhQUFhLENBQUM7SUFDM0QsSUFBSSxhQUFhLElBQUksS0FBSztRQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxpQkFBaUIsQ0FBQztJQUNyRSxPQUFPLElBQUEsK0JBQWUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixFQUFFLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxxQ0FBMkIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLElBQUksdUNBQTZCLENBQzlDLFFBQVEsRUFDUixrQkFBUSxDQUFDLFVBQVUsQ0FDcEIsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxvQ0FBa0IsRUFBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDakQsQ0FBQyxFQUFFLE1BQU0s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RTt3Q0FDVCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQVE7cUNBQ2xEO2lDQUNGO2dDQUNELFdBQVcsRUFBRSxFQUFFOzZCQUNoQjt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLElBQUEsd0NBQXNCLEVBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgc3RhYmxlU3RyaW5naWZ5IGZyb20gXCJzYWZlLXN0YWJsZS1zdHJpbmdpZnlcIjtcbmltcG9ydCB7XG4gIFRlcnJhZm9ybU1vZHVsZUNvbnN0cmFpbnQsXG4gIFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCxcbiAgQ29uc3RydWN0c01ha2VyTW9kdWxlVGFyZ2V0LFxuICBDb25zdHJ1Y3RzTWFrZXJQcm92aWRlclRhcmdldCxcbiAgTGFuZ3VhZ2UsXG4gIFByb3ZpZGVyU2NoZW1hLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7XG4gIHJlYWRNb2R1bGVTY2hlbWEsXG4gIHJlYWRQcm92aWRlclNjaGVtYSxcbiAgc2FuaXRpemVQcm92aWRlclNjaGVtYSxcbn0gZnJvbSBcIi4uL3Byb3ZpZGVyLXNjaGVtYVwiO1xuXG5mdW5jdGlvbiBzYW5pdGl6ZUpzb24odmFsdWU6IGFueSkge1xuICB2YWx1ZVtcImZvcm1hdF92ZXJzaW9uXCJdID0gXCJTVFVCQkVEIFZFUlNJT05cIjtcbiAgLy8gY2xpX25hbWUvY2xpX3ZlcnNpb24gc3RhbXAgd2hhdGV2ZXIgYmluYXJ5IGZldGNoZWQgdGhlIHNjaGVtYSBhbmQgdmFyeVxuICAvLyBieSBlbnZpcm9ubWVudFxuICBpZiAoXCJjbGlfbmFtZVwiIGluIHZhbHVlKSB2YWx1ZVtcImNsaV9uYW1lXCJdID0gXCJTVFVCQkVEIENMSVwiO1xuICBpZiAoXCJjbGlfdmVyc2lvblwiIGluIHZhbHVlKSB2YWx1ZVtcImNsaV92ZXJzaW9uXCJdID0gXCJTVFVCQkVEIFZFUlNJT05cIjtcbiAgcmV0dXJuIHN0YWJsZVN0cmluZ2lmeSh2YWx1ZSwgbnVsbCwgMik7XG59XG5cbmRlc2NyaWJlKFwicmVhZFNjaGVtYVwiLCAoKSA9PiB7XG4gIGl0KFwiZ2VuZXJhdGVzIGEgc2luZ2xlIHByb3ZpZGVyIHNjaGVtYVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KFwiaGFzaGljb3JwL251bGxAMy4xLjBcIik7XG4gICAgY29uc3QgdGFyZ2V0ID0gbmV3IENvbnN0cnVjdHNNYWtlclByb3ZpZGVyVGFyZ2V0KFxuICAgICAgcHJvdmlkZXIsXG4gICAgICBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVhZFByb3ZpZGVyU2NoZW1hKHRhcmdldCk7XG4gICAgZXhwZWN0KHNhbml0aXplSnNvbihyZXN1bHQpKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSwgMTIwMDAwKTtcblxuICBpdChcImdlbmVyYXRlcyBhIHNpbmdsZSBtb2R1bGUgc2NoZW1hXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtb2R1bGUgPSBuZXcgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludChcbiAgICAgIFwidGVycmFmb3JtLWF3cy1tb2R1bGVzL2lhbS9hd3MvL21vZHVsZXMvaWFtLWFjY291bnRAMy4xMi4wXCIsXG4gICAgKTtcbiAgICBjb25zdCB0YXJnZXQgPSBuZXcgQ29uc3RydWN0c01ha2VyTW9kdWxlVGFyZ2V0KG1vZHVsZSwgTGFuZ3VhZ2UuVFlQRVNDUklQVCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVhZE1vZHVsZVNjaGVtYSh0YXJnZXQpO1xuICAgIGV4cGVjdChzYW5pdGl6ZUpzb24ocmVzdWx0KSkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0sIDEyMDAwMCk7XG5cbiAgaXQoXCJnZW5lcmF0ZXMgYSBtb3JlIGNvbXBsZXggc2NoZW1hXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtb2R1bGUgPSBuZXcgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludChcbiAgICAgIFwidGVycmFmb3JtLWF3cy1tb2R1bGVzL2Vrcy9hd3NANy4wLjFcIixcbiAgICApO1xuICAgIGNvbnN0IHRhcmdldCA9IG5ldyBDb25zdHJ1Y3RzTWFrZXJNb2R1bGVUYXJnZXQobW9kdWxlLCBMYW5ndWFnZS5UWVBFU0NSSVBUKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWFkTW9kdWxlU2NoZW1hKHRhcmdldCk7XG4gICAgZXhwZWN0KHNhbml0aXplSnNvbihyZXN1bHQpKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSwgMTIwMDAwKTtcblxuICBpdChcImdlbmVyYXRlcyBhIGxvY2FsIG1vZHVsZVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbW9kdWxlID0gbmV3IFRlcnJhZm9ybU1vZHVsZUNvbnN0cmFpbnQoe1xuICAgICAgbmFtZTogXCJsb2NhbF9tb2R1bGVcIixcbiAgICAgIGZxbjogXCJsb2NhbF9tb2R1bGVcIixcbiAgICAgIHNvdXJjZTogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCJmaXh0dXJlc1wiLCBcImxvY2FsLW1vZHVsZVwiKSxcbiAgICB9KTtcbiAgICBjb25zdCB0YXJnZXQgPSBuZXcgQ29uc3RydWN0c01ha2VyTW9kdWxlVGFyZ2V0KG1vZHVsZSwgTGFuZ3VhZ2UuVFlQRVNDUklQVCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVhZE1vZHVsZVNjaGVtYSh0YXJnZXQpO1xuICAgIGV4cGVjdChzYW5pdGl6ZUpzb24ocmVzdWx0KSkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0sIDEyMDAwMCk7XG5cbiAgaXQoXCJnZW5lcmF0ZXMgYSBsb2NhbCBtb2R1bGUgd2l0aCBpbmxpbmUgY29tbWVudHMgaW4gdHlwZSBjb25zdHJhaW50c1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbW9kdWxlID0gbmV3IFRlcnJhZm9ybU1vZHVsZUNvbnN0cmFpbnQoe1xuICAgICAgbmFtZTogXCJsb2NhbF9tb2R1bGVcIixcbiAgICAgIGZxbjogXCJsb2NhbF9tb2R1bGVcIixcbiAgICAgIHNvdXJjZTogcGF0aC5yZXNvbHZlKFxuICAgICAgICBfX2Rpcm5hbWUsXG4gICAgICAgIFwiZml4dHVyZXNcIixcbiAgICAgICAgXCJsb2NhbC1tb2R1bGUtaW5saW5lLWNvbW1lbnRzXCIsXG4gICAgICApLFxuICAgIH0pO1xuICAgIGNvbnN0IHRhcmdldCA9IG5ldyBDb25zdHJ1Y3RzTWFrZXJNb2R1bGVUYXJnZXQobW9kdWxlLCBMYW5ndWFnZS5UWVBFU0NSSVBUKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWFkTW9kdWxlU2NoZW1hKHRhcmdldCk7XG4gICAgZXhwZWN0KHNhbml0aXplSnNvbihyZXN1bHQpKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSwgMTIwMDAwKTtcblxuICBpdChcImdlbmVyYXRlcyBhIGxvY2FsIGpzb24gbW9kdWxlXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtb2R1bGUgPSBuZXcgVGVycmFmb3JtTW9kdWxlQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImxvY2FsX21vZHVsZVwiLFxuICAgICAgZnFuOiBcImxvY2FsX21vZHVsZVwiLFxuICAgICAgc291cmNlOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCBcImZpeHR1cmVzXCIsIFwibG9jYWwtanNvbi1tb2R1bGVcIiksXG4gICAgfSk7XG4gICAgY29uc3QgdGFyZ2V0ID0gbmV3IENvbnN0cnVjdHNNYWtlck1vZHVsZVRhcmdldChtb2R1bGUsIExhbmd1YWdlLlRZUEVTQ1JJUFQpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlYWRNb2R1bGVTY2hlbWEodGFyZ2V0KTtcbiAgICBleHBlY3Qoc2FuaXRpemVKc29uKHJlc3VsdCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9LCAxMjAwMDApO1xufSk7XG5cbmRlc2NyaWJlKFwic2FuaXRpemVQcm92aWRlclNjaGVtYVwiLCAoKSA9PiB7XG4gIGl0KFwic2FuaXRpemVzIGEgcHJvdmlkZXIgc2NoZW1hXCIsICgpID0+IHtcbiAgICBjb25zdCBzY2hlbWE6IFByb3ZpZGVyU2NoZW1hID0ge1xuICAgICAgZm9ybWF0X3ZlcnNpb246IFwiMC4xXCIgYXMgY29uc3QsXG4gICAgICBwcm92aWRlcl92ZXJzaW9uczoge1xuICAgICAgICBcInJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9oYXNoaWNvcnAvbnVsbFwiOiBcIjMuMS4wXCIsXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXJfc2NoZW1hczoge1xuICAgICAgICBcInJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9oYXNoaWNvcnAvbnVsbFwiOiB7XG4gICAgICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgICAgIHZlcnNpb246IDAsXG4gICAgICAgICAgICBibG9jazoge1xuICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbjoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY29ycmVjdDoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogW1wibGlzdFwiLCBcInN0cmluZ1wiXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGluY29ycmVjdDoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogW1wibGlzdFwiLCBcInN0cmluZ1wiLCBcImxpc3RcIiwgXCJzdHJpbmdcIl0gYXMgYW55LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGJsb2NrX3R5cGVzOiB7XG4gICAgICAgICAgICAgICAgdHJpZ2dlcnM6IHtcbiAgICAgICAgICAgICAgICAgIG5lc3RpbmdfbW9kZTogXCJzaW5nbGVcIixcbiAgICAgICAgICAgICAgICAgIGJsb2NrOiB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwic3RyaW5nXCJdLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgaW5jb3JyZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwic3RyaW5nXCIsIFwibGlzdFwiLCBcInN0cmluZ1wiXSBhcyBhbnksXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tfdHlwZXM6IHt9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc291cmNlX3NjaGVtYXM6IHtcbiAgICAgICAgICAgIG51bGxfcmVzb3VyY2U6IHtcbiAgICAgICAgICAgICAgdmVyc2lvbjogMCxcbiAgICAgICAgICAgICAgYmxvY2s6IHtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBjb3JyZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIl0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgaW5jb3JyZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIiwgXCJsaXN0XCIsIFwic3RyaW5nXCJdIGFzIGFueSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBibG9ja190eXBlczoge1xuICAgICAgICAgICAgICAgICAgdHJpZ2dlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgbmVzdGluZ19tb2RlOiBcInNpbmdsZVwiLFxuICAgICAgICAgICAgICAgICAgICBibG9jazoge1xuICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogW1wibGlzdFwiLCBcInN0cmluZ1wiXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNvcnJlY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogW1wibGlzdFwiLCBcInN0cmluZ1wiLCBcImxpc3RcIiwgXCJzdHJpbmdcIl0gYXMgYW55LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX3R5cGVzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkYXRhX3NvdXJjZV9zY2hlbWFzOiB7fSxcbiAgICAgICAgICBlcGhlbWVyYWxfcmVzb3VyY2Vfc2NoZW1hczoge1xuICAgICAgICAgICAgbnVsbF9lcGhlbWVyYWw6IHtcbiAgICAgICAgICAgICAgdmVyc2lvbjogMCxcbiAgICAgICAgICAgICAgYmxvY2s6IHtcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgICBjb3JyZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIl0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgaW5jb3JyZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIiwgXCJsaXN0XCIsIFwic3RyaW5nXCJdIGFzIGFueSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBibG9ja190eXBlczoge30sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCByZXN1bHQgPSBzYW5pdGl6ZVByb3ZpZGVyU2NoZW1hKHNjaGVtYSk7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -3,6 +3,7 @@
3
3
  // SPDX-License-Identifier: MPL-2.0
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  jest.mock("@cdktn/commons", () => ({
6
+ ...jest.requireActual("@cdktn/commons"),
6
7
  exec: jest.fn(),
7
8
  }));
8
9
  const commons_1 = require("@cdktn/commons");
@@ -55,4 +56,15 @@ describe("terraformInitWithRetry", () => {
55
56
  expect(execMock).toHaveBeenCalledTimes(3);
56
57
  });
57
58
  });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItc2NoZW1hLnVuaXQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcHJvdmlkZXItc2NoZW1hLnVuaXQudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQzs7QUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0NBQ2hCLENBQUMsQ0FBQyxDQUFDO0FBRUosNENBQXNDO0FBQ3RDLHdEQUE0RDtBQUU1RCxNQUFNLFFBQVEsR0FBRyxjQUE0QixDQUFDO0FBRTlDLFNBQVMsY0FBYyxDQUFDLE9BQU8sR0FBRyxpQ0FBaUM7SUFDakUsTUFBTSxHQUFHLEdBQVEsSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNuRCxHQUFHLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUNyQixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxPQUFPLEdBQUcsaUNBQWlDO0lBQzdELE1BQU0sR0FBRyxHQUFRLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbkQsR0FBRyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDckIsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtJQUN0QyxJQUFJLGVBQWlDLENBQUM7SUFFdEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQixlQUFlLEdBQUcsSUFBSTthQUNuQixLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQzthQUN2QixrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDNUQsUUFBUSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSx3Q0FBc0IsRUFBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFckUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMscURBQXFELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbkUsUUFBUTthQUNMLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3ZDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNuRCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsd0NBQXNCLEVBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3RELFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRTdDLE1BQU0sTUFBTSxDQUNWLElBQUEsd0NBQXNCLEVBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNoRCxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV4RSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0VBQWdFLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDOUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7UUFFdEUsTUFBTSxNQUFNLENBQ1YsSUFBQSx3Q0FBc0IsRUFBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ2hELENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcblxuamVzdC5tb2NrKFwiQGNka3RuL2NvbW1vbnNcIiwgKCkgPT4gKHtcbiAgZXhlYzogamVzdC5mbigpLFxufSkpO1xuXG5pbXBvcnQgeyBleGVjIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyB0ZXJyYWZvcm1Jbml0V2l0aFJldHJ5IH0gZnJvbSBcIi4uL3Byb3ZpZGVyLXNjaGVtYVwiO1xuXG5jb25zdCBleGVjTW9jayA9IGV4ZWMgYXMgdW5rbm93biBhcyBqZXN0Lk1vY2s7XG5cbmZ1bmN0aW9uIHRyYW5zaWVudEVycm9yKG1lc3NhZ2UgPSBcIjUwMiBCYWQgR2F0ZXdheSBmcm9tIGdpdGh1Yi5jb21cIikge1xuICBjb25zdCBlcnI6IGFueSA9IG5ldyBFcnJvcihcIm5vbi16ZXJvIGV4aXQgY29kZSAxXCIpO1xuICBlcnIuc3RkZXJyID0gbWVzc2FnZTtcbiAgcmV0dXJuIGVycjtcbn1cblxuZnVuY3Rpb24gZmF0YWxFcnJvcihtZXNzYWdlID0gXCJFcnJvcjogSW52YWxpZCBwcm92aWRlciB2ZXJzaW9uXCIpIHtcbiAgY29uc3QgZXJyOiBhbnkgPSBuZXcgRXJyb3IoXCJub24temVybyBleGl0IGNvZGUgMVwiKTtcbiAgZXJyLnN0ZGVyciA9IG1lc3NhZ2U7XG4gIHJldHVybiBlcnI7XG59XG5cbmRlc2NyaWJlKFwidGVycmFmb3JtSW5pdFdpdGhSZXRyeVwiLCAoKSA9PiB7XG4gIGxldCBjb25zb2xlRXJyb3JTcHk6IGplc3QuU3B5SW5zdGFuY2U7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgZXhlY01vY2subW9ja1Jlc2V0KCk7XG4gICAgY29uc29sZUVycm9yU3B5ID0gamVzdFxuICAgICAgLnNweU9uKGNvbnNvbGUsIFwiZXJyb3JcIilcbiAgICAgIC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gdW5kZWZpbmVkKTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBjb25zb2xlRXJyb3JTcHkubW9ja1Jlc3RvcmUoKTtcbiAgfSk7XG5cbiAgaXQoXCJyZXR1cm5zIGltbWVkaWF0ZWx5IG9uIGZpcnN0LWF0dGVtcHQgc3VjY2Vzc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgZXhlY01vY2subW9ja1Jlc29sdmVkVmFsdWVPbmNlKFwib2tcIik7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0ZXJyYWZvcm1Jbml0V2l0aFJldHJ5KHsgY3dkOiBcIi90bXAveFwiIH0sIDMsIDApO1xuXG4gICAgZXhwZWN0KHJlc3VsdCkudG9CZShcIm9rXCIpO1xuICAgIGV4cGVjdChleGVjTW9jaykudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICB9KTtcblxuICBpdChcInJldHJpZXMgb24gdHJhbnNpZW50IHN0ZGVyciBhbmQgZXZlbnR1YWxseSBzdWNjZWVkc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgZXhlY01vY2tcbiAgICAgIC5tb2NrUmVqZWN0ZWRWYWx1ZU9uY2UodHJhbnNpZW50RXJyb3IoKSlcbiAgICAgIC5tb2NrUmVqZWN0ZWRWYWx1ZU9uY2UodHJhbnNpZW50RXJyb3IoXCJFQ09OTlJFU0VUXCIpKVxuICAgICAgLm1vY2tSZXNvbHZlZFZhbHVlT25jZShcIm9rXCIpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGVycmFmb3JtSW5pdFdpdGhSZXRyeSh7IGN3ZDogXCIvdG1wL3hcIiB9LCAzLCAwKTtcblxuICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoXCJva1wiKTtcbiAgICBleHBlY3QoZXhlY01vY2spLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygzKTtcbiAgfSk7XG5cbiAgaXQoXCJkb2VzIG5vdCByZXRyeSBvbiBub24tdHJhbnNpZW50IGVycm9yc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgZXhlY01vY2subW9ja1JlamVjdGVkVmFsdWVPbmNlKGZhdGFsRXJyb3IoKSk7XG5cbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICB0ZXJyYWZvcm1Jbml0V2l0aFJldHJ5KHsgY3dkOiBcIi90bXAveFwiIH0sIDMsIDApLFxuICAgICkucmVqZWN0cy50b01hdGNoT2JqZWN0KHsgc3RkZXJyOiBleHBlY3Quc3RyaW5nQ29udGFpbmluZyhcIkludmFsaWRcIikgfSk7XG5cbiAgICBleHBlY3QoZXhlY01vY2spLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgfSk7XG5cbiAgaXQoXCJ0aHJvd3MgYWZ0ZXIgZXhoYXVzdGluZyByZXRyaWVzIG9uIHBlcnNpc3RlbnQgdHJhbnNpZW50IGVycm9yc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgZXhlY01vY2subW9ja1JlamVjdGVkVmFsdWUodHJhbnNpZW50RXJyb3IoXCI1MDMgU2VydmljZSBVbmF2YWlsYWJsZVwiKSk7XG5cbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICB0ZXJyYWZvcm1Jbml0V2l0aFJldHJ5KHsgY3dkOiBcIi90bXAveFwiIH0sIDMsIDApLFxuICAgICkucmVqZWN0cy50b01hdGNoT2JqZWN0KHsgc3RkZXJyOiBleHBlY3Quc3RyaW5nQ29udGFpbmluZyhcIjUwM1wiKSB9KTtcblxuICAgIGV4cGVjdChleGVjTW9jaykudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDMpO1xuICB9KTtcbn0pO1xuIl19
59
+ describe("getFetchingCliVersion", () => {
60
+ it("execs `terraform version` once and memoizes the result", async () => {
61
+ execMock.mockReset();
62
+ execMock.mockResolvedValue("Terraform v1.7.5\non linux_amd64\n");
63
+ const first = await (0, provider_schema_1.getFetchingCliVersion)();
64
+ const second = await (0, provider_schema_1.getFetchingCliVersion)();
65
+ expect(first).toEqual({ name: "terraform", version: "1.7.5" });
66
+ expect(second).toBe(first);
67
+ expect(execMock).toHaveBeenCalledTimes(1);
68
+ });
69
+ });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItc2NoZW1hLnVuaXQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcHJvdmlkZXItc2NoZW1hLnVuaXQudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQzs7QUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtDQUNoQixDQUFDLENBQUMsQ0FBQztBQUVKLDRDQUFzQztBQUN0Qyx3REFHNEI7QUFFNUIsTUFBTSxRQUFRLEdBQUcsY0FBNEIsQ0FBQztBQUU5QyxTQUFTLGNBQWMsQ0FBQyxPQUFPLEdBQUcsaUNBQWlDO0lBQ2pFLE1BQU0sR0FBRyxHQUFRLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbkQsR0FBRyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDckIsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsT0FBTyxHQUFHLGlDQUFpQztJQUM3RCxNQUFNLEdBQUcsR0FBUSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ25ELEdBQUcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQ3JCLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLEVBQUU7SUFDdEMsSUFBSSxlQUFpQyxDQUFDO0lBRXRDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckIsZUFBZSxHQUFHLElBQUk7YUFDbkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7YUFDdkIsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzVELFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsd0NBQXNCLEVBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ25FLFFBQVE7YUFDTCxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2QyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbkQscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLHdDQUFzQixFQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVyRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN0RCxRQUFRLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUU3QyxNQUFNLE1BQU0sQ0FDVixJQUFBLHdDQUFzQixFQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDaEQsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFeEUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdFQUFnRSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzlFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO1FBRXRFLE1BQU0sTUFBTSxDQUNWLElBQUEsd0NBQXNCLEVBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNoRCxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7SUFDckMsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3RFLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQixRQUFRLENBQUMsaUJBQWlCLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUVqRSxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsdUNBQXFCLEdBQUUsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsdUNBQXFCLEdBQUUsQ0FBQztRQUU3QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMvRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcblxuamVzdC5tb2NrKFwiQGNka3RuL2NvbW1vbnNcIiwgKCkgPT4gKHtcbiAgLi4uamVzdC5yZXF1aXJlQWN0dWFsKFwiQGNka3RuL2NvbW1vbnNcIiksXG4gIGV4ZWM6IGplc3QuZm4oKSxcbn0pKTtcblxuaW1wb3J0IHsgZXhlYyB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHtcbiAgZ2V0RmV0Y2hpbmdDbGlWZXJzaW9uLFxuICB0ZXJyYWZvcm1Jbml0V2l0aFJldHJ5LFxufSBmcm9tIFwiLi4vcHJvdmlkZXItc2NoZW1hXCI7XG5cbmNvbnN0IGV4ZWNNb2NrID0gZXhlYyBhcyB1bmtub3duIGFzIGplc3QuTW9jaztcblxuZnVuY3Rpb24gdHJhbnNpZW50RXJyb3IobWVzc2FnZSA9IFwiNTAyIEJhZCBHYXRld2F5IGZyb20gZ2l0aHViLmNvbVwiKSB7XG4gIGNvbnN0IGVycjogYW55ID0gbmV3IEVycm9yKFwibm9uLXplcm8gZXhpdCBjb2RlIDFcIik7XG4gIGVyci5zdGRlcnIgPSBtZXNzYWdlO1xuICByZXR1cm4gZXJyO1xufVxuXG5mdW5jdGlvbiBmYXRhbEVycm9yKG1lc3NhZ2UgPSBcIkVycm9yOiBJbnZhbGlkIHByb3ZpZGVyIHZlcnNpb25cIikge1xuICBjb25zdCBlcnI6IGFueSA9IG5ldyBFcnJvcihcIm5vbi16ZXJvIGV4aXQgY29kZSAxXCIpO1xuICBlcnIuc3RkZXJyID0gbWVzc2FnZTtcbiAgcmV0dXJuIGVycjtcbn1cblxuZGVzY3JpYmUoXCJ0ZXJyYWZvcm1Jbml0V2l0aFJldHJ5XCIsICgpID0+IHtcbiAgbGV0IGNvbnNvbGVFcnJvclNweTogamVzdC5TcHlJbnN0YW5jZTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBleGVjTW9jay5tb2NrUmVzZXQoKTtcbiAgICBjb25zb2xlRXJyb3JTcHkgPSBqZXN0XG4gICAgICAuc3B5T24oY29uc29sZSwgXCJlcnJvclwiKVxuICAgICAgLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB1bmRlZmluZWQpO1xuICB9KTtcblxuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGNvbnNvbGVFcnJvclNweS5tb2NrUmVzdG9yZSgpO1xuICB9KTtcblxuICBpdChcInJldHVybnMgaW1tZWRpYXRlbHkgb24gZmlyc3QtYXR0ZW1wdCBzdWNjZXNzXCIsIGFzeW5jICgpID0+IHtcbiAgICBleGVjTW9jay5tb2NrUmVzb2x2ZWRWYWx1ZU9uY2UoXCJva1wiKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRlcnJhZm9ybUluaXRXaXRoUmV0cnkoeyBjd2Q6IFwiL3RtcC94XCIgfSwgMywgMCk7XG5cbiAgICBleHBlY3QocmVzdWx0KS50b0JlKFwib2tcIik7XG4gICAgZXhwZWN0KGV4ZWNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gIH0pO1xuXG4gIGl0KFwicmV0cmllcyBvbiB0cmFuc2llbnQgc3RkZXJyIGFuZCBldmVudHVhbGx5IHN1Y2NlZWRzXCIsIGFzeW5jICgpID0+IHtcbiAgICBleGVjTW9ja1xuICAgICAgLm1vY2tSZWplY3RlZFZhbHVlT25jZSh0cmFuc2llbnRFcnJvcigpKVxuICAgICAgLm1vY2tSZWplY3RlZFZhbHVlT25jZSh0cmFuc2llbnRFcnJvcihcIkVDT05OUkVTRVRcIikpXG4gICAgICAubW9ja1Jlc29sdmVkVmFsdWVPbmNlKFwib2tcIik7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0ZXJyYWZvcm1Jbml0V2l0aFJldHJ5KHsgY3dkOiBcIi90bXAveFwiIH0sIDMsIDApO1xuXG4gICAgZXhwZWN0KHJlc3VsdCkudG9CZShcIm9rXCIpO1xuICAgIGV4cGVjdChleGVjTW9jaykudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDMpO1xuICB9KTtcblxuICBpdChcImRvZXMgbm90IHJldHJ5IG9uIG5vbi10cmFuc2llbnQgZXJyb3JzXCIsIGFzeW5jICgpID0+IHtcbiAgICBleGVjTW9jay5tb2NrUmVqZWN0ZWRWYWx1ZU9uY2UoZmF0YWxFcnJvcigpKTtcblxuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIHRlcnJhZm9ybUluaXRXaXRoUmV0cnkoeyBjd2Q6IFwiL3RtcC94XCIgfSwgMywgMCksXG4gICAgKS5yZWplY3RzLnRvTWF0Y2hPYmplY3QoeyBzdGRlcnI6IGV4cGVjdC5zdHJpbmdDb250YWluaW5nKFwiSW52YWxpZFwiKSB9KTtcblxuICAgIGV4cGVjdChleGVjTW9jaykudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICB9KTtcblxuICBpdChcInRocm93cyBhZnRlciBleGhhdXN0aW5nIHJldHJpZXMgb24gcGVyc2lzdGVudCB0cmFuc2llbnQgZXJyb3JzXCIsIGFzeW5jICgpID0+IHtcbiAgICBleGVjTW9jay5tb2NrUmVqZWN0ZWRWYWx1ZSh0cmFuc2llbnRFcnJvcihcIjUwMyBTZXJ2aWNlIFVuYXZhaWxhYmxlXCIpKTtcblxuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIHRlcnJhZm9ybUluaXRXaXRoUmV0cnkoeyBjd2Q6IFwiL3RtcC94XCIgfSwgMywgMCksXG4gICAgKS5yZWplY3RzLnRvTWF0Y2hPYmplY3QoeyBzdGRlcnI6IGV4cGVjdC5zdHJpbmdDb250YWluaW5nKFwiNTAzXCIpIH0pO1xuXG4gICAgZXhwZWN0KGV4ZWNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMyk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiZ2V0RmV0Y2hpbmdDbGlWZXJzaW9uXCIsICgpID0+IHtcbiAgaXQoXCJleGVjcyBgdGVycmFmb3JtIHZlcnNpb25gIG9uY2UgYW5kIG1lbW9pemVzIHRoZSByZXN1bHRcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGV4ZWNNb2NrLm1vY2tSZXNldCgpO1xuICAgIGV4ZWNNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKFwiVGVycmFmb3JtIHYxLjcuNVxcbm9uIGxpbnV4X2FtZDY0XFxuXCIpO1xuXG4gICAgY29uc3QgZmlyc3QgPSBhd2FpdCBnZXRGZXRjaGluZ0NsaVZlcnNpb24oKTtcbiAgICBjb25zdCBzZWNvbmQgPSBhd2FpdCBnZXRGZXRjaGluZ0NsaVZlcnNpb24oKTtcblxuICAgIGV4cGVjdChmaXJzdCkudG9FcXVhbCh7IG5hbWU6IFwidGVycmFmb3JtXCIsIHZlcnNpb246IFwiMS43LjVcIiB9KTtcbiAgICBleHBlY3Qoc2Vjb25kKS50b0JlKGZpcnN0KTtcbiAgICBleHBlY3QoZXhlY01vY2spLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=read-emission-gap-warning.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-emission-gap-warning.unit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/read-emission-gap-warning.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ // Copyright (c) HashiCorp, Inc
3
+ // SPDX-License-Identifier: MPL-2.0
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ jest.mock("../provider-schema", () => ({
29
+ ...jest.requireActual("../provider-schema"),
30
+ readProviderSchema: jest.fn(),
31
+ getFetchingCliVersion: jest.fn(),
32
+ }));
33
+ const fs = __importStar(require("fs-extra"));
34
+ const os = __importStar(require("os"));
35
+ const path = __importStar(require("path"));
36
+ const commons_1 = require("@cdktn/commons");
37
+ const read_1 = require("../read");
38
+ const provider_schema_1 = require("../provider-schema");
39
+ const readProviderSchemaMock = provider_schema_1.readProviderSchema;
40
+ const getFetchingCliVersionMock = provider_schema_1.getFetchingCliVersion;
41
+ const stampedFixture = {
42
+ format_version: "0.1",
43
+ cli_name: "terraform",
44
+ cli_version: "1.7.5",
45
+ };
46
+ describe("readSchema - emission gap warning on cache hits (regression)", () => {
47
+ let cacheDir;
48
+ let warnSpy;
49
+ beforeEach(() => {
50
+ cacheDir = fs.mkdtempSync(path.join(os.tmpdir(), "provider-schema-cache-"));
51
+ warnSpy = jest.spyOn(commons_1.logger, "warn").mockImplementation(() => undefined);
52
+ getFetchingCliVersionMock.mockReset();
53
+ getFetchingCliVersionMock.mockResolvedValue({
54
+ name: "terraform",
55
+ version: "1.7.5",
56
+ });
57
+ readProviderSchemaMock.mockReset();
58
+ readProviderSchemaMock.mockResolvedValue(stampedFixture);
59
+ });
60
+ afterEach(() => {
61
+ warnSpy.mockRestore();
62
+ fs.removeSync(cacheDir);
63
+ });
64
+ it("fires the warning on both a fresh fetch and a later cache hit for the same target", async () => {
65
+ const constraint = new commons_1.TerraformProviderConstraint("hashicorp/null@3.1.0");
66
+ const targetVersions = { terraform: ">=1.12.0" };
67
+ await (0, read_1.readSchema)([constraint], cacheDir, targetVersions);
68
+ await (0, read_1.readSchema)([constraint], cacheDir, targetVersions);
69
+ // second readSchema call is served from the on-disk cache written by the
70
+ // first - the underlying fetch only ever runs once.
71
+ expect(readProviderSchemaMock).toHaveBeenCalledTimes(1);
72
+ // yet the emission-gap warning fires for both calls, because it now
73
+ // runs against the resolved (cached-or-fresh) schema in read.ts, not
74
+ // inside readProviderSchema.
75
+ expect(warnSpy).toHaveBeenCalledTimes(2);
76
+ expect(warnSpy.mock.calls[0][0]).toContain("provider schema fetched with terraform 1.7.5");
77
+ expect(warnSpy.mock.calls[1][0]).toContain("provider schema fetched with terraform 1.7.5");
78
+ });
79
+ });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1lbWlzc2lvbi1nYXAtd2FybmluZy51bml0LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL3JlYWQtZW1pc3Npb24tZ2FwLXdhcm5pbmcudW5pdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5DLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNyQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUM7SUFDM0Msa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtJQUM3QixxQkFBcUIsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0NBQ2pDLENBQUMsQ0FBQyxDQUFDO0FBRUosNkNBQStCO0FBQy9CLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0IsNENBSXdCO0FBQ3hCLGtDQUFxQztBQUNyQyx3REFBK0U7QUFFL0UsTUFBTSxzQkFBc0IsR0FBRyxvQ0FBMEMsQ0FBQztBQUMxRSxNQUFNLHlCQUF5QixHQUFHLHVDQUE2QyxDQUFDO0FBRWhGLE1BQU0sY0FBYyxHQUFtQjtJQUNyQyxjQUFjLEVBQUUsS0FBSztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixXQUFXLEVBQUUsT0FBTztDQUNyQixDQUFDO0FBRUYsUUFBUSxDQUFDLDhEQUE4RCxFQUFFLEdBQUcsRUFBRTtJQUM1RSxJQUFJLFFBQWdCLENBQUM7SUFDckIsSUFBSSxPQUF5QixDQUFDO0lBRTlCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxRQUFRLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7UUFDNUUsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RSx5QkFBeUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0Qyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQztZQUMxQyxJQUFJLEVBQUUsV0FBVztZQUNqQixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7UUFDSCxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxtRkFBbUYsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNqRyxNQUFNLFVBQVUsR0FBRyxJQUFJLHFDQUEyQixDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDM0UsTUFBTSxjQUFjLEdBQUcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFFakQsTUFBTSxJQUFBLGlCQUFVLEVBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFBLGlCQUFVLEVBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFekQseUVBQXlFO1FBQ3pFLG9EQUFvRDtRQUNwRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RCxvRUFBb0U7UUFDcEUscUVBQXFFO1FBQ3JFLDZCQUE2QjtRQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN4Qyw4Q0FBOEMsQ0FDL0MsQ0FBQztRQUNGLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDeEMsOENBQThDLENBQy9DLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcblxuamVzdC5tb2NrKFwiLi4vcHJvdmlkZXItc2NoZW1hXCIsICgpID0+ICh7XG4gIC4uLmplc3QucmVxdWlyZUFjdHVhbChcIi4uL3Byb3ZpZGVyLXNjaGVtYVwiKSxcbiAgcmVhZFByb3ZpZGVyU2NoZW1hOiBqZXN0LmZuKCksXG4gIGdldEZldGNoaW5nQ2xpVmVyc2lvbjogamVzdC5mbigpLFxufSkpO1xuXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCAqIGFzIG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgbG9nZ2VyLFxuICBQcm92aWRlclNjaGVtYSxcbiAgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50LFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IHJlYWRTY2hlbWEgfSBmcm9tIFwiLi4vcmVhZFwiO1xuaW1wb3J0IHsgZ2V0RmV0Y2hpbmdDbGlWZXJzaW9uLCByZWFkUHJvdmlkZXJTY2hlbWEgfSBmcm9tIFwiLi4vcHJvdmlkZXItc2NoZW1hXCI7XG5cbmNvbnN0IHJlYWRQcm92aWRlclNjaGVtYU1vY2sgPSByZWFkUHJvdmlkZXJTY2hlbWEgYXMgdW5rbm93biBhcyBqZXN0Lk1vY2s7XG5jb25zdCBnZXRGZXRjaGluZ0NsaVZlcnNpb25Nb2NrID0gZ2V0RmV0Y2hpbmdDbGlWZXJzaW9uIGFzIHVua25vd24gYXMgamVzdC5Nb2NrO1xuXG5jb25zdCBzdGFtcGVkRml4dHVyZTogUHJvdmlkZXJTY2hlbWEgPSB7XG4gIGZvcm1hdF92ZXJzaW9uOiBcIjAuMVwiLFxuICBjbGlfbmFtZTogXCJ0ZXJyYWZvcm1cIixcbiAgY2xpX3ZlcnNpb246IFwiMS43LjVcIixcbn07XG5cbmRlc2NyaWJlKFwicmVhZFNjaGVtYSAtIGVtaXNzaW9uIGdhcCB3YXJuaW5nIG9uIGNhY2hlIGhpdHMgKHJlZ3Jlc3Npb24pXCIsICgpID0+IHtcbiAgbGV0IGNhY2hlRGlyOiBzdHJpbmc7XG4gIGxldCB3YXJuU3B5OiBqZXN0LlNweUluc3RhbmNlO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNhY2hlRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCBcInByb3ZpZGVyLXNjaGVtYS1jYWNoZS1cIikpO1xuICAgIHdhcm5TcHkgPSBqZXN0LnNweU9uKGxvZ2dlciwgXCJ3YXJuXCIpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB1bmRlZmluZWQpO1xuICAgIGdldEZldGNoaW5nQ2xpVmVyc2lvbk1vY2subW9ja1Jlc2V0KCk7XG4gICAgZ2V0RmV0Y2hpbmdDbGlWZXJzaW9uTW9jay5tb2NrUmVzb2x2ZWRWYWx1ZSh7XG4gICAgICBuYW1lOiBcInRlcnJhZm9ybVwiLFxuICAgICAgdmVyc2lvbjogXCIxLjcuNVwiLFxuICAgIH0pO1xuICAgIHJlYWRQcm92aWRlclNjaGVtYU1vY2subW9ja1Jlc2V0KCk7XG4gICAgcmVhZFByb3ZpZGVyU2NoZW1hTW9jay5tb2NrUmVzb2x2ZWRWYWx1ZShzdGFtcGVkRml4dHVyZSk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgd2FyblNweS5tb2NrUmVzdG9yZSgpO1xuICAgIGZzLnJlbW92ZVN5bmMoY2FjaGVEaXIpO1xuICB9KTtcblxuICBpdChcImZpcmVzIHRoZSB3YXJuaW5nIG9uIGJvdGggYSBmcmVzaCBmZXRjaCBhbmQgYSBsYXRlciBjYWNoZSBoaXQgZm9yIHRoZSBzYW1lIHRhcmdldFwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoXCJoYXNoaWNvcnAvbnVsbEAzLjEuMFwiKTtcbiAgICBjb25zdCB0YXJnZXRWZXJzaW9ucyA9IHsgdGVycmFmb3JtOiBcIj49MS4xMi4wXCIgfTtcblxuICAgIGF3YWl0IHJlYWRTY2hlbWEoW2NvbnN0cmFpbnRdLCBjYWNoZURpciwgdGFyZ2V0VmVyc2lvbnMpO1xuICAgIGF3YWl0IHJlYWRTY2hlbWEoW2NvbnN0cmFpbnRdLCBjYWNoZURpciwgdGFyZ2V0VmVyc2lvbnMpO1xuXG4gICAgLy8gc2Vjb25kIHJlYWRTY2hlbWEgY2FsbCBpcyBzZXJ2ZWQgZnJvbSB0aGUgb24tZGlzayBjYWNoZSB3cml0dGVuIGJ5IHRoZVxuICAgIC8vIGZpcnN0IC0gdGhlIHVuZGVybHlpbmcgZmV0Y2ggb25seSBldmVyIHJ1bnMgb25jZS5cbiAgICBleHBlY3QocmVhZFByb3ZpZGVyU2NoZW1hTW9jaykudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuXG4gICAgLy8geWV0IHRoZSBlbWlzc2lvbi1nYXAgd2FybmluZyBmaXJlcyBmb3IgYm90aCBjYWxscywgYmVjYXVzZSBpdCBub3dcbiAgICAvLyBydW5zIGFnYWluc3QgdGhlIHJlc29sdmVkIChjYWNoZWQtb3ItZnJlc2gpIHNjaGVtYSBpbiByZWFkLnRzLCBub3RcbiAgICAvLyBpbnNpZGUgcmVhZFByb3ZpZGVyU2NoZW1hLlxuICAgIGV4cGVjdCh3YXJuU3B5KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMik7XG4gICAgZXhwZWN0KHdhcm5TcHkubW9jay5jYWxsc1swXVswXSkudG9Db250YWluKFxuICAgICAgXCJwcm92aWRlciBzY2hlbWEgZmV0Y2hlZCB3aXRoIHRlcnJhZm9ybSAxLjcuNVwiLFxuICAgICk7XG4gICAgZXhwZWN0KHdhcm5TcHkubW9jay5jYWxsc1sxXVswXSkudG9Db250YWluKFxuICAgICAgXCJwcm92aWRlciBzY2hlbWEgZmV0Y2hlZCB3aXRoIHRlcnJhZm9ybSAxLjcuNVwiLFxuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warn-schema-emission-gaps.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warn-schema-emission-gaps.unit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/warn-schema-emission-gaps.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ // Copyright (c) HashiCorp, Inc
3
+ // SPDX-License-Identifier: MPL-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ jest.mock("@cdktn/commons", () => ({
6
+ ...jest.requireActual("@cdktn/commons"),
7
+ exec: jest.fn(),
8
+ }));
9
+ const commons_1 = require("@cdktn/commons");
10
+ const provider_schema_1 = require("../provider-schema");
11
+ const execMock = commons_1.exec;
12
+ function stampedSchema(cli_name, cli_version) {
13
+ const schema = { format_version: "0.1" };
14
+ if (cli_name)
15
+ schema.cli_name = cli_name;
16
+ if (cli_version)
17
+ schema.cli_version = cli_version;
18
+ return schema;
19
+ }
20
+ describe("warnIfSchemaEmissionGaps", () => {
21
+ let warnSpy;
22
+ beforeEach(() => {
23
+ warnSpy = jest.spyOn(commons_1.logger, "warn").mockImplementation(() => undefined);
24
+ });
25
+ afterEach(() => {
26
+ warnSpy.mockRestore();
27
+ });
28
+ it("warns once when the schema was stamped with an old CLI and default targets are declared", async () => {
29
+ const schema = stampedSchema("terraform", "1.7.5");
30
+ await (0, provider_schema_1.warnIfSchemaEmissionGaps)(schema, commons_1.DEFAULT_TARGET_VERSIONS);
31
+ expect(warnSpy).toHaveBeenCalledTimes(1);
32
+ const message = warnSpy.mock.calls[0][0];
33
+ expect(message).toContain("provider schema fetched with terraform 1.7.5");
34
+ expect(message).toContain("terraform >=1.12.0 / opentofu >=1.12.0");
35
+ });
36
+ it("stays silent when the schema was stamped with a recent CLI", async () => {
37
+ const schema = stampedSchema("terraform", "1.15.6");
38
+ await (0, provider_schema_1.warnIfSchemaEmissionGaps)(schema, commons_1.DEFAULT_TARGET_VERSIONS);
39
+ expect(warnSpy).not.toHaveBeenCalled();
40
+ });
41
+ it("stays silent without declared targetVersions, even for an old stamped CLI", async () => {
42
+ const schema = stampedSchema("terraform", "1.7.5");
43
+ await (0, provider_schema_1.warnIfSchemaEmissionGaps)(schema, undefined);
44
+ expect(warnSpy).not.toHaveBeenCalled();
45
+ });
46
+ it("falls back to the current process's fetching CLI version when the schema carries no stamps", async () => {
47
+ execMock.mockReset();
48
+ execMock.mockResolvedValue("Terraform v1.7.5\non linux_amd64\n");
49
+ const schema = stampedSchema();
50
+ await (0, provider_schema_1.warnIfSchemaEmissionGaps)(schema, commons_1.DEFAULT_TARGET_VERSIONS);
51
+ expect(warnSpy).toHaveBeenCalledTimes(1);
52
+ expect(warnSpy.mock.calls[0][0]).toContain("provider schema fetched with terraform 1.7.5");
53
+ });
54
+ });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Fybi1zY2hlbWEtZW1pc3Npb24tZ2Fwcy51bml0LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL3dhcm4tc2NoZW1hLWVtaXNzaW9uLWdhcHMudW5pdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DOztBQUVuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDakMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO0lBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0NBQ2hCLENBQUMsQ0FBQyxDQUFDO0FBRUosNENBS3dCO0FBQ3hCLHdEQUE4RDtBQUU5RCxNQUFNLFFBQVEsR0FBRyxjQUE0QixDQUFDO0FBRTlDLFNBQVMsYUFBYSxDQUNwQixRQUFpQixFQUNqQixXQUFvQjtJQUVwQixNQUFNLE1BQU0sR0FBbUIsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDekQsSUFBSSxRQUFRO1FBQUUsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDekMsSUFBSSxXQUFXO1FBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbEQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7SUFDeEMsSUFBSSxPQUF5QixDQUFDO0lBRTlCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNFLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5RkFBeUYsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2RyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRW5ELE1BQU0sSUFBQSwwQ0FBd0IsRUFBQyxNQUFNLEVBQUUsaUNBQXVCLENBQUMsQ0FBQztRQUVoRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUN0RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMxRSxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXBELE1BQU0sSUFBQSwwQ0FBd0IsRUFBQyxNQUFNLEVBQUUsaUNBQXVCLENBQUMsQ0FBQztRQUVoRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMkVBQTJFLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekYsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVuRCxNQUFNLElBQUEsMENBQXdCLEVBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRWxELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw0RkFBNEYsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMxRyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckIsUUFBUSxDQUFDLGlCQUFpQixDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFFakUsTUFBTSxNQUFNLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFFL0IsTUFBTSxJQUFBLDBDQUF3QixFQUFDLE1BQU0sRUFBRSxpQ0FBdUIsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQ3hDLDhDQUE4QyxDQUMvQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5cbmplc3QubW9jayhcIkBjZGt0bi9jb21tb25zXCIsICgpID0+ICh7XG4gIC4uLmplc3QucmVxdWlyZUFjdHVhbChcIkBjZGt0bi9jb21tb25zXCIpLFxuICBleGVjOiBqZXN0LmZuKCksXG59KSk7XG5cbmltcG9ydCB7XG4gIERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TLFxuICBleGVjLFxuICBsb2dnZXIsXG4gIFByb3ZpZGVyU2NoZW1hLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IHdhcm5JZlNjaGVtYUVtaXNzaW9uR2FwcyB9IGZyb20gXCIuLi9wcm92aWRlci1zY2hlbWFcIjtcblxuY29uc3QgZXhlY01vY2sgPSBleGVjIGFzIHVua25vd24gYXMgamVzdC5Nb2NrO1xuXG5mdW5jdGlvbiBzdGFtcGVkU2NoZW1hKFxuICBjbGlfbmFtZT86IHN0cmluZyxcbiAgY2xpX3ZlcnNpb24/OiBzdHJpbmcsXG4pOiBQcm92aWRlclNjaGVtYSB7XG4gIGNvbnN0IHNjaGVtYTogUHJvdmlkZXJTY2hlbWEgPSB7IGZvcm1hdF92ZXJzaW9uOiBcIjAuMVwiIH07XG4gIGlmIChjbGlfbmFtZSkgc2NoZW1hLmNsaV9uYW1lID0gY2xpX25hbWU7XG4gIGlmIChjbGlfdmVyc2lvbikgc2NoZW1hLmNsaV92ZXJzaW9uID0gY2xpX3ZlcnNpb247XG4gIHJldHVybiBzY2hlbWE7XG59XG5cbmRlc2NyaWJlKFwid2FybklmU2NoZW1hRW1pc3Npb25HYXBzXCIsICgpID0+IHtcbiAgbGV0IHdhcm5TcHk6IGplc3QuU3B5SW5zdGFuY2U7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgd2FyblNweSA9IGplc3Quc3B5T24obG9nZ2VyLCBcIndhcm5cIikubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHVuZGVmaW5lZCk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgd2FyblNweS5tb2NrUmVzdG9yZSgpO1xuICB9KTtcblxuICBpdChcIndhcm5zIG9uY2Ugd2hlbiB0aGUgc2NoZW1hIHdhcyBzdGFtcGVkIHdpdGggYW4gb2xkIENMSSBhbmQgZGVmYXVsdCB0YXJnZXRzIGFyZSBkZWNsYXJlZFwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2NoZW1hID0gc3RhbXBlZFNjaGVtYShcInRlcnJhZm9ybVwiLCBcIjEuNy41XCIpO1xuXG4gICAgYXdhaXQgd2FybklmU2NoZW1hRW1pc3Npb25HYXBzKHNjaGVtYSwgREVGQVVMVF9UQVJHRVRfVkVSU0lPTlMpO1xuXG4gICAgZXhwZWN0KHdhcm5TcHkpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICBjb25zdCBtZXNzYWdlID0gd2FyblNweS5tb2NrLmNhbGxzWzBdWzBdO1xuICAgIGV4cGVjdChtZXNzYWdlKS50b0NvbnRhaW4oXCJwcm92aWRlciBzY2hlbWEgZmV0Y2hlZCB3aXRoIHRlcnJhZm9ybSAxLjcuNVwiKTtcbiAgICBleHBlY3QobWVzc2FnZSkudG9Db250YWluKFwidGVycmFmb3JtID49MS4xMi4wIC8gb3BlbnRvZnUgPj0xLjEyLjBcIik7XG4gIH0pO1xuXG4gIGl0KFwic3RheXMgc2lsZW50IHdoZW4gdGhlIHNjaGVtYSB3YXMgc3RhbXBlZCB3aXRoIGEgcmVjZW50IENMSVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2NoZW1hID0gc3RhbXBlZFNjaGVtYShcInRlcnJhZm9ybVwiLCBcIjEuMTUuNlwiKTtcblxuICAgIGF3YWl0IHdhcm5JZlNjaGVtYUVtaXNzaW9uR2FwcyhzY2hlbWEsIERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TKTtcblxuICAgIGV4cGVjdCh3YXJuU3B5KS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdChcInN0YXlzIHNpbGVudCB3aXRob3V0IGRlY2xhcmVkIHRhcmdldFZlcnNpb25zLCBldmVuIGZvciBhbiBvbGQgc3RhbXBlZCBDTElcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNjaGVtYSA9IHN0YW1wZWRTY2hlbWEoXCJ0ZXJyYWZvcm1cIiwgXCIxLjcuNVwiKTtcblxuICAgIGF3YWl0IHdhcm5JZlNjaGVtYUVtaXNzaW9uR2FwcyhzY2hlbWEsIHVuZGVmaW5lZCk7XG5cbiAgICBleHBlY3Qod2FyblNweSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoXCJmYWxscyBiYWNrIHRvIHRoZSBjdXJyZW50IHByb2Nlc3MncyBmZXRjaGluZyBDTEkgdmVyc2lvbiB3aGVuIHRoZSBzY2hlbWEgY2FycmllcyBubyBzdGFtcHNcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGV4ZWNNb2NrLm1vY2tSZXNldCgpO1xuICAgIGV4ZWNNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKFwiVGVycmFmb3JtIHYxLjcuNVxcbm9uIGxpbnV4X2FtZDY0XFxuXCIpO1xuXG4gICAgY29uc3Qgc2NoZW1hID0gc3RhbXBlZFNjaGVtYSgpO1xuXG4gICAgYXdhaXQgd2FybklmU2NoZW1hRW1pc3Npb25HYXBzKHNjaGVtYSwgREVGQVVMVF9UQVJHRVRfVkVSU0lPTlMpO1xuXG4gICAgZXhwZWN0KHdhcm5TcHkpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3Qod2FyblNweS5tb2NrLmNhbGxzWzBdWzBdKS50b0NvbnRhaW4oXG4gICAgICBcInByb3ZpZGVyIHNjaGVtYSBmZXRjaGVkIHdpdGggdGVycmFmb3JtIDEuNy41XCIsXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
package/build/cache.d.ts CHANGED
@@ -3,5 +3,5 @@
3
3
  * SPDX-License-Identifier: MPL-2.0
4
4
  */
5
5
  import { ConstructsMakerTarget } from "@cdktn/commons";
6
- export declare function cachedAccess<I extends ConstructsMakerTarget, O>(producer: (input: I) => Promise<O>, cacheDir?: string | null): (input: I) => Promise<O>;
6
+ export declare function cachedAccess<I extends ConstructsMakerTarget, O>(producer: (input: I) => Promise<O>, cacheDir?: string | null, keySuffix?: string): (input: I) => Promise<O>;
7
7
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAkB,MAAM,gBAAgB,CAAC;AAYvE,wBAAgB,YAAY,CAAC,CAAC,SAAS,qBAAqB,EAAE,CAAC,EAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA+B1B"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAkB,MAAM,gBAAgB,CAAC;AAkBvE,wBAAgB,YAAY,CAAC,CAAC,SAAS,qBAAqB,EAAE,CAAC,EAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA+B1B"}
package/build/cache.js CHANGED
@@ -33,10 +33,16 @@ const fs = __importStar(require("fs-extra"));
33
33
  const path = __importStar(require("path"));
34
34
  // We keep this very simple since the caching feature is experimental
35
35
  // we might need to do housekeeping / include terraform / cdktf version in the future
36
- function cacheKey(input) {
37
- return `${encodeURIComponent(input.fqn)}@${encodeURIComponent(input.version || "")}`;
36
+ //
37
+ // keySuffix distinguishes cache entries fetched by different CLIs/versions
38
+ // (e.g. "terraform-1.7") so a schema fetched by a CLI too old to emit newer
39
+ // sections (functions, ephemeral resources, ...) isn't served up as if it
40
+ // were a complete fetch. See read.ts.
41
+ function cacheKey(input, keySuffix) {
42
+ const base = `${encodeURIComponent(input.fqn)}@${encodeURIComponent(input.version || "")}`;
43
+ return keySuffix ? `${base}@${encodeURIComponent(keySuffix)}` : base;
38
44
  }
39
- function cachedAccess(producer, cacheDir) {
45
+ function cachedAccess(producer, cacheDir, keySuffix) {
40
46
  const cacheEnabled = typeof cacheDir === "string" && cacheDir.length > 0;
41
47
  if (cacheEnabled && !fs.lstatSync(cacheDir).isDirectory()) {
42
48
  throw commons_1.Errors.Usage(`Provider Schema Cache directory '${cacheDir}' is not a directory`);
@@ -49,7 +55,7 @@ function cachedAccess(producer, cacheDir) {
49
55
  }
50
56
  commons_1.logger.debug(`Provider Schema Cache enabled, caching at ${cacheDir}`);
51
57
  return async (input) => {
52
- const key = cacheKey(input);
58
+ const key = cacheKey(input, keySuffix);
53
59
  const cachePath = path.join(cacheDir, `${key}.json`);
54
60
  if (fs.existsSync(cachePath)) {
55
61
  commons_1.logger.debug(`Cache hit for ${key}`);
@@ -63,4 +69,4 @@ function cachedAccess(producer, cacheDir) {
63
69
  };
64
70
  }
65
71
  exports.cachedAccess = cachedAccess;
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCw0Q0FBdUU7QUFDdkUsNkNBQStCO0FBQy9CLDJDQUE2QjtBQUU3QixxRUFBcUU7QUFDckUscUZBQXFGO0FBQ3JGLFNBQVMsUUFBUSxDQUFDLEtBQTRCO0lBQzVDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksa0JBQWtCLENBQzNELEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUNwQixFQUFFLENBQUM7QUFDTixDQUFDO0FBRUQsU0FBZ0IsWUFBWSxDQUMxQixRQUFrQyxFQUNsQyxRQUF3QjtJQUV4QixNQUFNLFlBQVksR0FBRyxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFekUsSUFBSSxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQWtCLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sZ0JBQU0sQ0FBQyxLQUFLLENBQ2hCLG9DQUFvQyxRQUFRLHNCQUFzQixDQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQixnQkFBTSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNmLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0RSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNyQixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzdCLGdCQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFNLENBQUM7UUFDaEUsQ0FBQztRQUNELGdCQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLENBQUM7UUFFekQsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQWxDRCxvQ0FrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlclRhcmdldCwgbG9nZ2VyLCBFcnJvcnMgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG4vLyBXZSBrZWVwIHRoaXMgdmVyeSBzaW1wbGUgc2luY2UgdGhlIGNhY2hpbmcgZmVhdHVyZSBpcyBleHBlcmltZW50YWxcbi8vIHdlIG1pZ2h0IG5lZWQgdG8gZG8gaG91c2VrZWVwaW5nIC8gaW5jbHVkZSB0ZXJyYWZvcm0gLyBjZGt0ZiB2ZXJzaW9uIGluIHRoZSBmdXR1cmVcbmZ1bmN0aW9uIGNhY2hlS2V5KGlucHV0OiBDb25zdHJ1Y3RzTWFrZXJUYXJnZXQpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGlucHV0LmZxbil9QCR7ZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgIGlucHV0LnZlcnNpb24gfHwgXCJcIixcbiAgKX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FjaGVkQWNjZXNzPEkgZXh0ZW5kcyBDb25zdHJ1Y3RzTWFrZXJUYXJnZXQsIE8+KFxuICBwcm9kdWNlcjogKGlucHV0OiBJKSA9PiBQcm9taXNlPE8+LFxuICBjYWNoZURpcj86IHN0cmluZyB8IG51bGwsXG4pOiAoaW5wdXQ6IEkpID0+IFByb21pc2U8Tz4ge1xuICBjb25zdCBjYWNoZUVuYWJsZWQgPSB0eXBlb2YgY2FjaGVEaXIgPT09IFwic3RyaW5nXCIgJiYgY2FjaGVEaXIubGVuZ3RoID4gMDtcblxuICBpZiAoY2FjaGVFbmFibGVkICYmICFmcy5sc3RhdFN5bmMoY2FjaGVEaXIgYXMgc3RyaW5nKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgdGhyb3cgRXJyb3JzLlVzYWdlKFxuICAgICAgYFByb3ZpZGVyIFNjaGVtYSBDYWNoZSBkaXJlY3RvcnkgJyR7Y2FjaGVEaXJ9JyBpcyBub3QgYSBkaXJlY3RvcnlgLFxuICAgICk7XG4gIH1cblxuICBpZiAoIWNhY2hlRW5hYmxlZCkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgUHJvdmlkZXIgU2NoZW1hIENhY2hlIGRpc2FibGVkYCk7XG4gICAgcmV0dXJuIChpbnB1dCkgPT4ge1xuICAgICAgcmV0dXJuIHByb2R1Y2VyKGlucHV0KTtcbiAgICB9O1xuICB9XG5cbiAgbG9nZ2VyLmRlYnVnKGBQcm92aWRlciBTY2hlbWEgQ2FjaGUgZW5hYmxlZCwgY2FjaGluZyBhdCAke2NhY2hlRGlyfWApO1xuICByZXR1cm4gYXN5bmMgKGlucHV0KSA9PiB7XG4gICAgY29uc3Qga2V5ID0gY2FjaGVLZXkoaW5wdXQpO1xuICAgIGNvbnN0IGNhY2hlUGF0aCA9IHBhdGguam9pbihjYWNoZURpciwgYCR7a2V5fS5qc29uYCk7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoY2FjaGVQYXRoKSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBDYWNoZSBoaXQgZm9yICR7a2V5fWApO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUoY2FjaGVQYXRoLCBcInV0Zi04XCIpKSBhcyBPO1xuICAgIH1cbiAgICBsb2dnZXIuZGVidWcoYENhY2hlIG1pc3MgZm9yICR7a2V5fSwgZ2VuZXJhdGluZyBzY2hlbWFgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb2R1Y2VyKGlucHV0KTtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUoY2FjaGVQYXRoLCBKU09OLnN0cmluZ2lmeShyZXN1bHQpKTtcbiAgICBsb2dnZXIuZGVidWcoYFdyaXRlIGNhY2hlIGZvciAke2tleX1gKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufVxuIl19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCw0Q0FBdUU7QUFDdkUsNkNBQStCO0FBQy9CLDJDQUE2QjtBQUU3QixxRUFBcUU7QUFDckUscUZBQXFGO0FBQ3JGLEVBQUU7QUFDRiwyRUFBMkU7QUFDM0UsNEVBQTRFO0FBQzVFLDBFQUEwRTtBQUMxRSxzQ0FBc0M7QUFDdEMsU0FBUyxRQUFRLENBQUMsS0FBNEIsRUFBRSxTQUFrQjtJQUNoRSxNQUFNLElBQUksR0FBRyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FDakUsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQ3BCLEVBQUUsQ0FBQztJQUNKLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdkUsQ0FBQztBQUVELFNBQWdCLFlBQVksQ0FDMUIsUUFBa0MsRUFDbEMsUUFBd0IsRUFDeEIsU0FBa0I7SUFFbEIsTUFBTSxZQUFZLEdBQUcsT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRXpFLElBQUksWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFrQixDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUNwRSxNQUFNLGdCQUFNLENBQUMsS0FBSyxDQUNoQixvQ0FBb0MsUUFBUSxzQkFBc0IsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDZixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdEUsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDckIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDckQsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0IsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQU0sQ0FBQztRQUNoRSxDQUFDO1FBQ0QsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsQ0FBQztRQUV6RCxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0RCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN2QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDSixDQUFDO0FBbkNELG9DQW1DQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHsgQ29uc3RydWN0c01ha2VyVGFyZ2V0LCBsb2dnZXIsIEVycm9ycyB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbi8vIFdlIGtlZXAgdGhpcyB2ZXJ5IHNpbXBsZSBzaW5jZSB0aGUgY2FjaGluZyBmZWF0dXJlIGlzIGV4cGVyaW1lbnRhbFxuLy8gd2UgbWlnaHQgbmVlZCB0byBkbyBob3VzZWtlZXBpbmcgLyBpbmNsdWRlIHRlcnJhZm9ybSAvIGNka3RmIHZlcnNpb24gaW4gdGhlIGZ1dHVyZVxuLy9cbi8vIGtleVN1ZmZpeCBkaXN0aW5ndWlzaGVzIGNhY2hlIGVudHJpZXMgZmV0Y2hlZCBieSBkaWZmZXJlbnQgQ0xJcy92ZXJzaW9uc1xuLy8gKGUuZy4gXCJ0ZXJyYWZvcm0tMS43XCIpIHNvIGEgc2NoZW1hIGZldGNoZWQgYnkgYSBDTEkgdG9vIG9sZCB0byBlbWl0IG5ld2VyXG4vLyBzZWN0aW9ucyAoZnVuY3Rpb25zLCBlcGhlbWVyYWwgcmVzb3VyY2VzLCAuLi4pIGlzbid0IHNlcnZlZCB1cCBhcyBpZiBpdFxuLy8gd2VyZSBhIGNvbXBsZXRlIGZldGNoLiBTZWUgcmVhZC50cy5cbmZ1bmN0aW9uIGNhY2hlS2V5KGlucHV0OiBDb25zdHJ1Y3RzTWFrZXJUYXJnZXQsIGtleVN1ZmZpeD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGJhc2UgPSBgJHtlbmNvZGVVUklDb21wb25lbnQoaW5wdXQuZnFuKX1AJHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgaW5wdXQudmVyc2lvbiB8fCBcIlwiLFxuICApfWA7XG4gIHJldHVybiBrZXlTdWZmaXggPyBgJHtiYXNlfUAke2VuY29kZVVSSUNvbXBvbmVudChrZXlTdWZmaXgpfWAgOiBiYXNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FjaGVkQWNjZXNzPEkgZXh0ZW5kcyBDb25zdHJ1Y3RzTWFrZXJUYXJnZXQsIE8+KFxuICBwcm9kdWNlcjogKGlucHV0OiBJKSA9PiBQcm9taXNlPE8+LFxuICBjYWNoZURpcj86IHN0cmluZyB8IG51bGwsXG4gIGtleVN1ZmZpeD86IHN0cmluZyxcbik6IChpbnB1dDogSSkgPT4gUHJvbWlzZTxPPiB7XG4gIGNvbnN0IGNhY2hlRW5hYmxlZCA9IHR5cGVvZiBjYWNoZURpciA9PT0gXCJzdHJpbmdcIiAmJiBjYWNoZURpci5sZW5ndGggPiAwO1xuXG4gIGlmIChjYWNoZUVuYWJsZWQgJiYgIWZzLmxzdGF0U3luYyhjYWNoZURpciBhcyBzdHJpbmcpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICB0aHJvdyBFcnJvcnMuVXNhZ2UoXG4gICAgICBgUHJvdmlkZXIgU2NoZW1hIENhY2hlIGRpcmVjdG9yeSAnJHtjYWNoZURpcn0nIGlzIG5vdCBhIGRpcmVjdG9yeWAsXG4gICAgKTtcbiAgfVxuXG4gIGlmICghY2FjaGVFbmFibGVkKSB7XG4gICAgbG9nZ2VyLmRlYnVnKGBQcm92aWRlciBTY2hlbWEgQ2FjaGUgZGlzYWJsZWRgKTtcbiAgICByZXR1cm4gKGlucHV0KSA9PiB7XG4gICAgICByZXR1cm4gcHJvZHVjZXIoaW5wdXQpO1xuICAgIH07XG4gIH1cblxuICBsb2dnZXIuZGVidWcoYFByb3ZpZGVyIFNjaGVtYSBDYWNoZSBlbmFibGVkLCBjYWNoaW5nIGF0ICR7Y2FjaGVEaXJ9YCk7XG4gIHJldHVybiBhc3luYyAoaW5wdXQpID0+IHtcbiAgICBjb25zdCBrZXkgPSBjYWNoZUtleShpbnB1dCwga2V5U3VmZml4KTtcbiAgICBjb25zdCBjYWNoZVBhdGggPSBwYXRoLmpvaW4oY2FjaGVEaXIsIGAke2tleX0uanNvbmApO1xuICAgIGlmIChmcy5leGlzdHNTeW5jKGNhY2hlUGF0aCkpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgQ2FjaGUgaGl0IGZvciAke2tleX1gKTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKGNhY2hlUGF0aCwgXCJ1dGYtOFwiKSkgYXMgTztcbiAgICB9XG4gICAgbG9nZ2VyLmRlYnVnKGBDYWNoZSBtaXNzIGZvciAke2tleX0sIGdlbmVyYXRpbmcgc2NoZW1hYCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9kdWNlcihpbnB1dCk7XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKGNhY2hlUGF0aCwgSlNPTi5zdHJpbmdpZnkocmVzdWx0KSk7XG4gICAgbG9nZ2VyLmRlYnVnKGBXcml0ZSBjYWNoZSBmb3IgJHtrZXl9YCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The newer-protocol schema sections that a fetching CLI only starts to
3
+ * *emit* in `terraform providers schema -json` as of a certain version.
4
+ *
5
+ * NOTE: these are emission boundaries, not language-support boundaries -
6
+ * e.g. provider functions are usable in HCL since Terraform 1.7.0, but only
7
+ * show up in the schema dump as of 1.8.0.
8
+ */
9
+ export type SchemaEmissionFamily = "functions" | "ephemeral_resource_schemas" | "write_only" | "resource_identity_schemas";
10
+ declare const TARGET_PRODUCTS: readonly ["terraform", "opentofu"];
11
+ type TargetProduct = (typeof TARGET_PRODUCTS)[number];
12
+ /**
13
+ * Hand-maintained from `tools/provider-feature-availability/features-matrix.json`
14
+ * — specifically each feature's `documented_emitted_from` /
15
+ * `observed_introduced` fields per product (see that directory's README for
16
+ * how the dataset itself is produced/regenerated, and its "In-repo
17
+ * consumers" section for how this map and `providerFeatureConstraints` in
18
+ * `packages/cdktn/src/provider-feature-constraints.ts` relate to the
19
+ * matrix and to each other).
20
+ *
21
+ * There is no automated check that this map stays in sync with the matrix;
22
+ * updates must be applied by hand when the matrix changes. An automated
23
+ * drift check is tracked in #309.
24
+ */
25
+ export declare const SCHEMA_EMISSION_BOUNDARIES: Record<SchemaEmissionFamily, Record<TargetProduct, string>>;
26
+ export declare const SCHEMA_EMISSION_FAMILY_LABELS: Record<SchemaEmissionFamily, string>;
27
+ export {};
28
+ //# sourceMappingURL=emission-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emission-check.d.ts","sourceRoot":"","sources":["../src/emission-check.ts"],"names":[],"mappings":"AASA;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,4BAA4B,GAC5B,YAAY,GACZ,2BAA2B,CAAC;AAEhC,QAAA,MAAM,eAAe,oCAAqC,CAAC;AAC3D,KAAK,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAC7C,oBAAoB,EACpB,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAM9B,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAChD,oBAAoB,EACpB,MAAM,CAMP,CAAC"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.suggestedEmittingCliVersions = exports.checkSchemaEmissionGapFamilies = exports.checkSchemaEmissionGaps = exports.SCHEMA_EMISSION_FAMILY_LABELS = exports.SCHEMA_EMISSION_BOUNDARIES = void 0;
27
+ // Copyright (c) HashiCorp, Inc
28
+ // SPDX-License-Identifier: MPL-2.0
29
+ const semver = __importStar(require("semver"));
30
+ const TARGET_PRODUCTS = ["terraform", "opentofu"];
31
+ /**
32
+ * Hand-maintained from `tools/provider-feature-availability/features-matrix.json`
33
+ * — specifically each feature's `documented_emitted_from` /
34
+ * `observed_introduced` fields per product (see that directory's README for
35
+ * how the dataset itself is produced/regenerated, and its "In-repo
36
+ * consumers" section for how this map and `providerFeatureConstraints` in
37
+ * `packages/cdktn/src/provider-feature-constraints.ts` relate to the
38
+ * matrix and to each other).
39
+ *
40
+ * There is no automated check that this map stays in sync with the matrix;
41
+ * updates must be applied by hand when the matrix changes. An automated
42
+ * drift check is tracked in #309.
43
+ */
44
+ exports.SCHEMA_EMISSION_BOUNDARIES = {
45
+ functions: { terraform: "1.8.0", opentofu: "1.8.0" },
46
+ ephemeral_resource_schemas: { terraform: "1.10.0", opentofu: "1.11.0" },
47
+ write_only: { terraform: "1.11.0", opentofu: "1.11.0" },
48
+ resource_identity_schemas: { terraform: "1.12.0", opentofu: "1.12.0" },
49
+ };
50
+ exports.SCHEMA_EMISSION_FAMILY_LABELS = {
51
+ functions: "provider functions",
52
+ ephemeral_resource_schemas: "ephemeral resources",
53
+ write_only: "write-only attributes",
54
+ resource_identity_schemas: "resource identity",
55
+ };
56
+ /**
57
+ * Determines which schema-emission gaps the given fetching CLI has, in
58
+ * light of the project's declared `targetVersions`.
59
+ *
60
+ * A family is reported when both are true:
61
+ * - the fetching CLI's own version predates that family's emission
62
+ * boundary for its product (so this particular fetch could not have
63
+ * included the section, even if the provider implements it)
64
+ * - at least one of the project's targeted products declares a range that
65
+ * intersects the versions where that family is emitted (i.e. the project
66
+ * actually intends to run on versions where the feature would show up)
67
+ *
68
+ * @internal exposed for testing
69
+ */
70
+ function checkSchemaEmissionGaps(cli, targets) {
71
+ return checkSchemaEmissionGapFamilies(cli, targets).map((family) => exports.SCHEMA_EMISSION_FAMILY_LABELS[family]);
72
+ }
73
+ exports.checkSchemaEmissionGaps = checkSchemaEmissionGaps;
74
+ /**
75
+ * Same as checkSchemaEmissionGaps, but returns the raw family keys so
76
+ * callers can also compute a remedy (see suggestedEmittingCliVersions).
77
+ *
78
+ * @internal exposed for testing
79
+ */
80
+ function checkSchemaEmissionGapFamilies(cli, targets) {
81
+ if (cli.name === "unknown" || !cli.version)
82
+ return [];
83
+ const cliProduct = cli.name;
84
+ const gaps = [];
85
+ for (const family of Object.keys(exports.SCHEMA_EMISSION_BOUNDARIES)) {
86
+ const boundaries = exports.SCHEMA_EMISSION_BOUNDARIES[family];
87
+ const cliBoundary = boundaries[cliProduct];
88
+ if (!cliBoundary)
89
+ continue;
90
+ // The fetching CLI is new enough to emit this family - no gap.
91
+ if (!semver.lt(cli.version, cliBoundary))
92
+ continue;
93
+ const wanted = TARGET_PRODUCTS.some((product) => {
94
+ const targetRange = targets[product];
95
+ if (!targetRange)
96
+ return false;
97
+ if (semver.validRange(targetRange) === null)
98
+ return false;
99
+ const supportedRange = `>=${boundaries[product]}`;
100
+ try {
101
+ return semver.intersects(targetRange, supportedRange);
102
+ }
103
+ catch (_a) {
104
+ return false;
105
+ }
106
+ });
107
+ if (wanted)
108
+ gaps.push(family);
109
+ }
110
+ return gaps;
111
+ }
112
+ exports.checkSchemaEmissionGapFamilies = checkSchemaEmissionGapFamilies;
113
+ /**
114
+ * The lowest CLI version per product whose `providers schema -json` emits
115
+ * every one of the given families — the remedy to suggest alongside the
116
+ * fetch-time warning.
117
+ *
118
+ * @internal exposed for testing
119
+ */
120
+ function suggestedEmittingCliVersions(families) {
121
+ return TARGET_PRODUCTS.map((product) => {
122
+ const needed = families
123
+ .map((family) => exports.SCHEMA_EMISSION_BOUNDARIES[family][product])
124
+ .sort(semver.compare)
125
+ .pop();
126
+ return needed ? `${product} >=${needed}` : undefined;
127
+ })
128
+ .filter((part) => part !== undefined)
129
+ .join(" / ");
130
+ }
131
+ exports.suggestedEmittingCliVersions = suggestedEmittingCliVersions;
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pc3Npb24tY2hlY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW1pc3Npb24tY2hlY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLCtDQUFpQztBQXFCakMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFHM0Q7Ozs7Ozs7Ozs7OztHQVlHO0FBQ1UsUUFBQSwwQkFBMEIsR0FHbkM7SUFDRixTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7SUFDcEQsMEJBQTBCLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7SUFDdkUsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO0lBQ3ZELHlCQUF5QixFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO0NBQ3ZFLENBQUM7QUFFVyxRQUFBLDZCQUE2QixHQUd0QztJQUNGLFNBQVMsRUFBRSxvQkFBb0I7SUFDL0IsMEJBQTBCLEVBQUUscUJBQXFCO0lBQ2pELFVBQVUsRUFBRSx1QkFBdUI7SUFDbkMseUJBQXlCLEVBQUUsbUJBQW1CO0NBQy9DLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3JDLEdBQXdCLEVBQ3hCLE9BQWdDO0lBRWhDLE9BQU8sOEJBQThCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FDckQsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLHFDQUE2QixDQUFDLE1BQU0sQ0FBQyxDQUNsRCxDQUFDO0FBQ0osQ0FBQztBQVBELDBEQU9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQiw4QkFBOEIsQ0FDNUMsR0FBd0IsRUFDeEIsT0FBZ0M7SUFFaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDdEQsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQXFCLENBQUM7SUFFN0MsTUFBTSxJQUFJLEdBQTJCLEVBQUUsQ0FBQztJQUV4QyxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQzlCLGtDQUEwQixDQUNELEVBQUUsQ0FBQztRQUM1QixNQUFNLFVBQVUsR0FBRyxrQ0FBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVc7WUFBRSxTQUFTO1FBRTNCLCtEQUErRDtRQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztZQUFFLFNBQVM7UUFFbkQsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzlDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsV0FBVztnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUMvQixJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUMxRCxNQUFNLGNBQWMsR0FBRyxLQUFLLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQztnQkFDSCxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFBQyxXQUFNLENBQUM7Z0JBQ1AsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLE1BQU07WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFuQ0Qsd0VBbUNDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQzFDLFFBQWdDO0lBRWhDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLFFBQVE7YUFDcEIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxrQ0FBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNwQixHQUFHLEVBQUUsQ0FBQztRQUNULE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sTUFBTSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztTQUNDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztTQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakIsQ0FBQztBQVpELG9FQVlDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgVGVycmFmb3JtQ2xpVmVyc2lvbixcbiAgVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMsXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG4vKipcbiAqIFRoZSBuZXdlci1wcm90b2NvbCBzY2hlbWEgc2VjdGlvbnMgdGhhdCBhIGZldGNoaW5nIENMSSBvbmx5IHN0YXJ0cyB0b1xuICogKmVtaXQqIGluIGB0ZXJyYWZvcm0gcHJvdmlkZXJzIHNjaGVtYSAtanNvbmAgYXMgb2YgYSBjZXJ0YWluIHZlcnNpb24uXG4gKlxuICogTk9URTogdGhlc2UgYXJlIGVtaXNzaW9uIGJvdW5kYXJpZXMsIG5vdCBsYW5ndWFnZS1zdXBwb3J0IGJvdW5kYXJpZXMgLVxuICogZS5nLiBwcm92aWRlciBmdW5jdGlvbnMgYXJlIHVzYWJsZSBpbiBIQ0wgc2luY2UgVGVycmFmb3JtIDEuNy4wLCBidXQgb25seVxuICogc2hvdyB1cCBpbiB0aGUgc2NoZW1hIGR1bXAgYXMgb2YgMS44LjAuXG4gKi9cbmV4cG9ydCB0eXBlIFNjaGVtYUVtaXNzaW9uRmFtaWx5ID1cbiAgfCBcImZ1bmN0aW9uc1wiXG4gIHwgXCJlcGhlbWVyYWxfcmVzb3VyY2Vfc2NoZW1hc1wiXG4gIHwgXCJ3cml0ZV9vbmx5XCJcbiAgfCBcInJlc291cmNlX2lkZW50aXR5X3NjaGVtYXNcIjtcblxuY29uc3QgVEFSR0VUX1BST0RVQ1RTID0gW1widGVycmFmb3JtXCIsIFwib3BlbnRvZnVcIl0gYXMgY29uc3Q7XG50eXBlIFRhcmdldFByb2R1Y3QgPSAodHlwZW9mIFRBUkdFVF9QUk9EVUNUUylbbnVtYmVyXTtcblxuLyoqXG4gKiBIYW5kLW1haW50YWluZWQgZnJvbSBgdG9vbHMvcHJvdmlkZXItZmVhdHVyZS1hdmFpbGFiaWxpdHkvZmVhdHVyZXMtbWF0cml4Lmpzb25gXG4gKiDigJQgc3BlY2lmaWNhbGx5IGVhY2ggZmVhdHVyZSdzIGBkb2N1bWVudGVkX2VtaXR0ZWRfZnJvbWAgL1xuICogYG9ic2VydmVkX2ludHJvZHVjZWRgIGZpZWxkcyBwZXIgcHJvZHVjdCAoc2VlIHRoYXQgZGlyZWN0b3J5J3MgUkVBRE1FIGZvclxuICogaG93IHRoZSBkYXRhc2V0IGl0c2VsZiBpcyBwcm9kdWNlZC9yZWdlbmVyYXRlZCwgYW5kIGl0cyBcIkluLXJlcG9cbiAqIGNvbnN1bWVyc1wiIHNlY3Rpb24gZm9yIGhvdyB0aGlzIG1hcCBhbmQgYHByb3ZpZGVyRmVhdHVyZUNvbnN0cmFpbnRzYCBpblxuICogYHBhY2thZ2VzL2Nka3RuL3NyYy9wcm92aWRlci1mZWF0dXJlLWNvbnN0cmFpbnRzLnRzYCByZWxhdGUgdG8gdGhlXG4gKiBtYXRyaXggYW5kIHRvIGVhY2ggb3RoZXIpLlxuICpcbiAqIFRoZXJlIGlzIG5vIGF1dG9tYXRlZCBjaGVjayB0aGF0IHRoaXMgbWFwIHN0YXlzIGluIHN5bmMgd2l0aCB0aGUgbWF0cml4O1xuICogdXBkYXRlcyBtdXN0IGJlIGFwcGxpZWQgYnkgaGFuZCB3aGVuIHRoZSBtYXRyaXggY2hhbmdlcy4gQW4gYXV0b21hdGVkXG4gKiBkcmlmdCBjaGVjayBpcyB0cmFja2VkIGluICMzMDkuXG4gKi9cbmV4cG9ydCBjb25zdCBTQ0hFTUFfRU1JU1NJT05fQk9VTkRBUklFUzogUmVjb3JkPFxuICBTY2hlbWFFbWlzc2lvbkZhbWlseSxcbiAgUmVjb3JkPFRhcmdldFByb2R1Y3QsIHN0cmluZz5cbj4gPSB7XG4gIGZ1bmN0aW9uczogeyB0ZXJyYWZvcm06IFwiMS44LjBcIiwgb3BlbnRvZnU6IFwiMS44LjBcIiB9LFxuICBlcGhlbWVyYWxfcmVzb3VyY2Vfc2NoZW1hczogeyB0ZXJyYWZvcm06IFwiMS4xMC4wXCIsIG9wZW50b2Z1OiBcIjEuMTEuMFwiIH0sXG4gIHdyaXRlX29ubHk6IHsgdGVycmFmb3JtOiBcIjEuMTEuMFwiLCBvcGVudG9mdTogXCIxLjExLjBcIiB9LFxuICByZXNvdXJjZV9pZGVudGl0eV9zY2hlbWFzOiB7IHRlcnJhZm9ybTogXCIxLjEyLjBcIiwgb3BlbnRvZnU6IFwiMS4xMi4wXCIgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBTQ0hFTUFfRU1JU1NJT05fRkFNSUxZX0xBQkVMUzogUmVjb3JkPFxuICBTY2hlbWFFbWlzc2lvbkZhbWlseSxcbiAgc3RyaW5nXG4+ID0ge1xuICBmdW5jdGlvbnM6IFwicHJvdmlkZXIgZnVuY3Rpb25zXCIsXG4gIGVwaGVtZXJhbF9yZXNvdXJjZV9zY2hlbWFzOiBcImVwaGVtZXJhbCByZXNvdXJjZXNcIixcbiAgd3JpdGVfb25seTogXCJ3cml0ZS1vbmx5IGF0dHJpYnV0ZXNcIixcbiAgcmVzb3VyY2VfaWRlbnRpdHlfc2NoZW1hczogXCJyZXNvdXJjZSBpZGVudGl0eVwiLFxufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoaWNoIHNjaGVtYS1lbWlzc2lvbiBnYXBzIHRoZSBnaXZlbiBmZXRjaGluZyBDTEkgaGFzLCBpblxuICogbGlnaHQgb2YgdGhlIHByb2plY3QncyBkZWNsYXJlZCBgdGFyZ2V0VmVyc2lvbnNgLlxuICpcbiAqIEEgZmFtaWx5IGlzIHJlcG9ydGVkIHdoZW4gYm90aCBhcmUgdHJ1ZTpcbiAqIC0gdGhlIGZldGNoaW5nIENMSSdzIG93biB2ZXJzaW9uIHByZWRhdGVzIHRoYXQgZmFtaWx5J3MgZW1pc3Npb25cbiAqICAgYm91bmRhcnkgZm9yIGl0cyBwcm9kdWN0IChzbyB0aGlzIHBhcnRpY3VsYXIgZmV0Y2ggY291bGQgbm90IGhhdmVcbiAqICAgaW5jbHVkZWQgdGhlIHNlY3Rpb24sIGV2ZW4gaWYgdGhlIHByb3ZpZGVyIGltcGxlbWVudHMgaXQpXG4gKiAtIGF0IGxlYXN0IG9uZSBvZiB0aGUgcHJvamVjdCdzIHRhcmdldGVkIHByb2R1Y3RzIGRlY2xhcmVzIGEgcmFuZ2UgdGhhdFxuICogICBpbnRlcnNlY3RzIHRoZSB2ZXJzaW9ucyB3aGVyZSB0aGF0IGZhbWlseSBpcyBlbWl0dGVkIChpLmUuIHRoZSBwcm9qZWN0XG4gKiAgIGFjdHVhbGx5IGludGVuZHMgdG8gcnVuIG9uIHZlcnNpb25zIHdoZXJlIHRoZSBmZWF0dXJlIHdvdWxkIHNob3cgdXApXG4gKlxuICogQGludGVybmFsIGV4cG9zZWQgZm9yIHRlc3RpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrU2NoZW1hRW1pc3Npb25HYXBzKFxuICBjbGk6IFRlcnJhZm9ybUNsaVZlcnNpb24sXG4gIHRhcmdldHM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxuKTogc3RyaW5nW10ge1xuICByZXR1cm4gY2hlY2tTY2hlbWFFbWlzc2lvbkdhcEZhbWlsaWVzKGNsaSwgdGFyZ2V0cykubWFwKFxuICAgIChmYW1pbHkpID0+IFNDSEVNQV9FTUlTU0lPTl9GQU1JTFlfTEFCRUxTW2ZhbWlseV0sXG4gICk7XG59XG5cbi8qKlxuICogU2FtZSBhcyBjaGVja1NjaGVtYUVtaXNzaW9uR2FwcywgYnV0IHJldHVybnMgdGhlIHJhdyBmYW1pbHkga2V5cyBzb1xuICogY2FsbGVycyBjYW4gYWxzbyBjb21wdXRlIGEgcmVtZWR5IChzZWUgc3VnZ2VzdGVkRW1pdHRpbmdDbGlWZXJzaW9ucykuXG4gKlxuICogQGludGVybmFsIGV4cG9zZWQgZm9yIHRlc3RpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrU2NoZW1hRW1pc3Npb25HYXBGYW1pbGllcyhcbiAgY2xpOiBUZXJyYWZvcm1DbGlWZXJzaW9uLFxuICB0YXJnZXRzOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyxcbik6IFNjaGVtYUVtaXNzaW9uRmFtaWx5W10ge1xuICBpZiAoY2xpLm5hbWUgPT09IFwidW5rbm93blwiIHx8ICFjbGkudmVyc2lvbikgcmV0dXJuIFtdO1xuICBjb25zdCBjbGlQcm9kdWN0ID0gY2xpLm5hbWUgYXMgVGFyZ2V0UHJvZHVjdDtcblxuICBjb25zdCBnYXBzOiBTY2hlbWFFbWlzc2lvbkZhbWlseVtdID0gW107XG5cbiAgZm9yIChjb25zdCBmYW1pbHkgb2YgT2JqZWN0LmtleXMoXG4gICAgU0NIRU1BX0VNSVNTSU9OX0JPVU5EQVJJRVMsXG4gICkgYXMgU2NoZW1hRW1pc3Npb25GYW1pbHlbXSkge1xuICAgIGNvbnN0IGJvdW5kYXJpZXMgPSBTQ0hFTUFfRU1JU1NJT05fQk9VTkRBUklFU1tmYW1pbHldO1xuICAgIGNvbnN0IGNsaUJvdW5kYXJ5ID0gYm91bmRhcmllc1tjbGlQcm9kdWN0XTtcbiAgICBpZiAoIWNsaUJvdW5kYXJ5KSBjb250aW51ZTtcblxuICAgIC8vIFRoZSBmZXRjaGluZyBDTEkgaXMgbmV3IGVub3VnaCB0byBlbWl0IHRoaXMgZmFtaWx5IC0gbm8gZ2FwLlxuICAgIGlmICghc2VtdmVyLmx0KGNsaS52ZXJzaW9uLCBjbGlCb3VuZGFyeSkpIGNvbnRpbnVlO1xuXG4gICAgY29uc3Qgd2FudGVkID0gVEFSR0VUX1BST0RVQ1RTLnNvbWUoKHByb2R1Y3QpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldFJhbmdlID0gdGFyZ2V0c1twcm9kdWN0XTtcbiAgICAgIGlmICghdGFyZ2V0UmFuZ2UpIHJldHVybiBmYWxzZTtcbiAgICAgIGlmIChzZW12ZXIudmFsaWRSYW5nZSh0YXJnZXRSYW5nZSkgPT09IG51bGwpIHJldHVybiBmYWxzZTtcbiAgICAgIGNvbnN0IHN1cHBvcnRlZFJhbmdlID0gYD49JHtib3VuZGFyaWVzW3Byb2R1Y3RdfWA7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gc2VtdmVyLmludGVyc2VjdHModGFyZ2V0UmFuZ2UsIHN1cHBvcnRlZFJhbmdlKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAod2FudGVkKSBnYXBzLnB1c2goZmFtaWx5KTtcbiAgfVxuXG4gIHJldHVybiBnYXBzO1xufVxuXG4vKipcbiAqIFRoZSBsb3dlc3QgQ0xJIHZlcnNpb24gcGVyIHByb2R1Y3Qgd2hvc2UgYHByb3ZpZGVycyBzY2hlbWEgLWpzb25gIGVtaXRzXG4gKiBldmVyeSBvbmUgb2YgdGhlIGdpdmVuIGZhbWlsaWVzIOKAlCB0aGUgcmVtZWR5IHRvIHN1Z2dlc3QgYWxvbmdzaWRlIHRoZVxuICogZmV0Y2gtdGltZSB3YXJuaW5nLlxuICpcbiAqIEBpbnRlcm5hbCBleHBvc2VkIGZvciB0ZXN0aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWdnZXN0ZWRFbWl0dGluZ0NsaVZlcnNpb25zKFxuICBmYW1pbGllczogU2NoZW1hRW1pc3Npb25GYW1pbHlbXSxcbik6IHN0cmluZyB7XG4gIHJldHVybiBUQVJHRVRfUFJPRFVDVFMubWFwKChwcm9kdWN0KSA9PiB7XG4gICAgY29uc3QgbmVlZGVkID0gZmFtaWxpZXNcbiAgICAgIC5tYXAoKGZhbWlseSkgPT4gU0NIRU1BX0VNSVNTSU9OX0JPVU5EQVJJRVNbZmFtaWx5XVtwcm9kdWN0XSlcbiAgICAgIC5zb3J0KHNlbXZlci5jb21wYXJlKVxuICAgICAgLnBvcCgpO1xuICAgIHJldHVybiBuZWVkZWQgPyBgJHtwcm9kdWN0fSA+PSR7bmVlZGVkfWAgOiB1bmRlZmluZWQ7XG4gIH0pXG4gICAgLmZpbHRlcigocGFydCkgPT4gcGFydCAhPT0gdW5kZWZpbmVkKVxuICAgIC5qb2luKFwiIC8gXCIpO1xufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"provider-schema.d.ts","sourceRoot":"","sources":["../src/provider-schema.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,2BAA2B,EAC3B,6BAA6B,EAG7B,YAAY,EACZ,cAAc,EAMf,MAAM,gBAAgB,CAAC;AAiExB;;;GAGG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,4BAA4B,CAAA;CAAE,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,SAAS,MAAO,IAAI;cAMnB,gBAAgB;eACf,iBAAiB;UACtB,YAAY;CAErB,CAAC;AAkIF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IACnD,SAAS,EAAE;QACT,kBAAkB,CAAC,EAAE;YACnB,CAAC,IAAI,EAAE,MAAM,GAAG;gBAAE,MAAM,CAAC,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SACvD,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACnE;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,6BAA6B,2BAuCtC;AAID,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAsC7E;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,yCAqCzE"}
1
+ {"version":3,"file":"provider-schema.d.ts","sourceRoot":"","sources":["../src/provider-schema.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,2BAA2B,EAC3B,6BAA6B,EAG7B,YAAY,EACZ,cAAc,EAUf,MAAM,gBAAgB,CAAC;AA2FxB;;;GAGG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,4BAA4B,CAAA;CAAE,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,SAAS,MAAO,IAAI;cAMnB,gBAAgB;eACf,iBAAiB;UACtB,YAAY;CAErB,CAAC;AAuIF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IACnD,SAAS,EAAE;QACT,kBAAkB,CAAC,EAAE;YACnB,CAAC,IAAI,EAAE,MAAM,GAAG;gBAAE,MAAM,CAAC,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SACvD,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACnE;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,6BAA6B,2BAoDtC;AA2DD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAuC7E;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,yCAqCzE"}