cdktn 0.25.0-pre.2 → 0.25.0-pre.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/.jsii +927 -107
  2. package/lib/annotations.js +4 -4
  3. package/lib/app.js +54 -5
  4. package/lib/aspect.js +3 -4
  5. package/lib/asset-hash.d.ts +75 -0
  6. package/lib/asset-hash.js +129 -0
  7. package/lib/assets.d.ts +168 -0
  8. package/lib/assets.js +128 -0
  9. package/lib/backends/azurerm-backend.js +4 -6
  10. package/lib/backends/cloud-backend.js +10 -10
  11. package/lib/backends/consul-backend.js +4 -6
  12. package/lib/backends/cos-backend.js +4 -6
  13. package/lib/backends/gcs-backend.js +4 -6
  14. package/lib/backends/http-backend.js +4 -6
  15. package/lib/backends/local-backend.js +38 -7
  16. package/lib/backends/oss-backend.js +4 -6
  17. package/lib/backends/pg-backend.js +4 -6
  18. package/lib/backends/remote-backend.js +8 -10
  19. package/lib/backends/s3-backend.js +4 -6
  20. package/lib/backends/swift-backend.js +4 -6
  21. package/lib/complex-computed-list.js +114 -65
  22. package/lib/errors.d.ts +6 -0
  23. package/lib/errors.js +24 -3
  24. package/lib/functions/provider-function.js +2 -4
  25. package/lib/functions/terraform-functions.generated.js +2 -4
  26. package/lib/ignore-strategy.d.ts +82 -0
  27. package/lib/ignore-strategy.js +29 -0
  28. package/lib/importable-resource.js +3 -4
  29. package/lib/index.d.ts +3 -0
  30. package/lib/index.js +27 -2
  31. package/lib/manifest.js +56 -14
  32. package/lib/private/fs.d.ts +74 -2
  33. package/lib/private/fs.js +129 -17
  34. package/lib/private/unique.js +35 -2
  35. package/lib/resource.js +3 -4
  36. package/lib/synthesize/synthesizer.js +43 -4
  37. package/lib/terraform-asset.d.ts +33 -2
  38. package/lib/terraform-asset.js +118 -34
  39. package/lib/terraform-backend.js +3 -4
  40. package/lib/terraform-count.js +3 -4
  41. package/lib/terraform-data-resource.js +12 -10
  42. package/lib/terraform-data-source.js +10 -4
  43. package/lib/terraform-dynamic-block.js +5 -2
  44. package/lib/terraform-dynamic-expression.js +4 -1
  45. package/lib/terraform-element.js +34 -6
  46. package/lib/terraform-ephemeral-resource.js +10 -4
  47. package/lib/terraform-functions.js +2 -4
  48. package/lib/terraform-hcl-module.js +3 -4
  49. package/lib/terraform-iterator.js +11 -12
  50. package/lib/terraform-local.js +3 -4
  51. package/lib/terraform-module-asset.js +45 -5
  52. package/lib/terraform-module.js +8 -4
  53. package/lib/terraform-operators.js +2 -4
  54. package/lib/terraform-output.js +7 -4
  55. package/lib/terraform-provider.js +5 -4
  56. package/lib/terraform-provisioner.js +2 -4
  57. package/lib/terraform-remote-state.js +5 -5
  58. package/lib/terraform-resource-targets.js +3 -7
  59. package/lib/terraform-resource.js +16 -5
  60. package/lib/terraform-stack.js +38 -38
  61. package/lib/terraform-variable.js +25 -22
  62. package/lib/testing/index.js +42 -8
  63. package/lib/testing/matchers.js +39 -6
  64. package/lib/tfExpression.js +25 -8
  65. package/lib/tokens/lazy.js +11 -7
  66. package/lib/tokens/private/dependency.js +2 -2
  67. package/lib/tokens/private/encoding.js +6 -1
  68. package/lib/tokens/private/intrinsic.js +6 -1
  69. package/lib/tokens/private/resolve.js +2 -5
  70. package/lib/tokens/private/token-map.js +4 -6
  71. package/lib/tokens/private/uniqueid.js +35 -2
  72. package/lib/tokens/resolvable.js +4 -6
  73. package/lib/tokens/string-fragments.js +6 -10
  74. package/lib/tokens/token.js +15 -18
  75. package/lib/upgrade-id-aspect.js +37 -6
  76. package/lib/validations/target-versions.js +39 -2
  77. package/lib/validations/validate-binary-version.js +39 -2
  78. package/lib/validations/validate-function-version-support.js +2 -1
  79. package/lib/validations/validate-provider-function-target-support.js +2 -1
  80. package/lib/validations/validate-provider-presence.js +10 -9
  81. package/lib/validations/validate-terraform-version.js +3 -1
  82. package/package.json +5 -5
  83. package/scripts/pack.mjs +57 -15
  84. package/lib/tsconfig.tsbuildinfo +0 -1
  85. package/tsconfig.json +0 -40
  86. package/tsconfig.test.json +0 -12
@@ -29,6 +29,7 @@ const terraform_stack_1 = require("../terraform-stack");
29
29
  * rationale.
30
30
  */
31
31
  class ValidateFunctionVersionSupport {
32
+ scope;
32
33
  constructor(scope) {
33
34
  this.scope = scope;
34
35
  }
@@ -63,4 +64,4 @@ function availabilityHint(supportedIn) {
63
64
  const parts = Object.entries(supportedIn).map(([product, range]) => `${product} ${range}`);
64
65
  return `It is available in ${parts.join(" and ")}.`;
65
66
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtZnVuY3Rpb24tdmVyc2lvbi1zdXBwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb25zL3ZhbGlkYXRlLWZ1bmN0aW9uLXZlcnNpb24tc3VwcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSx1REFHMkI7QUFDM0Isa0dBR3NEO0FBQ3RELHdEQUFvRDtBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFhLDhCQUE4QjtJQUN6QyxZQUFzQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO0lBQUcsQ0FBQztJQUVwQyxRQUFRO1FBQ2IsTUFBTSxLQUFLLEdBQUcsZ0NBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDWixDQUFDLENBQUMsZ0NBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSzthQUMvQixpQkFBaUIsRUFBRTthQUNuQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSw0REFBMEIsQ0FBQzthQUNwRCxJQUFJLEVBQUUsQ0FBQztRQUVWLG1FQUFtRTtRQUNuRSxJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEsdUNBQXFCLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNDLE1BQU0sV0FBVyxHQUFHLDREQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELE9BQU8sSUFBQSxnREFBOEIsRUFDbkMsdUJBQXVCLElBQUksR0FBRyxFQUM5QixXQUFXLEVBQ1gsT0FBTyxFQUNQLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUM5QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFoQ0Qsd0VBZ0NDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FBQyxXQUF1QztJQUMvRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FDM0MsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLElBQUksS0FBSyxFQUFFLENBQzVDLENBQUM7SUFDRixPQUFPLHNCQUFzQixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJQ29uc3RydWN0LCBJVmFsaWRhdGlvbiB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBjaGVja0ZlYXR1cmVTdXBwb3J0ZWRCeVRhcmdldHMsXG4gIHJlc29sdmVUYXJnZXRWZXJzaW9ucyxcbn0gZnJvbSBcIi4vdGFyZ2V0LXZlcnNpb25zXCI7XG5pbXBvcnQge1xuICBGdW5jdGlvblZlcnNpb25Db25zdHJhaW50cyxcbiAgZnVuY3Rpb25WZXJzaW9uQ29uc3RyYWludHMsXG59IGZyb20gXCIuLi9mdW5jdGlvbnMvZnVuY3Rpb24tYXZhaWxhYmlsaXR5LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi4vdGVycmFmb3JtLXN0YWNrXCI7XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoYXQgZXZlcnkgVGVycmFmb3JtIGZ1bmN0aW9uIHVzZWQgdGhyb3VnaCBgRm5gIGlzIHN1cHBvcnRlZCBieVxuICogdGhlIHByb2plY3QncyBkZWNsYXJlZCBUZXJyYWZvcm0vT3BlblRvZnUgdGFyZ2V0cyAoY2RrdGYuanNvblxuICogYHRhcmdldFZlcnNpb25zYCwgZGVmYXVsdGluZyB0byB0aGUgZHVhbCBwcm9kdWN0IGJhc2VsaW5lKS5cbiAqXG4gKiBNb3N0IGZ1bmN0aW9ucyBhcmUgdW5pdmVyc2FsbHkgYXZhaWxhYmxlIGFuZCBhcmUgbm90IGNoZWNrZWQgYXQgYWxsOyBvbmx5XG4gKiBmdW5jdGlvbnMgbGlzdGVkIGluIHRoZSBnZW5lcmF0ZWQgYXZhaWxhYmlsaXR5IG1hcCBhcmUgdmFsaWRhdGVkLiBUaGVcbiAqIGNoZWNrIGlzIHB1cmVseSBkZWNsYXJhdGl2ZSDigJQgbm8gYmluYXJ5IGlzIGV4ZWN1dGVkIOKAlCBzbyBzeW50aCBiZWhhdmVzXG4gKiBpZGVudGljYWxseSBpbiBDSSwgcGFja2FnZSBidWlsZHMsIGFuZCBlbnZpcm9ubWVudHMgd2l0aG91dCBUZXJyYWZvcm0gb3JcbiAqIE9wZW5Ub2Z1IGluc3RhbGxlZC4gVmVyaWZ5aW5nIHRoZSBhY3R1YWxseSBpbnN0YWxsZWQgYmluYXJ5IGlzIHRoZVxuICogc2VwYXJhdGUsIG9wdC1pbiBgdmFsaWRhdGVJbnN0YWxsZWRCaW5hcnlgIENMSSBiZWhhdmlvci5cbiAqXG4gKiBGdW5jdGlvbnMgdXNlZCB2aWEgcmF3IGVzY2FwZSBoYXRjaGVzIChvdmVycmlkZXMsIGhhbmQtd3JpdHRlbiBleHByZXNzaW9uXG4gKiBzdHJpbmdzKSBhcmUgbm90IHRyYWNrZWQgYW5kIHRoZXJlZm9yZSBub3QgdmFsaWRhdGVkLlxuICpcbiAqIFVzYWdlIGlzIHJlYWQgZnJvbSB0aGUgT1dOSU5HIFNUQUNLIChgVGVycmFmb3JtU3RhY2suX2dldFVzZWRGdW5jdGlvbnMoKWApXG4gKiByYXRoZXIgdGhhbiBmcm9tIGBub2RlLnJvb3RgOiB0aGlzIHZhbGlkYXRpb24gaXMgcmVnaXN0ZXJlZCBpblxuICogYFRlcnJhZm9ybVN0YWNrYCdzIGNvbnN0cnVjdG9yIHdpdGggdGhlIHN0YWNrIGl0c2VsZiBhcyBzY29wZSwgYW5kXG4gKiBgcmVzb2x2ZVRhcmdldFZlcnNpb25zYCBiZWxvdyB3YWxrcyBjb250ZXh0IHVwIGZyb20gdGhhdCBzYW1lIHNjb3BlLCBzbyBhXG4gKiBwZXItc3RhY2sgYHRhcmdldFZlcnNpb25zYCBvdmVycmlkZSBpcyBwb3NzaWJsZSAtIHJlYWRpbmcgYSByb290LWtleWVkXG4gKiAoQXBwLXdpZGUpIHVzYWdlIHJlY29yZCB3b3VsZCB2YWxpZGF0ZSBvbmUgc3RhY2sncyB1c2FnZSBhZ2FpbnN0IGFcbiAqIHNpYmxpbmcgc3RhY2sncyB0YXJnZXRzLiBTZWUgYFRlcnJhZm9ybVN0YWNrLl91c2VkRnVuY3Rpb25zYCBmb3IgdGhlIGZ1bGxcbiAqIHJhdGlvbmFsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlRnVuY3Rpb25WZXJzaW9uU3VwcG9ydCBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNjb3BlOiBJQ29uc3RydWN0KSB7fVxuXG4gIHB1YmxpYyB2YWxpZGF0ZSgpIHtcbiAgICBjb25zdCBzdGFjayA9IFRlcnJhZm9ybVN0YWNrLmlzU3RhY2sodGhpcy5zY29wZSlcbiAgICAgID8gdGhpcy5zY29wZVxuICAgICAgOiBUZXJyYWZvcm1TdGFjay5vZih0aGlzLnNjb3BlKTtcbiAgICBjb25zdCBjb25zdHJhaW5lZEZ1bmN0aW9ucyA9IHN0YWNrXG4gICAgICAuX2dldFVzZWRGdW5jdGlvbnMoKVxuICAgICAgLmZpbHRlcigobmFtZSkgPT4gbmFtZSBpbiBmdW5jdGlvblZlcnNpb25Db25zdHJhaW50cylcbiAgICAgIC5zb3J0KCk7XG5cbiAgICAvLyBvbmx5IHVuaXZlcnNhbGx5IGF2YWlsYWJsZSBmdW5jdGlvbnMgaW4gdXNlOiBub3RoaW5nIHRvIHZhbGlkYXRlXG4gICAgaWYgKGNvbnN0cmFpbmVkRnVuY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHsgdGFyZ2V0cywgZXJyb3JzIH0gPSByZXNvbHZlVGFyZ2V0VmVyc2lvbnModGhpcy5zY29wZSk7XG4gICAgaWYgKCF0YXJnZXRzKSB7XG4gICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH1cblxuICAgIHJldHVybiBjb25zdHJhaW5lZEZ1bmN0aW9ucy5mbGF0TWFwKChuYW1lKSA9PiB7XG4gICAgICBjb25zdCBzdXBwb3J0ZWRJbiA9IGZ1bmN0aW9uVmVyc2lvbkNvbnN0cmFpbnRzW25hbWVdO1xuICAgICAgcmV0dXJuIGNoZWNrRmVhdHVyZVN1cHBvcnRlZEJ5VGFyZ2V0cyhcbiAgICAgICAgYFRlcnJhZm9ybSBmdW5jdGlvbiBcIiR7bmFtZX1cImAsXG4gICAgICAgIHN1cHBvcnRlZEluLFxuICAgICAgICB0YXJnZXRzLFxuICAgICAgICBhdmFpbGFiaWxpdHlIaW50KHN1cHBvcnRlZEluKSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUZWxscyB0aGUgdXNlciB3aGVyZSB0aGUgZnVuY3Rpb24gSVMgYXZhaWxhYmxlLCBzbyB0aGV5IGNhbiBhZGp1c3QgdGhlaXJcbiAqIGRlY2xhcmVkIHRhcmdldFZlcnNpb25zIChvciBkcm9wIHRoZSBmdW5jdGlvbikuXG4gKi9cbmZ1bmN0aW9uIGF2YWlsYWJpbGl0eUhpbnQoc3VwcG9ydGVkSW46IEZ1bmN0aW9uVmVyc2lvbkNvbnN0cmFpbnRzKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHMgPSBPYmplY3QuZW50cmllcyhzdXBwb3J0ZWRJbikubWFwKFxuICAgIChbcHJvZHVjdCwgcmFuZ2VdKSA9PiBgJHtwcm9kdWN0fSAke3JhbmdlfWAsXG4gICk7XG4gIHJldHVybiBgSXQgaXMgYXZhaWxhYmxlIGluICR7cGFydHMuam9pbihcIiBhbmQgXCIpfS5gO1xufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtZnVuY3Rpb24tdmVyc2lvbi1zdXBwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb25zL3ZhbGlkYXRlLWZ1bmN0aW9uLXZlcnNpb24tc3VwcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSx1REFHMkI7QUFDM0Isa0dBR3NEO0FBQ3RELHdEQUFvRDtBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFhLDhCQUE4QjtJQUNuQjtJQUF0QixZQUFzQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO0lBQUcsQ0FBQztJQUVwQyxRQUFRO1FBQ2IsTUFBTSxLQUFLLEdBQUcsZ0NBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDWixDQUFDLENBQUMsZ0NBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSzthQUMvQixpQkFBaUIsRUFBRTthQUNuQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSw0REFBMEIsQ0FBQzthQUNwRCxJQUFJLEVBQUUsQ0FBQztRQUVWLG1FQUFtRTtRQUNuRSxJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEsdUNBQXFCLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxPQUFPLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNDLE1BQU0sV0FBVyxHQUFHLDREQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELE9BQU8sSUFBQSxnREFBOEIsRUFDbkMsdUJBQXVCLElBQUksR0FBRyxFQUM5QixXQUFXLEVBQ1gsT0FBTyxFQUNQLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUM5QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFoQ0Qsd0VBZ0NDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FBQyxXQUF1QztJQUMvRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FDM0MsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLElBQUksS0FBSyxFQUFFLENBQzVDLENBQUM7SUFDRixPQUFPLHNCQUFzQixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJQ29uc3RydWN0LCBJVmFsaWRhdGlvbiB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBjaGVja0ZlYXR1cmVTdXBwb3J0ZWRCeVRhcmdldHMsXG4gIHJlc29sdmVUYXJnZXRWZXJzaW9ucyxcbn0gZnJvbSBcIi4vdGFyZ2V0LXZlcnNpb25zXCI7XG5pbXBvcnQge1xuICBGdW5jdGlvblZlcnNpb25Db25zdHJhaW50cyxcbiAgZnVuY3Rpb25WZXJzaW9uQ29uc3RyYWludHMsXG59IGZyb20gXCIuLi9mdW5jdGlvbnMvZnVuY3Rpb24tYXZhaWxhYmlsaXR5LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi4vdGVycmFmb3JtLXN0YWNrXCI7XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoYXQgZXZlcnkgVGVycmFmb3JtIGZ1bmN0aW9uIHVzZWQgdGhyb3VnaCBgRm5gIGlzIHN1cHBvcnRlZCBieVxuICogdGhlIHByb2plY3QncyBkZWNsYXJlZCBUZXJyYWZvcm0vT3BlblRvZnUgdGFyZ2V0cyAoY2RrdGYuanNvblxuICogYHRhcmdldFZlcnNpb25zYCwgZGVmYXVsdGluZyB0byB0aGUgZHVhbCBwcm9kdWN0IGJhc2VsaW5lKS5cbiAqXG4gKiBNb3N0IGZ1bmN0aW9ucyBhcmUgdW5pdmVyc2FsbHkgYXZhaWxhYmxlIGFuZCBhcmUgbm90IGNoZWNrZWQgYXQgYWxsOyBvbmx5XG4gKiBmdW5jdGlvbnMgbGlzdGVkIGluIHRoZSBnZW5lcmF0ZWQgYXZhaWxhYmlsaXR5IG1hcCBhcmUgdmFsaWRhdGVkLiBUaGVcbiAqIGNoZWNrIGlzIHB1cmVseSBkZWNsYXJhdGl2ZSDigJQgbm8gYmluYXJ5IGlzIGV4ZWN1dGVkIOKAlCBzbyBzeW50aCBiZWhhdmVzXG4gKiBpZGVudGljYWxseSBpbiBDSSwgcGFja2FnZSBidWlsZHMsIGFuZCBlbnZpcm9ubWVudHMgd2l0aG91dCBUZXJyYWZvcm0gb3JcbiAqIE9wZW5Ub2Z1IGluc3RhbGxlZC4gVmVyaWZ5aW5nIHRoZSBhY3R1YWxseSBpbnN0YWxsZWQgYmluYXJ5IGlzIHRoZVxuICogc2VwYXJhdGUsIG9wdC1pbiBgdmFsaWRhdGVJbnN0YWxsZWRCaW5hcnlgIENMSSBiZWhhdmlvci5cbiAqXG4gKiBGdW5jdGlvbnMgdXNlZCB2aWEgcmF3IGVzY2FwZSBoYXRjaGVzIChvdmVycmlkZXMsIGhhbmQtd3JpdHRlbiBleHByZXNzaW9uXG4gKiBzdHJpbmdzKSBhcmUgbm90IHRyYWNrZWQgYW5kIHRoZXJlZm9yZSBub3QgdmFsaWRhdGVkLlxuICpcbiAqIFVzYWdlIGlzIHJlYWQgZnJvbSB0aGUgT1dOSU5HIFNUQUNLIChgVGVycmFmb3JtU3RhY2suX2dldFVzZWRGdW5jdGlvbnMoKWApXG4gKiByYXRoZXIgdGhhbiBmcm9tIGBub2RlLnJvb3RgOiB0aGlzIHZhbGlkYXRpb24gaXMgcmVnaXN0ZXJlZCBpblxuICogYFRlcnJhZm9ybVN0YWNrYCdzIGNvbnN0cnVjdG9yIHdpdGggdGhlIHN0YWNrIGl0c2VsZiBhcyBzY29wZSwgYW5kXG4gKiBgcmVzb2x2ZVRhcmdldFZlcnNpb25zYCBiZWxvdyB3YWxrcyBjb250ZXh0IHVwIGZyb20gdGhhdCBzYW1lIHNjb3BlLCBzbyBhXG4gKiBwZXItc3RhY2sgYHRhcmdldFZlcnNpb25zYCBvdmVycmlkZSBpcyBwb3NzaWJsZSAtIHJlYWRpbmcgYSByb290LWtleWVkXG4gKiAoQXBwLXdpZGUpIHVzYWdlIHJlY29yZCB3b3VsZCB2YWxpZGF0ZSBvbmUgc3RhY2sncyB1c2FnZSBhZ2FpbnN0IGFcbiAqIHNpYmxpbmcgc3RhY2sncyB0YXJnZXRzLiBTZWUgYFRlcnJhZm9ybVN0YWNrLl91c2VkRnVuY3Rpb25zYCBmb3IgdGhlIGZ1bGxcbiAqIHJhdGlvbmFsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlRnVuY3Rpb25WZXJzaW9uU3VwcG9ydCBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNjb3BlOiBJQ29uc3RydWN0KSB7fVxuXG4gIHB1YmxpYyB2YWxpZGF0ZSgpIHtcbiAgICBjb25zdCBzdGFjayA9IFRlcnJhZm9ybVN0YWNrLmlzU3RhY2sodGhpcy5zY29wZSlcbiAgICAgID8gdGhpcy5zY29wZVxuICAgICAgOiBUZXJyYWZvcm1TdGFjay5vZih0aGlzLnNjb3BlKTtcbiAgICBjb25zdCBjb25zdHJhaW5lZEZ1bmN0aW9ucyA9IHN0YWNrXG4gICAgICAuX2dldFVzZWRGdW5jdGlvbnMoKVxuICAgICAgLmZpbHRlcigobmFtZSkgPT4gbmFtZSBpbiBmdW5jdGlvblZlcnNpb25Db25zdHJhaW50cylcbiAgICAgIC5zb3J0KCk7XG5cbiAgICAvLyBvbmx5IHVuaXZlcnNhbGx5IGF2YWlsYWJsZSBmdW5jdGlvbnMgaW4gdXNlOiBub3RoaW5nIHRvIHZhbGlkYXRlXG4gICAgaWYgKGNvbnN0cmFpbmVkRnVuY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHsgdGFyZ2V0cywgZXJyb3JzIH0gPSByZXNvbHZlVGFyZ2V0VmVyc2lvbnModGhpcy5zY29wZSk7XG4gICAgaWYgKCF0YXJnZXRzKSB7XG4gICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH1cblxuICAgIHJldHVybiBjb25zdHJhaW5lZEZ1bmN0aW9ucy5mbGF0TWFwKChuYW1lKSA9PiB7XG4gICAgICBjb25zdCBzdXBwb3J0ZWRJbiA9IGZ1bmN0aW9uVmVyc2lvbkNvbnN0cmFpbnRzW25hbWVdO1xuICAgICAgcmV0dXJuIGNoZWNrRmVhdHVyZVN1cHBvcnRlZEJ5VGFyZ2V0cyhcbiAgICAgICAgYFRlcnJhZm9ybSBmdW5jdGlvbiBcIiR7bmFtZX1cImAsXG4gICAgICAgIHN1cHBvcnRlZEluLFxuICAgICAgICB0YXJnZXRzLFxuICAgICAgICBhdmFpbGFiaWxpdHlIaW50KHN1cHBvcnRlZEluKSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUZWxscyB0aGUgdXNlciB3aGVyZSB0aGUgZnVuY3Rpb24gSVMgYXZhaWxhYmxlLCBzbyB0aGV5IGNhbiBhZGp1c3QgdGhlaXJcbiAqIGRlY2xhcmVkIHRhcmdldFZlcnNpb25zIChvciBkcm9wIHRoZSBmdW5jdGlvbikuXG4gKi9cbmZ1bmN0aW9uIGF2YWlsYWJpbGl0eUhpbnQoc3VwcG9ydGVkSW46IEZ1bmN0aW9uVmVyc2lvbkNvbnN0cmFpbnRzKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHMgPSBPYmplY3QuZW50cmllcyhzdXBwb3J0ZWRJbikubWFwKFxuICAgIChbcHJvZHVjdCwgcmFuZ2VdKSA9PiBgJHtwcm9kdWN0fSAke3JhbmdlfWAsXG4gICk7XG4gIHJldHVybiBgSXQgaXMgYXZhaWxhYmxlIGluICR7cGFydHMuam9pbihcIiBhbmQgXCIpfS5gO1xufVxuIl19
@@ -30,6 +30,7 @@ const terraform_stack_1 = require("../terraform-stack");
30
30
  * rationale.
31
31
  */
32
32
  class ValidateProviderFunctionTargetSupport {
33
+ scope;
33
34
  constructor(scope) {
34
35
  this.scope = scope;
35
36
  }
@@ -58,4 +59,4 @@ function availabilityHint() {
58
59
  const parts = Object.entries(provider_feature_constraints_1.providerFeatureConstraints.providerFunctions).map(([product, range]) => `${product} ${range}`);
59
60
  return `Provider-defined functions are available in ${parts.join(" and ")}.`;
60
61
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcHJvdmlkZXItZnVuY3Rpb24tdGFyZ2V0LXN1cHBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbnMvdmFsaWRhdGUtcHJvdmlkZXItZnVuY3Rpb24tdGFyZ2V0LXN1cHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsdURBRzJCO0FBQzNCLGtGQUE2RTtBQUM3RSx3REFBb0Q7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQWEscUNBQXFDO0lBQ2hELFlBQXNCLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFBRyxDQUFDO0lBRXBDLFFBQVE7UUFDYixNQUFNLEtBQUssR0FBRyxnQ0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNaLENBQUMsQ0FBQyxnQ0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV2RSw0REFBNEQ7UUFDNUQsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFBLHVDQUFxQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxJQUFBLGdEQUE4QixFQUNuQywrQkFBK0IscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQ2xFLHlEQUEwQixDQUFDLGlCQUFpQixFQUM1QyxPQUFPLEVBQ1AsZ0JBQWdCLEVBQUUsQ0FDbkIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTFCRCxzRkEwQkM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGdCQUFnQjtJQUN2QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUMxQix5REFBMEIsQ0FBQyxpQkFBaUIsQ0FDN0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRCxPQUFPLCtDQUErQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDL0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJQ29uc3RydWN0LCBJVmFsaWRhdGlvbiB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBjaGVja0ZlYXR1cmVTdXBwb3J0ZWRCeVRhcmdldHMsXG4gIHJlc29sdmVUYXJnZXRWZXJzaW9ucyxcbn0gZnJvbSBcIi4vdGFyZ2V0LXZlcnNpb25zXCI7XG5pbXBvcnQgeyBwcm92aWRlckZlYXR1cmVDb25zdHJhaW50cyB9IGZyb20gXCIuLi9wcm92aWRlci1mZWF0dXJlLWNvbnN0cmFpbnRzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuLi90ZXJyYWZvcm0tc3RhY2tcIjtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhhdCBhbnkgcHJvdmlkZXItZGVmaW5lZCBmdW5jdGlvbnNcbiAqIChgcHJvdmlkZXI6OjxuYW1lPjo6PGZ1bmN0aW9uPigpYCkgaW52b2tlZCB0aHJvdWdoXG4gKiBgVGVycmFmb3JtUHJvdmlkZXJGdW5jdGlvbi5pbnZva2VgIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIHByb2plY3QncyBkZWNsYXJlZFxuICogVGVycmFmb3JtL09wZW5Ub2Z1IHRhcmdldHMgKGNka3RmLmpzb24gYHRhcmdldFZlcnNpb25zYCwgZGVmYXVsdGluZyB0byB0aGVcbiAqIGR1YWwgcHJvZHVjdCBiYXNlbGluZSkuXG4gKlxuICogVW5saWtlIGBWYWxpZGF0ZUZ1bmN0aW9uVmVyc2lvblN1cHBvcnRgLCB0aGVyZSBpcyBhIHNpbmdsZSB2ZXJzaW9uXG4gKiBjb25zdHJhaW50IGZvciB0aGUgd2hvbGUgZmVhdHVyZSBmYW1pbHkgKHByb3ZpZGVyLWRlZmluZWQgZnVuY3Rpb24gY2FsbFxuICogc3ludGF4KSwgbm90IG9uZSBwZXIgZnVuY3Rpb24g4oCUIHNvIHRoaXMgY2hlY2sgaXMgc2tpcHBlZCBlbnRpcmVseSB3aGVuIG5vXG4gKiBwcm92aWRlciBmdW5jdGlvbiBoYXMgYmVlbiB1c2VkLCBhbmQgb3RoZXJ3aXNlIGNoZWNrZWQgb25jZSwgbmFtaW5nIGV2ZXJ5XG4gKiB1c2VkIGZ1bmN0aW9uIHNvIHRoZSBlcnJvciBpcyBhY3Rpb25hYmxlLlxuICpcbiAqIFJlZ2lzdGVyZWQgdW5jb25kaXRpb25hbGx5OiB0aGlzIGlzIG5ldyBBUEkgc3VyZmFjZSwgYW5kIHRoZSBjaGVjayBvbmx5XG4gKiBldmVyIGZpcmVzIHdoZW4gYSBwcm92aWRlciBmdW5jdGlvbiBpcyBhY3R1YWxseSB1c2VkIOKAlFxuICogaS5lLiBpdHMgdG9rZW4gd2FzIHJlc29sdmVkIHdoaWxlIHJlbmRlcmluZyB0aGlzIHZhbGlkYXRpb24ncyBPV05JTkdcbiAqIFNUQUNLIChgVGVycmFmb3JtU3RhY2suX2dldFVzZWRQcm92aWRlckZ1bmN0aW9ucygpYCksIG5vdCB3aGlsZSByZW5kZXJpbmdcbiAqIHNvbWUgb3RoZXIgc3RhY2sgaW4gdGhlIHNhbWUgQXBwOiB0aGlzIHZhbGlkYXRpb24gaXMgcmVnaXN0ZXJlZCBpblxuICogYFRlcnJhZm9ybVN0YWNrYCdzIGNvbnN0cnVjdG9yIHdpdGggdGhlIHN0YWNrIGl0c2VsZiBhcyBzY29wZSwgYW5kXG4gKiBgcmVzb2x2ZVRhcmdldFZlcnNpb25zYCBiZWxvdyB3YWxrcyBjb250ZXh0IHVwIGZyb20gdGhhdCBzYW1lIHNjb3BlLCBzbyBhXG4gKiBwZXItc3RhY2sgYHRhcmdldFZlcnNpb25zYCBvdmVycmlkZSBpcyBwb3NzaWJsZSAtIHJlYWRpbmcgYSByb290LWtleWVkXG4gKiAoQXBwLXdpZGUpIHVzYWdlIHJlY29yZCB3b3VsZCB2YWxpZGF0ZSBvbmUgc3RhY2sncyB1c2FnZSBhZ2FpbnN0IGFcbiAqIHNpYmxpbmcgc3RhY2sncyB0YXJnZXRzLiBTZWUgYFRlcnJhZm9ybVN0YWNrLl91c2VkRnVuY3Rpb25zYCBmb3IgdGhlIGZ1bGxcbiAqIHJhdGlvbmFsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlUHJvdmlkZXJGdW5jdGlvblRhcmdldFN1cHBvcnQgaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzY29wZTogSUNvbnN0cnVjdCkge31cblxuICBwdWJsaWMgdmFsaWRhdGUoKSB7XG4gICAgY29uc3Qgc3RhY2sgPSBUZXJyYWZvcm1TdGFjay5pc1N0YWNrKHRoaXMuc2NvcGUpXG4gICAgICA/IHRoaXMuc2NvcGVcbiAgICAgIDogVGVycmFmb3JtU3RhY2sub2YodGhpcy5zY29wZSk7XG4gICAgY29uc3QgdXNlZFByb3ZpZGVyRnVuY3Rpb25zID0gc3RhY2suX2dldFVzZWRQcm92aWRlckZ1bmN0aW9ucygpLnNvcnQoKTtcblxuICAgIC8vIG5vIHByb3ZpZGVyLWRlZmluZWQgZnVuY3Rpb25zIGluIHVzZTogbm90aGluZyB0byB2YWxpZGF0ZVxuICAgIGlmICh1c2VkUHJvdmlkZXJGdW5jdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgeyB0YXJnZXRzLCBlcnJvcnMgfSA9IHJlc29sdmVUYXJnZXRWZXJzaW9ucyh0aGlzLnNjb3BlKTtcbiAgICBpZiAoIXRhcmdldHMpIHtcbiAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoZWNrRmVhdHVyZVN1cHBvcnRlZEJ5VGFyZ2V0cyhcbiAgICAgIGBwcm92aWRlci1kZWZpbmVkIGZ1bmN0aW9ucyAoJHt1c2VkUHJvdmlkZXJGdW5jdGlvbnMuam9pbihcIiwgXCIpfSlgLFxuICAgICAgcHJvdmlkZXJGZWF0dXJlQ29uc3RyYWludHMucHJvdmlkZXJGdW5jdGlvbnMsXG4gICAgICB0YXJnZXRzLFxuICAgICAgYXZhaWxhYmlsaXR5SGludCgpLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBUZWxscyB0aGUgdXNlciB3aGVyZSBwcm92aWRlci1kZWZpbmVkIGZ1bmN0aW9ucyBBUkUgYXZhaWxhYmxlLCBzbyB0aGV5XG4gKiBjYW4gYWRqdXN0IHRoZWlyIGRlY2xhcmVkIHRhcmdldFZlcnNpb25zLlxuICovXG5mdW5jdGlvbiBhdmFpbGFiaWxpdHlIaW50KCk6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzID0gT2JqZWN0LmVudHJpZXMoXG4gICAgcHJvdmlkZXJGZWF0dXJlQ29uc3RyYWludHMucHJvdmlkZXJGdW5jdGlvbnMsXG4gICkubWFwKChbcHJvZHVjdCwgcmFuZ2VdKSA9PiBgJHtwcm9kdWN0fSAke3JhbmdlfWApO1xuICByZXR1cm4gYFByb3ZpZGVyLWRlZmluZWQgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUgaW4gJHtwYXJ0cy5qb2luKFwiIGFuZCBcIil9LmA7XG59XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcHJvdmlkZXItZnVuY3Rpb24tdGFyZ2V0LXN1cHBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbnMvdmFsaWRhdGUtcHJvdmlkZXItZnVuY3Rpb24tdGFyZ2V0LXN1cHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsdURBRzJCO0FBQzNCLGtGQUE2RTtBQUM3RSx3REFBb0Q7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQWEscUNBQXFDO0lBQzFCO0lBQXRCLFlBQXNCLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFBRyxDQUFDO0lBRXBDLFFBQVE7UUFDYixNQUFNLEtBQUssR0FBRyxnQ0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNaLENBQUMsQ0FBQyxnQ0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV2RSw0REFBNEQ7UUFDNUQsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFBLHVDQUFxQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxJQUFBLGdEQUE4QixFQUNuQywrQkFBK0IscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQ2xFLHlEQUEwQixDQUFDLGlCQUFpQixFQUM1QyxPQUFPLEVBQ1AsZ0JBQWdCLEVBQUUsQ0FDbkIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTFCRCxzRkEwQkM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGdCQUFnQjtJQUN2QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUMxQix5REFBMEIsQ0FBQyxpQkFBaUIsQ0FDN0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRCxPQUFPLCtDQUErQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDL0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJQ29uc3RydWN0LCBJVmFsaWRhdGlvbiB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBjaGVja0ZlYXR1cmVTdXBwb3J0ZWRCeVRhcmdldHMsXG4gIHJlc29sdmVUYXJnZXRWZXJzaW9ucyxcbn0gZnJvbSBcIi4vdGFyZ2V0LXZlcnNpb25zXCI7XG5pbXBvcnQgeyBwcm92aWRlckZlYXR1cmVDb25zdHJhaW50cyB9IGZyb20gXCIuLi9wcm92aWRlci1mZWF0dXJlLWNvbnN0cmFpbnRzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuLi90ZXJyYWZvcm0tc3RhY2tcIjtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhhdCBhbnkgcHJvdmlkZXItZGVmaW5lZCBmdW5jdGlvbnNcbiAqIChgcHJvdmlkZXI6OjxuYW1lPjo6PGZ1bmN0aW9uPigpYCkgaW52b2tlZCB0aHJvdWdoXG4gKiBgVGVycmFmb3JtUHJvdmlkZXJGdW5jdGlvbi5pbnZva2VgIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIHByb2plY3QncyBkZWNsYXJlZFxuICogVGVycmFmb3JtL09wZW5Ub2Z1IHRhcmdldHMgKGNka3RmLmpzb24gYHRhcmdldFZlcnNpb25zYCwgZGVmYXVsdGluZyB0byB0aGVcbiAqIGR1YWwgcHJvZHVjdCBiYXNlbGluZSkuXG4gKlxuICogVW5saWtlIGBWYWxpZGF0ZUZ1bmN0aW9uVmVyc2lvblN1cHBvcnRgLCB0aGVyZSBpcyBhIHNpbmdsZSB2ZXJzaW9uXG4gKiBjb25zdHJhaW50IGZvciB0aGUgd2hvbGUgZmVhdHVyZSBmYW1pbHkgKHByb3ZpZGVyLWRlZmluZWQgZnVuY3Rpb24gY2FsbFxuICogc3ludGF4KSwgbm90IG9uZSBwZXIgZnVuY3Rpb24g4oCUIHNvIHRoaXMgY2hlY2sgaXMgc2tpcHBlZCBlbnRpcmVseSB3aGVuIG5vXG4gKiBwcm92aWRlciBmdW5jdGlvbiBoYXMgYmVlbiB1c2VkLCBhbmQgb3RoZXJ3aXNlIGNoZWNrZWQgb25jZSwgbmFtaW5nIGV2ZXJ5XG4gKiB1c2VkIGZ1bmN0aW9uIHNvIHRoZSBlcnJvciBpcyBhY3Rpb25hYmxlLlxuICpcbiAqIFJlZ2lzdGVyZWQgdW5jb25kaXRpb25hbGx5OiB0aGlzIGlzIG5ldyBBUEkgc3VyZmFjZSwgYW5kIHRoZSBjaGVjayBvbmx5XG4gKiBldmVyIGZpcmVzIHdoZW4gYSBwcm92aWRlciBmdW5jdGlvbiBpcyBhY3R1YWxseSB1c2VkIOKAlFxuICogaS5lLiBpdHMgdG9rZW4gd2FzIHJlc29sdmVkIHdoaWxlIHJlbmRlcmluZyB0aGlzIHZhbGlkYXRpb24ncyBPV05JTkdcbiAqIFNUQUNLIChgVGVycmFmb3JtU3RhY2suX2dldFVzZWRQcm92aWRlckZ1bmN0aW9ucygpYCksIG5vdCB3aGlsZSByZW5kZXJpbmdcbiAqIHNvbWUgb3RoZXIgc3RhY2sgaW4gdGhlIHNhbWUgQXBwOiB0aGlzIHZhbGlkYXRpb24gaXMgcmVnaXN0ZXJlZCBpblxuICogYFRlcnJhZm9ybVN0YWNrYCdzIGNvbnN0cnVjdG9yIHdpdGggdGhlIHN0YWNrIGl0c2VsZiBhcyBzY29wZSwgYW5kXG4gKiBgcmVzb2x2ZVRhcmdldFZlcnNpb25zYCBiZWxvdyB3YWxrcyBjb250ZXh0IHVwIGZyb20gdGhhdCBzYW1lIHNjb3BlLCBzbyBhXG4gKiBwZXItc3RhY2sgYHRhcmdldFZlcnNpb25zYCBvdmVycmlkZSBpcyBwb3NzaWJsZSAtIHJlYWRpbmcgYSByb290LWtleWVkXG4gKiAoQXBwLXdpZGUpIHVzYWdlIHJlY29yZCB3b3VsZCB2YWxpZGF0ZSBvbmUgc3RhY2sncyB1c2FnZSBhZ2FpbnN0IGFcbiAqIHNpYmxpbmcgc3RhY2sncyB0YXJnZXRzLiBTZWUgYFRlcnJhZm9ybVN0YWNrLl91c2VkRnVuY3Rpb25zYCBmb3IgdGhlIGZ1bGxcbiAqIHJhdGlvbmFsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlUHJvdmlkZXJGdW5jdGlvblRhcmdldFN1cHBvcnQgaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzY29wZTogSUNvbnN0cnVjdCkge31cblxuICBwdWJsaWMgdmFsaWRhdGUoKSB7XG4gICAgY29uc3Qgc3RhY2sgPSBUZXJyYWZvcm1TdGFjay5pc1N0YWNrKHRoaXMuc2NvcGUpXG4gICAgICA/IHRoaXMuc2NvcGVcbiAgICAgIDogVGVycmFmb3JtU3RhY2sub2YodGhpcy5zY29wZSk7XG4gICAgY29uc3QgdXNlZFByb3ZpZGVyRnVuY3Rpb25zID0gc3RhY2suX2dldFVzZWRQcm92aWRlckZ1bmN0aW9ucygpLnNvcnQoKTtcblxuICAgIC8vIG5vIHByb3ZpZGVyLWRlZmluZWQgZnVuY3Rpb25zIGluIHVzZTogbm90aGluZyB0byB2YWxpZGF0ZVxuICAgIGlmICh1c2VkUHJvdmlkZXJGdW5jdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgeyB0YXJnZXRzLCBlcnJvcnMgfSA9IHJlc29sdmVUYXJnZXRWZXJzaW9ucyh0aGlzLnNjb3BlKTtcbiAgICBpZiAoIXRhcmdldHMpIHtcbiAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoZWNrRmVhdHVyZVN1cHBvcnRlZEJ5VGFyZ2V0cyhcbiAgICAgIGBwcm92aWRlci1kZWZpbmVkIGZ1bmN0aW9ucyAoJHt1c2VkUHJvdmlkZXJGdW5jdGlvbnMuam9pbihcIiwgXCIpfSlgLFxuICAgICAgcHJvdmlkZXJGZWF0dXJlQ29uc3RyYWludHMucHJvdmlkZXJGdW5jdGlvbnMsXG4gICAgICB0YXJnZXRzLFxuICAgICAgYXZhaWxhYmlsaXR5SGludCgpLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBUZWxscyB0aGUgdXNlciB3aGVyZSBwcm92aWRlci1kZWZpbmVkIGZ1bmN0aW9ucyBBUkUgYXZhaWxhYmxlLCBzbyB0aGV5XG4gKiBjYW4gYWRqdXN0IHRoZWlyIGRlY2xhcmVkIHRhcmdldFZlcnNpb25zLlxuICovXG5mdW5jdGlvbiBhdmFpbGFiaWxpdHlIaW50KCk6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzID0gT2JqZWN0LmVudHJpZXMoXG4gICAgcHJvdmlkZXJGZWF0dXJlQ29uc3RyYWludHMucHJvdmlkZXJGdW5jdGlvbnMsXG4gICkubWFwKChbcHJvZHVjdCwgcmFuZ2VdKSA9PiBgJHtwcm9kdWN0fSAke3JhbmdlfWApO1xuICByZXR1cm4gYFByb3ZpZGVyLWRlZmluZWQgZnVuY3Rpb25zIGFyZSBhdmFpbGFibGUgaW4gJHtwYXJ0cy5qb2luKFwiIGFuZCBcIil9LmA7XG59XG4iXX0=
@@ -10,19 +10,20 @@ const terraform_stack_1 = require("../terraform-stack");
10
10
  * used are defined via Constructs.
11
11
  */
12
12
  class ValidateProviderPresence {
13
+ host;
14
+ /**
15
+ * All provider names found in the construct tree.
16
+ */
17
+ providerNames = new Set();
18
+ /**
19
+ * All TerraformProviders found in the construct tree.
20
+ */
21
+ foundProviders = [];
13
22
  /**
14
23
  * Creates a ValidateProviderPresence
15
24
  */
16
25
  constructor(host) {
17
26
  this.host = host;
18
- /**
19
- * All provider names found in the construct tree.
20
- */
21
- this.providerNames = new Set();
22
- /**
23
- * All TerraformProviders found in the construct tree.
24
- */
25
- this.foundProviders = [];
26
27
  }
27
28
  /**
28
29
  * Checks the construct tree recursively
@@ -62,4 +63,4 @@ class ValidateProviderPresence {
62
63
  }
63
64
  }
64
65
  exports.ValidateProviderPresence = ValidateProviderPresence;
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcHJvdmlkZXItcHJlc2VuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbnMvdmFsaWRhdGUtcHJvdmlkZXItcHJlc2VuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsOERBQTBEO0FBQzFELDhEQUEwRDtBQUMxRCxvRUFBK0Q7QUFDL0Qsd0RBQW9EO0FBRXBEOzs7R0FHRztBQUNILE1BQWEsd0JBQXdCO0lBVW5DOztPQUVHO0lBQ0gsWUFBc0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVp0Qzs7V0FFRztRQUNJLGtCQUFhLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUM7O1dBRUc7UUFDSSxtQkFBYyxHQUF3QixFQUFFLENBQUM7SUFLUCxDQUFDO0lBRTFDOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQWdCO1FBQzNCLElBQ0Usc0NBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO1lBQzNDLDJDQUFtQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUMvQyxDQUFDO1lBQ0QsSUFDRSxJQUFJLENBQUMsMEJBQTBCO2dCQUMvQixJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxLQUFLLFdBQVcsRUFDNUQsQ0FBQztnQkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkUsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLHNDQUFpQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEIsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0RSxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzlCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsWUFBWSxLQUFLLElBQUksQ0FDM0QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sS0FBSyxHQUFHLGdDQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxPQUFPO2dCQUNMLG9KQUNFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFDYixrQ0FBa0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2FBQ2hFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBL0RELDREQStEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJQ29uc3RydWN0LCBJVmFsaWRhdGlvbiB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlciB9IGZyb20gXCIuLi90ZXJyYWZvcm0tcHJvdmlkZXJcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVJlc291cmNlIH0gZnJvbSBcIi4uL3RlcnJhZm9ybS1yZXNvdXJjZVwiO1xuaW1wb3J0IHsgVGVycmFmb3JtRGF0YVNvdXJjZSB9IGZyb20gXCIuLi90ZXJyYWZvcm0tZGF0YS1zb3VyY2VcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4uL3RlcnJhZm9ybS1zdGFja1wiO1xuXG4vKipcbiAqIEEgdmFsaWRhdGlvbiB0aGF0IGlzIGFkZGVkIGJ5IGRlZmF1bHQsIGVuc3VyaW5nIHRoYXQgYWxsIHByb3ZpZGVyc1xuICogdXNlZCBhcmUgZGVmaW5lZCB2aWEgQ29uc3RydWN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlUHJvdmlkZXJQcmVzZW5jZSBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgLyoqXG4gICAqIEFsbCBwcm92aWRlciBuYW1lcyBmb3VuZCBpbiB0aGUgY29uc3RydWN0IHRyZWUuXG4gICAqL1xuICBwdWJsaWMgcHJvdmlkZXJOYW1lczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gIC8qKlxuICAgKiBBbGwgVGVycmFmb3JtUHJvdmlkZXJzIGZvdW5kIGluIHRoZSBjb25zdHJ1Y3QgdHJlZS5cbiAgICovXG4gIHB1YmxpYyBmb3VuZFByb3ZpZGVyczogVGVycmFmb3JtUHJvdmlkZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgVmFsaWRhdGVQcm92aWRlclByZXNlbmNlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaG9zdDogSUNvbnN0cnVjdCkge31cblxuICAvKipcbiAgICogQ2hlY2tzIHRoZSBjb25zdHJ1Y3QgdHJlZSByZWN1cnNpdmVseVxuICAgKi9cbiAgcHVibGljIGNoZWNrKG5vZGU6IElDb25zdHJ1Y3QpIHtcbiAgICBpZiAoXG4gICAgICBUZXJyYWZvcm1SZXNvdXJjZS5pc1RlcnJhZm9ybVJlc291cmNlKG5vZGUpIHx8XG4gICAgICBUZXJyYWZvcm1EYXRhU291cmNlLmlzVGVycmFmb3JtRGF0YVNvdXJjZShub2RlKVxuICAgICkge1xuICAgICAgaWYgKFxuICAgICAgICBub2RlLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhICYmXG4gICAgICAgIG5vZGUudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGEucHJvdmlkZXJOYW1lICE9PSBcInRlcnJhZm9ybVwiXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5wcm92aWRlck5hbWVzLmFkZChub2RlLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhLnByb3ZpZGVyTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFRlcnJhZm9ybVByb3ZpZGVyLmlzVGVycmFmb3JtUHJvdmlkZXIobm9kZSkpIHtcbiAgICAgIHRoaXMuZm91bmRQcm92aWRlcnMucHVzaChub2RlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUubm9kZS5jaGlsZHJlbikge1xuICAgICAgdGhpcy5jaGVjayhjaGlsZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1biB0aGUgdmFsaWRhdGlvblxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKCkge1xuICAgIHRoaXMuY2hlY2sodGhpcy5ob3N0KTtcblxuICAgIGNvbnN0IG1pc3NpbmdQcm92aWRlcnMgPSBBcnJheS5mcm9tKHRoaXMucHJvdmlkZXJOYW1lcykuZmlsdGVyKChuYW1lKSA9PiB7XG4gICAgICByZXR1cm4gIXRoaXMuZm91bmRQcm92aWRlcnMuc29tZShcbiAgICAgICAgKHApID0+IHAudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/LnByb3ZpZGVyTmFtZSA9PT0gbmFtZSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpZiAobWlzc2luZ1Byb3ZpZGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3RhY2sgPSBUZXJyYWZvcm1TdGFjay5vZih0aGlzLmhvc3QpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgYEZvdW5kIHJlc291cmNlcyB3aXRob3V0IGEgbWF0Y2hpbmcgcHJvdmlkZXIgY29uc3RydWN0LiBQbGVhc2UgbWFrZSBzdXJlIHRvIGFkZCBwcm92aWRlciBjb25zdHJ1Y3RzIFtlLmcuIG5ldyBSYW5kb21Qcm92aWRlciguLi4pXSB0byB5b3VyIHN0YWNrICcke1xuICAgICAgICAgIHN0YWNrLm5vZGUuaWRcbiAgICAgICAgfScgZm9yIHRoZSBmb2xsb3dpbmcgcHJvdmlkZXJzOiAke21pc3NpbmdQcm92aWRlcnMuam9pbihcIiwgXCIpfWAsXG4gICAgICBdO1xuICAgIH1cbiAgfVxufVxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcHJvdmlkZXItcHJlc2VuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbnMvdmFsaWRhdGUtcHJvdmlkZXItcHJlc2VuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsOERBQTBEO0FBQzFELDhEQUEwRDtBQUMxRCxvRUFBK0Q7QUFDL0Qsd0RBQW9EO0FBRXBEOzs7R0FHRztBQUNILE1BQWEsd0JBQXdCO0lBYWI7SUFadEI7O09BRUc7SUFDSSxhQUFhLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDOUM7O09BRUc7SUFDSSxjQUFjLEdBQXdCLEVBQUUsQ0FBQztJQUVoRDs7T0FFRztJQUNILFlBQXNCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRTFDOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQWdCO1FBQzNCLElBQ0Usc0NBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO1lBQzNDLDJDQUFtQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUMvQyxDQUFDO1lBQ0QsSUFDRSxJQUFJLENBQUMsMEJBQTBCO2dCQUMvQixJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxLQUFLLFdBQVcsRUFDNUQsQ0FBQztnQkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkUsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLHNDQUFpQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEIsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0RSxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzlCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsWUFBWSxLQUFLLElBQUksQ0FDM0QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sS0FBSyxHQUFHLGdDQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxPQUFPO2dCQUNMLG9KQUNFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFDYixrQ0FBa0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2FBQ2hFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBL0RELDREQStEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJQ29uc3RydWN0LCBJVmFsaWRhdGlvbiB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlciB9IGZyb20gXCIuLi90ZXJyYWZvcm0tcHJvdmlkZXJcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVJlc291cmNlIH0gZnJvbSBcIi4uL3RlcnJhZm9ybS1yZXNvdXJjZVwiO1xuaW1wb3J0IHsgVGVycmFmb3JtRGF0YVNvdXJjZSB9IGZyb20gXCIuLi90ZXJyYWZvcm0tZGF0YS1zb3VyY2VcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4uL3RlcnJhZm9ybS1zdGFja1wiO1xuXG4vKipcbiAqIEEgdmFsaWRhdGlvbiB0aGF0IGlzIGFkZGVkIGJ5IGRlZmF1bHQsIGVuc3VyaW5nIHRoYXQgYWxsIHByb3ZpZGVyc1xuICogdXNlZCBhcmUgZGVmaW5lZCB2aWEgQ29uc3RydWN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlUHJvdmlkZXJQcmVzZW5jZSBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgLyoqXG4gICAqIEFsbCBwcm92aWRlciBuYW1lcyBmb3VuZCBpbiB0aGUgY29uc3RydWN0IHRyZWUuXG4gICAqL1xuICBwdWJsaWMgcHJvdmlkZXJOYW1lczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gIC8qKlxuICAgKiBBbGwgVGVycmFmb3JtUHJvdmlkZXJzIGZvdW5kIGluIHRoZSBjb25zdHJ1Y3QgdHJlZS5cbiAgICovXG4gIHB1YmxpYyBmb3VuZFByb3ZpZGVyczogVGVycmFmb3JtUHJvdmlkZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgVmFsaWRhdGVQcm92aWRlclByZXNlbmNlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaG9zdDogSUNvbnN0cnVjdCkge31cblxuICAvKipcbiAgICogQ2hlY2tzIHRoZSBjb25zdHJ1Y3QgdHJlZSByZWN1cnNpdmVseVxuICAgKi9cbiAgcHVibGljIGNoZWNrKG5vZGU6IElDb25zdHJ1Y3QpIHtcbiAgICBpZiAoXG4gICAgICBUZXJyYWZvcm1SZXNvdXJjZS5pc1RlcnJhZm9ybVJlc291cmNlKG5vZGUpIHx8XG4gICAgICBUZXJyYWZvcm1EYXRhU291cmNlLmlzVGVycmFmb3JtRGF0YVNvdXJjZShub2RlKVxuICAgICkge1xuICAgICAgaWYgKFxuICAgICAgICBub2RlLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhICYmXG4gICAgICAgIG5vZGUudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGEucHJvdmlkZXJOYW1lICE9PSBcInRlcnJhZm9ybVwiXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5wcm92aWRlck5hbWVzLmFkZChub2RlLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhLnByb3ZpZGVyTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFRlcnJhZm9ybVByb3ZpZGVyLmlzVGVycmFmb3JtUHJvdmlkZXIobm9kZSkpIHtcbiAgICAgIHRoaXMuZm91bmRQcm92aWRlcnMucHVzaChub2RlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUubm9kZS5jaGlsZHJlbikge1xuICAgICAgdGhpcy5jaGVjayhjaGlsZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1biB0aGUgdmFsaWRhdGlvblxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKCkge1xuICAgIHRoaXMuY2hlY2sodGhpcy5ob3N0KTtcblxuICAgIGNvbnN0IG1pc3NpbmdQcm92aWRlcnMgPSBBcnJheS5mcm9tKHRoaXMucHJvdmlkZXJOYW1lcykuZmlsdGVyKChuYW1lKSA9PiB7XG4gICAgICByZXR1cm4gIXRoaXMuZm91bmRQcm92aWRlcnMuc29tZShcbiAgICAgICAgKHApID0+IHAudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/LnByb3ZpZGVyTmFtZSA9PT0gbmFtZSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpZiAobWlzc2luZ1Byb3ZpZGVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3RhY2sgPSBUZXJyYWZvcm1TdGFjay5vZih0aGlzLmhvc3QpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgYEZvdW5kIHJlc291cmNlcyB3aXRob3V0IGEgbWF0Y2hpbmcgcHJvdmlkZXIgY29uc3RydWN0LiBQbGVhc2UgbWFrZSBzdXJlIHRvIGFkZCBwcm92aWRlciBjb25zdHJ1Y3RzIFtlLmcuIG5ldyBSYW5kb21Qcm92aWRlciguLi4pXSB0byB5b3VyIHN0YWNrICcke1xuICAgICAgICAgIHN0YWNrLm5vZGUuaWRcbiAgICAgICAgfScgZm9yIHRoZSBmb2xsb3dpbmcgcHJvdmlkZXJzOiAke21pc3NpbmdQcm92aWRlcnMuam9pbihcIiwgXCIpfWAsXG4gICAgICBdO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -11,6 +11,8 @@ const validate_binary_version_1 = require("./validate-binary-version");
11
11
  * Validates the existence of a Terraform binary and with a certain version or higher.
12
12
  */
13
13
  class ValidateTerraformVersion extends validate_binary_version_1.ValidateBinaryVersion {
14
+ versionConstraint;
15
+ hint;
14
16
  constructor(versionConstraint, hint) {
15
17
  super(util_1.terraformBinaryName, versionConstraint, `${util_1.terraformBinaryName} version`, hint);
16
18
  this.versionConstraint = versionConstraint;
@@ -18,4 +20,4 @@ class ValidateTerraformVersion extends validate_binary_version_1.ValidateBinaryV
18
20
  }
19
21
  }
20
22
  exports.ValidateTerraformVersion = ValidateTerraformVersion;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtdGVycmFmb3JtLXZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbnMvdmFsaWRhdGUtdGVycmFmb3JtLXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBRUgsa0NBQThDO0FBQzlDLHVFQUFrRTtBQUVsRTs7R0FFRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsK0NBQXFCO0lBQ2pFLFlBQ1ksaUJBQXlCLEVBQ3pCLElBQWE7UUFFdkIsS0FBSyxDQUNILDBCQUFtQixFQUNuQixpQkFBaUIsRUFDakIsR0FBRywwQkFBbUIsVUFBVSxFQUNoQyxJQUFJLENBQ0wsQ0FBQztRQVJRLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFTO0lBUXpCLENBQUM7Q0FDRjtBQVpELDREQVlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQgeyB0ZXJyYWZvcm1CaW5hcnlOYW1lIH0gZnJvbSBcIi4uL3V0aWxcIjtcbmltcG9ydCB7IFZhbGlkYXRlQmluYXJ5VmVyc2lvbiB9IGZyb20gXCIuL3ZhbGlkYXRlLWJpbmFyeS12ZXJzaW9uXCI7XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBleGlzdGVuY2Ugb2YgYSBUZXJyYWZvcm0gYmluYXJ5IGFuZCB3aXRoIGEgY2VydGFpbiB2ZXJzaW9uIG9yIGhpZ2hlci5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlVGVycmFmb3JtVmVyc2lvbiBleHRlbmRzIFZhbGlkYXRlQmluYXJ5VmVyc2lvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB2ZXJzaW9uQ29uc3RyYWludDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBoaW50Pzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIHRlcnJhZm9ybUJpbmFyeU5hbWUsXG4gICAgICB2ZXJzaW9uQ29uc3RyYWludCxcbiAgICAgIGAke3RlcnJhZm9ybUJpbmFyeU5hbWV9IHZlcnNpb25gLFxuICAgICAgaGludCxcbiAgICApO1xuICB9XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtdGVycmFmb3JtLXZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbnMvdmFsaWRhdGUtdGVycmFmb3JtLXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBRUgsa0NBQThDO0FBQzlDLHVFQUFrRTtBQUVsRTs7R0FFRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsK0NBQXFCO0lBRXJEO0lBQ0E7SUFGWixZQUNZLGlCQUF5QixFQUN6QixJQUFhO1FBRXZCLEtBQUssQ0FDSCwwQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLEdBQUcsMEJBQW1CLFVBQVUsRUFDaEMsSUFBSSxDQUNMLENBQUM7UUFSUSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7UUFDekIsU0FBSSxHQUFKLElBQUksQ0FBUztJQVF6QixDQUFDO0NBQ0Y7QUFaRCw0REFZQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHsgdGVycmFmb3JtQmluYXJ5TmFtZSB9IGZyb20gXCIuLi91dGlsXCI7XG5pbXBvcnQgeyBWYWxpZGF0ZUJpbmFyeVZlcnNpb24gfSBmcm9tIFwiLi92YWxpZGF0ZS1iaW5hcnktdmVyc2lvblwiO1xuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgZXhpc3RlbmNlIG9mIGEgVGVycmFmb3JtIGJpbmFyeSBhbmQgd2l0aCBhIGNlcnRhaW4gdmVyc2lvbiBvciBoaWdoZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0ZVRlcnJhZm9ybVZlcnNpb24gZXh0ZW5kcyBWYWxpZGF0ZUJpbmFyeVZlcnNpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgdmVyc2lvbkNvbnN0cmFpbnQ6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgaGludD86IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICB0ZXJyYWZvcm1CaW5hcnlOYW1lLFxuICAgICAgdmVyc2lvbkNvbnN0cmFpbnQsXG4gICAgICBgJHt0ZXJyYWZvcm1CaW5hcnlOYW1lfSB2ZXJzaW9uYCxcbiAgICAgIGhpbnQsXG4gICAgKTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cdktn",
3
- "version": "0.25.0-pre.2",
3
+ "version": "0.25.0-pre.21",
4
4
  "description": "Cloud Development Kit for Terraform",
5
5
  "scripts": {
6
6
  "build": "jsii --silence-warnings reserved-word",
@@ -80,9 +80,9 @@
80
80
  "@types/node": "22.20.1",
81
81
  "@types/semver": "7.7.1",
82
82
  "constructs": "10.6.0",
83
- "jsii": "~5.9.0",
84
- "jsii-pacmak": "1.128.0",
85
- "typescript": "^5.0.4"
83
+ "jsii": "~6.0.0",
84
+ "jsii-pacmak": "1.140.0",
85
+ "typescript": "~6.0.0"
86
86
  },
87
87
  "dependencies": {
88
88
  "fflate": "0.8.3",
@@ -96,6 +96,6 @@
96
96
  ],
97
97
  "stability": "experimental",
98
98
  "peerDependencies": {
99
- "constructs": ">=10.6.0 <10.8.0"
99
+ "constructs": "^10.6.0"
100
100
  }
101
101
  }
package/scripts/pack.mjs CHANGED
@@ -27,6 +27,10 @@ import { pacmak } from "jsii-pacmak";
27
27
 
28
28
  const __dirname = dirname(fileURLToPath(import.meta.url));
29
29
  const packageDir = resolve(__dirname, "..");
30
+ // npm ships as a .cmd shim on Windows, and Node refuses to spawn .cmd/.bat
31
+ // files directly (CVE-2024-27980 hardening -> spawnSync EINVAL). Route npm
32
+ // through a shell there so cmd.exe resolves the shim; no-op elsewhere.
33
+ const NPM_SPAWN_OPTS = process.platform === "win32" ? { shell: true } : {};
30
34
  const stagingDir = join(packageDir, ".pack-staging");
31
35
  const distOutDir = join(packageDir, "dist");
32
36
 
@@ -58,9 +62,13 @@ function resolveSourceFiles() {
58
62
  console.log("Resolving cdktn's file list via `npm pack --dry-run`...");
59
63
  const packJson = execFileSync("npm", ["pack", "--dry-run", "--json"], {
60
64
  cwd: packageDir,
65
+ ...NPM_SPAWN_OPTS,
61
66
  }).toString();
62
- const packInfo = JSON.parse(packJson);
63
- const files = packInfo[0].files
67
+ // npm <=11 reports an array of packed packages; npm >=12 reports an object
68
+ // keyed by package name. Accept either so this is npm-version agnostic.
69
+ const parsed = JSON.parse(packJson);
70
+ const packInfo = Array.isArray(parsed) ? parsed[0] : Object.values(parsed)[0];
71
+ const files = packInfo.files
64
72
  .map((f) => f.path)
65
73
  .filter((p) => !p.includes(".."));
66
74
  console.log(` ${files.length} source files to copy.`);
@@ -72,10 +80,28 @@ function resolveSourceFiles() {
72
80
  */
73
81
  function prepareStagingDir() {
74
82
  console.log(`Preparing staging dir at ${stagingDir}...`);
75
- rmSync(stagingDir, { recursive: true, force: true });
83
+ // maxRetries covers EBUSY/EPERM from a watcher still holding a handle here.
84
+ rmSync(stagingDir, { recursive: true, force: true, maxRetries: 5 });
76
85
  mkdirSync(stagingDir, { recursive: true });
77
86
  }
78
87
 
88
+ /**
89
+ * Remove the staging tree once its dist/ has been moved out, so it cannot be
90
+ * left behind holding a nested package.json and node_modules.
91
+ *
92
+ * Best effort: a file watcher may still hold handles inside it on Windows, and
93
+ * a leftover tree must not fail an otherwise successful package run. The
94
+ * `.pack-staging` entry in .npmignore keeps a stale tree from breaking the next
95
+ * `npm pack`, and the one in .nxignore keeps the nx daemon from watching it.
96
+ */
97
+ function cleanStagingDir() {
98
+ try {
99
+ rmSync(stagingDir, { recursive: true, force: true, maxRetries: 5 });
100
+ } catch (err) {
101
+ console.warn(`Could not remove staging dir ${stagingDir}: ${err.message}`);
102
+ }
103
+ }
104
+
79
105
  /**
80
106
  * Copy the resolved source files into the staging directory, preserving relative paths.
81
107
  *
@@ -101,21 +127,36 @@ function copySourceFiles(sourceFiles) {
101
127
  * --no-package-lock: don't pollute staging with a fresh lockfile.
102
128
  * --prefer-offline: use the local npm cache before the network.
103
129
  * --ignore-scripts: don't run install scripts of bundled deps; bundling needs the tree on disk only.
130
+ *
131
+ * A cached packument older than a dependency bump makes --prefer-offline report
132
+ * ETARGET ("No matching version found") for a version that exists. Outside CI we
133
+ * retry once with --prefer-online; in CI we let it fail, so a stale cache can
134
+ * never quietly change what gets packaged.
104
135
  */
105
136
  function installRuntimeDeps() {
106
137
  console.log("Installing runtime deps into staging via npm...");
107
- run(
108
- "npm",
109
- [
110
- "install",
111
- "--omit=dev",
112
- "--omit=optional",
113
- "--no-package-lock",
114
- "--prefer-offline",
115
- "--ignore-scripts",
116
- ],
117
- { cwd: stagingDir },
118
- );
138
+ const args = [
139
+ "install",
140
+ "--omit=dev",
141
+ "--omit=optional",
142
+ "--no-package-lock",
143
+ "--ignore-scripts",
144
+ ];
145
+ try {
146
+ run("npm", [...args, "--prefer-offline"], {
147
+ cwd: stagingDir,
148
+ ...NPM_SPAWN_OPTS,
149
+ });
150
+ } catch (err) {
151
+ if (process.env.CI) throw err;
152
+ console.log(
153
+ "npm install failed with --prefer-offline; retrying with --prefer-online in case the local cache is stale...",
154
+ );
155
+ run("npm", [...args, "--prefer-online"], {
156
+ cwd: stagingDir,
157
+ ...NPM_SPAWN_OPTS,
158
+ });
159
+ }
119
160
  }
120
161
 
121
162
  /**
@@ -165,4 +206,5 @@ installRuntimeDeps();
165
206
  await runJsiiPacmak(targets);
166
207
  runGoCopyrightHeader();
167
208
  moveDistOut();
209
+ cleanStagingDir();
168
210
  console.log("Done.");