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
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.ImportableResource = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -9,6 +8,8 @@ const validate_terraform_version_1 = require("./validations/validate-terraform-v
9
8
  * Class used to represent an importable resource.
10
9
  */
11
10
  class ImportableResource extends terraform_element_1.TerraformElement {
11
+ config;
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ImportableResource", version: "0.25.0-pre.21" };
12
13
  constructor(scope, name, config) {
13
14
  super(scope, name, config.terraformResourceType);
14
15
  this.config = config;
@@ -59,6 +60,4 @@ class ImportableResource extends terraform_element_1.TerraformElement {
59
60
  }
60
61
  }
61
62
  exports.ImportableResource = ImportableResource;
62
- _a = JSII_RTTI_SYMBOL_1;
63
- ImportableResource[_a] = { fqn: "cdktn.ImportableResource", version: "0.25.0-pre.2" };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0YWJsZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbXBvcnRhYmxlLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsMkRBQXVEO0FBRXZELHlGQUFvRjtBQVFwRjs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsb0NBQWdCO0lBQ3RELFlBQ0UsS0FBZ0IsRUFDaEIsSUFBWSxFQUNLLE1BQXlCO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRmhDLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBRzFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUNyQixJQUFJLHFEQUF3QixDQUMxQixPQUFPLEVBQ1AsOEZBQThGLENBQy9GLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hHLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsRUFBRSxFQUFFO3dCQUNGLEtBQUssRUFBRSx1QkFBdUI7d0JBQzlCLElBQUksRUFBRSxRQUFRO3dCQUNkLGdCQUFnQixFQUFFLFdBQVc7cUJBQzlCO29CQUNELEVBQUUsRUFBRTt3QkFDRixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO3dCQUMzQixJQUFJLEVBQUUsUUFBUTt3QkFDZCxnQkFBZ0IsRUFBRSxRQUFRO3FCQUMzQjtvQkFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO3dCQUM1QixDQUFDLENBQUM7NEJBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUc7NEJBQy9CLElBQUksRUFBRSxRQUFROzRCQUNkLGdCQUFnQixFQUFFLFdBQVc7eUJBQzlCO3dCQUNILENBQUMsQ0FBQyxTQUFTO2lCQUNkO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDaEcsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxFQUFFLEVBQUUsdUJBQXVCO29CQUMzQixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO29CQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUztpQkFDdEU7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU87WUFDTCw4QkFBOEIsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUN4RCxDQUFDO0lBQ0osQ0FBQzs7QUEzREgsZ0RBNERDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRWxlbWVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlciB9IGZyb20gXCIuL3RlcnJhZm9ybS1wcm92aWRlclwiO1xuaW1wb3J0IHsgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4vdmFsaWRhdGlvbnMvdmFsaWRhdGUtdGVycmFmb3JtLXZlcnNpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBJSW1wb3J0YWJsZUNvbmZpZyB7XG4gIHRlcnJhZm9ybVJlc291cmNlVHlwZTogc3RyaW5nO1xuICBpbXBvcnRJZDogc3RyaW5nO1xuICBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xufVxuXG4vKipcbiAqIENsYXNzIHVzZWQgdG8gcmVwcmVzZW50IGFuIGltcG9ydGFibGUgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbXBvcnRhYmxlUmVzb3VyY2UgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IElJbXBvcnRhYmxlQ29uZmlnLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgbmFtZSwgY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oXG4gICAgICBuZXcgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uKFxuICAgICAgICBcIj49MS41XCIsXG4gICAgICAgIGBJbXBvcnQgYmxvY2tzIGFyZSBvbmx5IHN1cHBvcnRlZCBmb3IgVGVycmFmb3JtID49MS41LiBQbGVhc2UgdXBncmFkZSB5b3VyIFRlcnJhZm9ybSB2ZXJzaW9uLmAsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICBjb25zdCBleHBlY3RlZFJlc291cmNlQWRkcmVzcyA9IGAke3RoaXMuY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9YDtcbiAgICByZXR1cm4ge1xuICAgICAgaW1wb3J0OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0bzoge1xuICAgICAgICAgICAgdmFsdWU6IGV4cGVjdGVkUmVzb3VyY2VBZGRyZXNzLFxuICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwicmVmZXJlbmNlXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29uZmlnLmltcG9ydElkLFxuICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm92aWRlcjogdGhpcy5jb25maWcucHJvdmlkZXJcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbmZpZy5wcm92aWRlci5mcW4sXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInJlZmVyZW5jZVwiLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIGNvbnN0IGV4cGVjdGVkUmVzb3VyY2VBZGRyZXNzID0gYCR7dGhpcy5jb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gO1xuICAgIHJldHVybiB7XG4gICAgICBpbXBvcnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvOiBleHBlY3RlZFJlc291cmNlQWRkcmVzcyxcbiAgICAgICAgICBpZDogdGhpcy5jb25maWcuaW1wb3J0SWQsXG4gICAgICAgICAgcHJvdmlkZXI6IHRoaXMuY29uZmlnLnByb3ZpZGVyID8gdGhpcy5jb25maWcucHJvdmlkZXIuZnFuIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgaW1wb3J0c0dlbmVyYXRpbmdDb25maWd1cmF0aW9uOiBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0YWJsZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbXBvcnRhYmxlLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFNQSwyREFBdUQ7QUFFdkQseUZBQW9GO0FBUXBGOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxvQ0FBZ0I7SUFJbkM7O0lBSG5CLFlBQ0UsS0FBZ0IsRUFDaEIsSUFBWSxFQUNLLE1BQXlCO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRmhDLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBRzFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUNyQixJQUFJLHFEQUF3QixDQUMxQixPQUFPLEVBQ1AsOEZBQThGLENBQy9GLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hHLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsRUFBRSxFQUFFO3dCQUNGLEtBQUssRUFBRSx1QkFBdUI7d0JBQzlCLElBQUksRUFBRSxRQUFRO3dCQUNkLGdCQUFnQixFQUFFLFdBQVc7cUJBQzlCO29CQUNELEVBQUUsRUFBRTt3QkFDRixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO3dCQUMzQixJQUFJLEVBQUUsUUFBUTt3QkFDZCxnQkFBZ0IsRUFBRSxRQUFRO3FCQUMzQjtvQkFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO3dCQUM1QixDQUFDLENBQUM7NEJBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUc7NEJBQy9CLElBQUksRUFBRSxRQUFROzRCQUNkLGdCQUFnQixFQUFFLFdBQVc7eUJBQzlCO3dCQUNILENBQUMsQ0FBQyxTQUFTO2lCQUNkO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDaEcsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxFQUFFLEVBQUUsdUJBQXVCO29CQUMzQixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO29CQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUztpQkFDdEU7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU87WUFDTCw4QkFBOEIsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUN4RCxDQUFDO0lBQ0osQ0FBQzs7QUEzREgsZ0RBNERDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRWxlbWVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlciB9IGZyb20gXCIuL3RlcnJhZm9ybS1wcm92aWRlclwiO1xuaW1wb3J0IHsgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4vdmFsaWRhdGlvbnMvdmFsaWRhdGUtdGVycmFmb3JtLXZlcnNpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBJSW1wb3J0YWJsZUNvbmZpZyB7XG4gIHRlcnJhZm9ybVJlc291cmNlVHlwZTogc3RyaW5nO1xuICBpbXBvcnRJZDogc3RyaW5nO1xuICBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xufVxuXG4vKipcbiAqIENsYXNzIHVzZWQgdG8gcmVwcmVzZW50IGFuIGltcG9ydGFibGUgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbXBvcnRhYmxlUmVzb3VyY2UgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IElJbXBvcnRhYmxlQ29uZmlnLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgbmFtZSwgY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oXG4gICAgICBuZXcgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uKFxuICAgICAgICBcIj49MS41XCIsXG4gICAgICAgIGBJbXBvcnQgYmxvY2tzIGFyZSBvbmx5IHN1cHBvcnRlZCBmb3IgVGVycmFmb3JtID49MS41LiBQbGVhc2UgdXBncmFkZSB5b3VyIFRlcnJhZm9ybSB2ZXJzaW9uLmAsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICBjb25zdCBleHBlY3RlZFJlc291cmNlQWRkcmVzcyA9IGAke3RoaXMuY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9YDtcbiAgICByZXR1cm4ge1xuICAgICAgaW1wb3J0OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0bzoge1xuICAgICAgICAgICAgdmFsdWU6IGV4cGVjdGVkUmVzb3VyY2VBZGRyZXNzLFxuICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwicmVmZXJlbmNlXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29uZmlnLmltcG9ydElkLFxuICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm92aWRlcjogdGhpcy5jb25maWcucHJvdmlkZXJcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbmZpZy5wcm92aWRlci5mcW4sXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInJlZmVyZW5jZVwiLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIGNvbnN0IGV4cGVjdGVkUmVzb3VyY2VBZGRyZXNzID0gYCR7dGhpcy5jb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gO1xuICAgIHJldHVybiB7XG4gICAgICBpbXBvcnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvOiBleHBlY3RlZFJlc291cmNlQWRkcmVzcyxcbiAgICAgICAgICBpZDogdGhpcy5jb25maWcuaW1wb3J0SWQsXG4gICAgICAgICAgcHJvdmlkZXI6IHRoaXMuY29uZmlnLnByb3ZpZGVyID8gdGhpcy5jb25maWcucHJvdmlkZXIuZnFuIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgaW1wb3J0c0dlbmVyYXRpbmdDb25maWd1cmF0aW9uOiBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -38,5 +38,8 @@ export * from "./importable-resource";
38
38
  export * from "./terraform-resource-targets";
39
39
  export * from "./upgrade-id-aspect";
40
40
  export * from "./terraform-data-resource";
41
+ export * from "./assets";
42
+ export * from "./ignore-strategy";
43
+ export * from "./asset-hash";
41
44
  export * from "./functions/terraform-functions.generated";
42
45
  export * from "./functions/provider-function";
package/lib/index.js CHANGED
@@ -10,9 +10,31 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
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
+ });
13
18
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
20
  };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
16
38
  Object.defineProperty(exports, "__esModule", { value: true });
17
39
  exports.testingMatchers = exports.ProviderFeature = void 0;
18
40
  // Copyright (c) HashiCorp, Inc
@@ -34,7 +56,7 @@ __exportStar(require("./terraform-output"), exports);
34
56
  __exportStar(require("./complex-computed-list"), exports);
35
57
  __exportStar(require("./resource"), exports);
36
58
  __exportStar(require("./testing"), exports);
37
- exports.testingMatchers = require("./testing/matchers");
59
+ exports.testingMatchers = __importStar(require("./testing/matchers"));
38
60
  __exportStar(require("./app"), exports);
39
61
  __exportStar(require("./terraform-backend"), exports);
40
62
  __exportStar(require("./backends"), exports);
@@ -61,7 +83,10 @@ __exportStar(require("./importable-resource"), exports);
61
83
  __exportStar(require("./terraform-resource-targets"), exports);
62
84
  __exportStar(require("./upgrade-id-aspect"), exports);
63
85
  __exportStar(require("./terraform-data-resource"), exports);
86
+ __exportStar(require("./assets"), exports);
87
+ __exportStar(require("./ignore-strategy"), exports);
88
+ __exportStar(require("./asset-hash"), exports);
64
89
  // required for JSII because Fn extends from it
65
90
  __exportStar(require("./functions/terraform-functions.generated"), exports);
66
91
  __exportStar(require("./functions/provider-function"), exports);
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLCtEQUE0RDtBQUM1RCxJQUFBLHlDQUFtQixHQUFFLENBQUM7QUFFdEIsMkNBQXlCO0FBQ3pCLG9EQUFrQztBQUNsQyxzREFBb0M7QUFDcEMscURBQW1DO0FBQ25DLHVEQUFxQztBQUNyQyx1REFBcUM7QUFDckMscUZBQXFGO0FBQ3JGLCtFQUFpRTtBQUF4RCwrSEFBQSxlQUFlLE9BQUE7QUFDeEIsMERBQXdDO0FBQ3hDLGlFQUErQztBQUMvQyxxREFBbUM7QUFDbkMsMERBQXdDO0FBQ3hDLDZDQUEyQjtBQUMzQiw0Q0FBMEI7QUFDMUIsd0RBQXNEO0FBQ3RELHdDQUFzQjtBQUN0QixzREFBb0M7QUFDcEMsNkNBQTJCO0FBQzNCLDJEQUF5QztBQUN6QyxvREFBa0M7QUFDbEMsdURBQXFDO0FBQ3JDLHlEQUF1QztBQUN2Qyw0Q0FBMEI7QUFDMUIseURBQXVDO0FBQ3ZDLDZDQUEyQjtBQUMzQixvREFBa0M7QUFDbEMsK0NBQTZCO0FBQzdCLGdEQUE4QjtBQUM5QiwyQ0FBeUI7QUFDekIsd0RBQXNDO0FBQ3RDLHdEQUFzQztBQUN0QyxpREFBK0I7QUFDL0IsMERBQXdDO0FBQ3hDLHVEQUFxQztBQUNyQywwREFBd0M7QUFDeEMseURBQXVDO0FBQ3ZDLG9EQUFrQztBQUNsQyx3REFBc0M7QUFDdEMsK0RBQTZDO0FBQzdDLHNEQUFvQztBQUNwQyw0REFBMEM7QUFDMUMsK0NBQStDO0FBQy9DLDRFQUEwRDtBQUMxRCxnRUFBOEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgdmFsaWRhdGVFbnZpcm9ubWVudCB9IGZyb20gXCIuL3ZhbGlkYXRlRW52aXJvbm1lbnRcIjtcbnZhbGlkYXRlRW52aXJvbm1lbnQoKTtcblxuZXhwb3J0ICogZnJvbSBcIi4vdG9rZW5zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tc3RhY2tcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tbW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tcHJvdmlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1yZXNvdXJjZVwiO1xuLy8gbmFtZWQgZXhwb3J0OiBvbmx5IHRoZSBlbnVtIGlzIHB1YmxpYyBBUEksIHRoZSBjb25zdHJhaW50L2xhYmVsIG1hcHMgc3RheSBpbnRlcm5hbFxuZXhwb3J0IHsgUHJvdmlkZXJGZWF0dXJlIH0gZnJvbSBcIi4vcHJvdmlkZXItZmVhdHVyZS1jb25zdHJhaW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWRhdGEtc291cmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tZXBoZW1lcmFsLXJlc291cmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tb3V0cHV0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wbGV4LWNvbXB1dGVkLWxpc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jlc291cmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXN0aW5nXCI7XG5leHBvcnQgKiBhcyB0ZXN0aW5nTWF0Y2hlcnMgZnJvbSBcIi4vdGVzdGluZy9tYXRjaGVyc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXBwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tYmFja2VuZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmFja2VuZHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1yZW1vdGUtc3RhdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1sb2NhbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLXZhcmlhYmxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0taGNsLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcnVudGltZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWRlcGVuZGFibGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21hbmlmZXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tYXNzZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N5bnRoZXNpemVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Fubm90YXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hc3BlY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1mdW5jdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1vcGVyYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0taXRlcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1wcm92aXNpb25lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWNvbmRpdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1jb3VudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW1wb3J0YWJsZS1yZXNvdXJjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLXJlc291cmNlLXRhcmdldHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VwZ3JhZGUtaWQtYXNwZWN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tZGF0YS1yZXNvdXJjZVwiO1xuLy8gcmVxdWlyZWQgZm9yIEpTSUkgYmVjYXVzZSBGbiBleHRlbmRzIGZyb20gaXRcbmV4cG9ydCAqIGZyb20gXCIuL2Z1bmN0aW9ucy90ZXJyYWZvcm0tZnVuY3Rpb25zLmdlbmVyYXRlZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZnVuY3Rpb25zL3Byb3ZpZGVyLWZ1bmN0aW9uXCI7XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywrREFBNEQ7QUFDNUQsSUFBQSx5Q0FBbUIsR0FBRSxDQUFDO0FBRXRCLDJDQUF5QjtBQUN6QixvREFBa0M7QUFDbEMsc0RBQW9DO0FBQ3BDLHFEQUFtQztBQUNuQyx1REFBcUM7QUFDckMsdURBQXFDO0FBQ3JDLHFGQUFxRjtBQUNyRiwrRUFBaUU7QUFBeEQsK0hBQUEsZUFBZSxPQUFBO0FBQ3hCLDBEQUF3QztBQUN4QyxpRUFBK0M7QUFDL0MscURBQW1DO0FBQ25DLDBEQUF3QztBQUN4Qyw2Q0FBMkI7QUFDM0IsNENBQTBCO0FBQzFCLHNFQUFzRDtBQUN0RCx3Q0FBc0I7QUFDdEIsc0RBQW9DO0FBQ3BDLDZDQUEyQjtBQUMzQiwyREFBeUM7QUFDekMsb0RBQWtDO0FBQ2xDLHVEQUFxQztBQUNyQyx5REFBdUM7QUFDdkMsNENBQTBCO0FBQzFCLHlEQUF1QztBQUN2Qyw2Q0FBMkI7QUFDM0Isb0RBQWtDO0FBQ2xDLCtDQUE2QjtBQUM3QixnREFBOEI7QUFDOUIsMkNBQXlCO0FBQ3pCLHdEQUFzQztBQUN0Qyx3REFBc0M7QUFDdEMsaURBQStCO0FBQy9CLDBEQUF3QztBQUN4Qyx1REFBcUM7QUFDckMsMERBQXdDO0FBQ3hDLHlEQUF1QztBQUN2QyxvREFBa0M7QUFDbEMsd0RBQXNDO0FBQ3RDLCtEQUE2QztBQUM3QyxzREFBb0M7QUFDcEMsNERBQTBDO0FBQzFDLDJDQUF5QjtBQUN6QixvREFBa0M7QUFDbEMsK0NBQTZCO0FBQzdCLCtDQUErQztBQUMvQyw0RUFBMEQ7QUFDMUQsZ0VBQThDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IHZhbGlkYXRlRW52aXJvbm1lbnQgfSBmcm9tIFwiLi92YWxpZGF0ZUVudmlyb25tZW50XCI7XG52YWxpZGF0ZUVudmlyb25tZW50KCk7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3Rva2Vuc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLXN0YWNrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLW1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLXByb3ZpZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tcmVzb3VyY2VcIjtcbi8vIG5hbWVkIGV4cG9ydDogb25seSB0aGUgZW51bSBpcyBwdWJsaWMgQVBJLCB0aGUgY29uc3RyYWludC9sYWJlbCBtYXBzIHN0YXkgaW50ZXJuYWxcbmV4cG9ydCB7IFByb3ZpZGVyRmVhdHVyZSB9IGZyb20gXCIuL3Byb3ZpZGVyLWZlYXR1cmUtY29uc3RyYWludHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1kYXRhLXNvdXJjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWVwaGVtZXJhbC1yZXNvdXJjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLW91dHB1dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcGxleC1jb21wdXRlZC1saXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXNvdXJjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVzdGluZ1wiO1xuZXhwb3J0ICogYXMgdGVzdGluZ01hdGNoZXJzIGZyb20gXCIuL3Rlc3RpbmcvbWF0Y2hlcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FwcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWJhY2tlbmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2JhY2tlbmRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tcmVtb3RlLXN0YXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tbG9jYWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS12YXJpYWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWhjbC1tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3J1bnRpbWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1kZXBlbmRhYmxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tYW5pZmVzdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWFzc2V0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zeW50aGVzaXplXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbm5vdGF0aW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXNwZWN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tZnVuY3Rpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tb3BlcmF0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWl0ZXJhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tcHJvdmlzaW9uZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1jb25kaXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXJyYWZvcm0tY291bnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ltcG9ydGFibGUtcmVzb3VyY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlcnJhZm9ybS1yZXNvdXJjZS10YXJnZXRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91cGdyYWRlLWlkLWFzcGVjdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVycmFmb3JtLWRhdGEtcmVzb3VyY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Fzc2V0c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaWdub3JlLXN0cmF0ZWd5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hc3NldC1oYXNoXCI7XG4vLyByZXF1aXJlZCBmb3IgSlNJSSBiZWNhdXNlIEZuIGV4dGVuZHMgZnJvbSBpdFxuZXhwb3J0ICogZnJvbSBcIi4vZnVuY3Rpb25zL3RlcnJhZm9ybS1mdW5jdGlvbnMuZ2VuZXJhdGVkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mdW5jdGlvbnMvcHJvdmlkZXItZnVuY3Rpb25cIjtcbiJdfQ==
package/lib/manifest.js CHANGED
@@ -1,20 +1,63 @@
1
1
  "use strict";
2
- var _a;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
3
38
  Object.defineProperty(exports, "__esModule", { value: true });
4
39
  exports.Manifest = void 0;
5
40
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
41
  // Copyright (c) HashiCorp, Inc
7
42
  // SPDX-License-Identifier: MPL-2.0
8
- const path = require("path");
9
- const fs = require("fs");
10
- const safe_stable_stringify_1 = require("safe-stable-stringify");
43
+ const path = __importStar(require("path"));
44
+ const fs = __importStar(require("fs"));
45
+ const safe_stable_stringify_1 = __importDefault(require("safe-stable-stringify"));
11
46
  // eslint-disable-next-line jsdoc/require-jsdoc
12
47
  class Manifest {
48
+ version;
49
+ outdir;
50
+ hclOutput;
51
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Manifest", version: "0.25.0-pre.21" };
52
+ static fileName = "manifest.json";
53
+ static stacksFolder = "stacks";
54
+ static stackMetadataPath = "metadata.json";
55
+ stacks = {};
56
+ stackFileName;
13
57
  constructor(version, outdir, hclOutput) {
14
58
  this.version = version;
15
59
  this.outdir = outdir;
16
60
  this.hclOutput = hclOutput;
17
- this.stacks = {};
18
61
  const stacksPath = path.join(this.outdir, Manifest.stacksFolder);
19
62
  if (!fs.existsSync(stacksPath))
20
63
  fs.mkdirSync(stacksPath);
@@ -29,9 +72,13 @@ class Manifest {
29
72
  const manifest = {
30
73
  name,
31
74
  constructPath: node.path,
32
- workingDirectory: path.join(Manifest.stacksFolder, node.id),
33
- synthesizedStackPath: path.join(Manifest.stacksFolder, node.id, this.stackFileName),
34
- stackMetadataPath: path.join(Manifest.stacksFolder, node.id, Manifest.stackMetadataPath),
75
+ // These are recorded in manifest.json and are always "/"-separated, so
76
+ // the manifest reads the same regardless of the host platform. Node
77
+ // accepts forward slashes in paths on Windows too, so consumers can
78
+ // still join them onto outdir directly.
79
+ workingDirectory: path.posix.join(Manifest.stacksFolder, node.id),
80
+ synthesizedStackPath: path.posix.join(Manifest.stacksFolder, node.id, this.stackFileName),
81
+ stackMetadataPath: path.posix.join(Manifest.stacksFolder, node.id, Manifest.stackMetadataPath),
35
82
  annotations: [], // will be replaced later when processed in App
36
83
  dependencies: stack.dependencies.map((item) => item.node.path),
37
84
  };
@@ -49,9 +96,4 @@ class Manifest {
49
96
  }
50
97
  }
51
98
  exports.Manifest = Manifest;
52
- _a = JSII_RTTI_SYMBOL_1;
53
- Manifest[_a] = { fqn: "cdktn.Manifest", version: "0.25.0-pre.2" };
54
- Manifest.fileName = "manifest.json";
55
- Manifest.stacksFolder = "stacks";
56
- Manifest.stackMetadataPath = "metadata.json";
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFHekIsaUVBQThDO0FBd0I5QywrQ0FBK0M7QUFDL0MsTUFBYSxRQUFRO0lBUW5CLFlBQ2tCLE9BQWUsRUFDZixNQUFjLEVBQ2QsU0FBa0I7UUFGbEIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFTO1FBTnBCLFdBQU0sR0FBaUQsRUFBRSxDQUFDO1FBUXhFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFxQjtRQUNuQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFckIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBa0I7WUFDOUIsSUFBSTtZQUNKLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUN4QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUM3QixRQUFRLENBQUMsWUFBWSxFQUNyQixJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxhQUFhLENBQ25CO1lBQ0QsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FDMUIsUUFBUSxDQUFDLFlBQVksRUFDckIsSUFBSSxDQUFDLEVBQUUsRUFDUCxRQUFRLENBQUMsaUJBQWlCLENBQzNCO1lBQ0QsV0FBVyxFQUFFLEVBQUUsRUFBRSwrQ0FBK0M7WUFDaEUsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMvRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7UUFFN0IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXO1FBQ2hCLEVBQUUsQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFDekMsSUFBQSwrQkFBUyxFQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFXLENBQ25ELENBQUM7SUFDSixDQUFDOztBQTdESCw0QkE4REM7OztBQTdEd0IsaUJBQVEsR0FBRyxlQUFlLEFBQWxCLENBQW1CO0FBQzNCLHFCQUFZLEdBQUcsUUFBUSxBQUFYLENBQVk7QUFDeEIsMEJBQWlCLEdBQUcsZUFBZSxBQUFsQixDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4vdGVycmFmb3JtLXN0YWNrXCI7XG5pbXBvcnQgeyBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUgfSBmcm9tIFwiLi9hbm5vdGF0aW9uc1wiO1xuaW1wb3J0IHN0cmluZ2lmeSBmcm9tIFwic2FmZS1zdGFibGUtc3RyaW5naWZ5XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tBbm5vdGF0aW9uIHtcbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aDogc3RyaW5nO1xuICByZWFkb25seSBsZXZlbDogQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlO1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWNrdHJhY2U/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tNYW5pZmVzdCB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aDogc3RyaW5nO1xuICByZWFkb25seSBzeW50aGVzaXplZFN0YWNrUGF0aDogc3RyaW5nO1xuICAvLyBPbmx5IHZhbGlkIGZvciBIQ0wgc3ludGhlc2lzLCBmb3IgSlNPTiB0aGUgbWV0YWRhdGEgaXMgd2l0aGluIHRoZSBzeW50aGVzaXplZCBvdXRwdXRcbiAgcmVhZG9ubHkgc3RhY2tNZXRhZGF0YVBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgd29ya2luZ0RpcmVjdG9yeTogc3RyaW5nO1xuICByZWFkb25seSBhbm5vdGF0aW9uczogU3RhY2tBbm5vdGF0aW9uW107XG4gIHJlYWRvbmx5IGRlcGVuZGVuY2llczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hbmlmZXN0IHtcbiAgcmVhZG9ubHkgc3RhY2tzOiBSZWNvcmQ8U3RhY2tNYW5pZmVzdFtcIm5hbWVcIl0sIFN0YWNrTWFuaWZlc3Q+O1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgTWFuaWZlc3QgaW1wbGVtZW50cyBJTWFuaWZlc3Qge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGZpbGVOYW1lID0gXCJtYW5pZmVzdC5qc29uXCI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgc3RhY2tzRm9sZGVyID0gXCJzdGFja3NcIjtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBzdGFja01ldGFkYXRhUGF0aCA9IFwibWV0YWRhdGEuanNvblwiO1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGFja3M6IFJlY29yZDxTdGFja01hbmlmZXN0W1wibmFtZVwiXSwgU3RhY2tNYW5pZmVzdD4gPSB7fTtcbiAgcHVibGljIHJlYWRvbmx5IHN0YWNrRmlsZU5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBvdXRkaXI6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaGNsT3V0cHV0OiBib29sZWFuLFxuICApIHtcbiAgICBjb25zdCBzdGFja3NQYXRoID0gcGF0aC5qb2luKHRoaXMub3V0ZGlyLCBNYW5pZmVzdC5zdGFja3NGb2xkZXIpO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhzdGFja3NQYXRoKSkgZnMubWtkaXJTeW5jKHN0YWNrc1BhdGgpO1xuXG4gICAgdGhpcy5zdGFja0ZpbGVOYW1lID0gaGNsT3V0cHV0ID8gXCJjZGsudGZcIiA6IFwiY2RrLnRmLmpzb25cIjtcbiAgfVxuXG4gIHB1YmxpYyBmb3JTdGFjayhzdGFjazogVGVycmFmb3JtU3RhY2spOiBTdGFja01hbmlmZXN0IHtcbiAgICBjb25zdCBub2RlID0gc3RhY2subm9kZTtcbiAgICBjb25zdCBuYW1lID0gbm9kZS5pZDtcblxuICAgIGlmICh0aGlzLnN0YWNrc1tuYW1lXSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhY2tzW25hbWVdO1xuICAgIH1cblxuICAgIGNvbnN0IG1hbmlmZXN0OiBTdGFja01hbmlmZXN0ID0ge1xuICAgICAgbmFtZSxcbiAgICAgIGNvbnN0cnVjdFBhdGg6IG5vZGUucGF0aCxcbiAgICAgIHdvcmtpbmdEaXJlY3Rvcnk6IHBhdGguam9pbihNYW5pZmVzdC5zdGFja3NGb2xkZXIsIG5vZGUuaWQpLFxuICAgICAgc3ludGhlc2l6ZWRTdGFja1BhdGg6IHBhdGguam9pbihcbiAgICAgICAgTWFuaWZlc3Quc3RhY2tzRm9sZGVyLFxuICAgICAgICBub2RlLmlkLFxuICAgICAgICB0aGlzLnN0YWNrRmlsZU5hbWUsXG4gICAgICApLFxuICAgICAgc3RhY2tNZXRhZGF0YVBhdGg6IHBhdGguam9pbihcbiAgICAgICAgTWFuaWZlc3Quc3RhY2tzRm9sZGVyLFxuICAgICAgICBub2RlLmlkLFxuICAgICAgICBNYW5pZmVzdC5zdGFja01ldGFkYXRhUGF0aCxcbiAgICAgICksXG4gICAgICBhbm5vdGF0aW9uczogW10sIC8vIHdpbGwgYmUgcmVwbGFjZWQgbGF0ZXIgd2hlbiBwcm9jZXNzZWQgaW4gQXBwXG4gICAgICBkZXBlbmRlbmNpZXM6IHN0YWNrLmRlcGVuZGVuY2llcy5tYXAoKGl0ZW0pID0+IGl0ZW0ubm9kZS5wYXRoKSxcbiAgICB9O1xuICAgIHRoaXMuc3RhY2tzW25hbWVdID0gbWFuaWZlc3Q7XG5cbiAgICByZXR1cm4gbWFuaWZlc3Q7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRNYW5pZmVzdCgpOiBJTWFuaWZlc3Qge1xuICAgIHJldHVybiB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICBzdGFja3M6IHRoaXMuc3RhY2tzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgd3JpdGVUb0ZpbGUoKSB7XG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbih0aGlzLm91dGRpciwgTWFuaWZlc3QuZmlsZU5hbWUpLFxuICAgICAgc3RyaW5naWZ5KHRoaXMuYnVpbGRNYW5pZmVzdCgpLCBudWxsLCAyKSBhcyBzdHJpbmcsXG4gICAgKTtcbiAgfVxufVxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLHVDQUF5QjtBQUd6QixrRkFBOEM7QUF3QjlDLCtDQUErQztBQUMvQyxNQUFhLFFBQVE7SUFTRDtJQUNBO0lBQ0E7O0lBVlgsTUFBTSxDQUFVLFFBQVEsR0FBRyxlQUFlLENBQUM7SUFDM0MsTUFBTSxDQUFVLFlBQVksR0FBRyxRQUFRLENBQUM7SUFDeEMsTUFBTSxDQUFVLGlCQUFpQixHQUFHLGVBQWUsQ0FBQztJQUUzQyxNQUFNLEdBQWlELEVBQUUsQ0FBQztJQUMxRCxhQUFhLENBQVM7SUFFdEMsWUFDa0IsT0FBZSxFQUNmLE1BQWMsRUFDZCxTQUFrQjtRQUZsQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQVM7UUFFbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1RCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQXFCO1FBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUVyQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFrQjtZQUM5QixJQUFJO1lBQ0osYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3hCLHVFQUF1RTtZQUN2RSxvRUFBb0U7WUFDcEUsb0VBQW9FO1lBQ3BFLHdDQUF3QztZQUN4QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDakUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ25DLFFBQVEsQ0FBQyxZQUFZLEVBQ3JCLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FDbkI7WUFDRCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDaEMsUUFBUSxDQUFDLFlBQVksRUFDckIsSUFBSSxDQUFDLEVBQUUsRUFDUCxRQUFRLENBQUMsaUJBQWlCLENBQzNCO1lBQ0QsV0FBVyxFQUFFLEVBQUUsRUFBRSwrQ0FBK0M7WUFDaEUsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMvRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7UUFFN0IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXO1FBQ2hCLEVBQUUsQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFDekMsSUFBQSwrQkFBUyxFQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFXLENBQ25ELENBQUM7SUFDSixDQUFDOztBQWpFSCw0QkFrRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHsgQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlIH0gZnJvbSBcIi4vYW5ub3RhdGlvbnNcIjtcbmltcG9ydCBzdHJpbmdpZnkgZnJvbSBcInNhZmUtc3RhYmxlLXN0cmluZ2lmeVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrQW5ub3RhdGlvbiB7XG4gIHJlYWRvbmx5IGNvbnN0cnVjdFBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgbGV2ZWw6IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZTtcbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFja3RyYWNlPzogc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrTWFuaWZlc3Qge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbnN0cnVjdFBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgc3ludGhlc2l6ZWRTdGFja1BhdGg6IHN0cmluZztcbiAgLy8gT25seSB2YWxpZCBmb3IgSENMIHN5bnRoZXNpcywgZm9yIEpTT04gdGhlIG1ldGFkYXRhIGlzIHdpdGhpbiB0aGUgc3ludGhlc2l6ZWQgb3V0cHV0XG4gIHJlYWRvbmx5IHN0YWNrTWV0YWRhdGFQYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHdvcmtpbmdEaXJlY3Rvcnk6IHN0cmluZztcbiAgcmVhZG9ubHkgYW5ub3RhdGlvbnM6IFN0YWNrQW5ub3RhdGlvbltdO1xuICByZWFkb25seSBkZXBlbmRlbmNpZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNYW5pZmVzdCB7XG4gIHJlYWRvbmx5IHN0YWNrczogUmVjb3JkPFN0YWNrTWFuaWZlc3RbXCJuYW1lXCJdLCBTdGFja01hbmlmZXN0PjtcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIE1hbmlmZXN0IGltcGxlbWVudHMgSU1hbmlmZXN0IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBmaWxlTmFtZSA9IFwibWFuaWZlc3QuanNvblwiO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHN0YWNrc0ZvbGRlciA9IFwic3RhY2tzXCI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgc3RhY2tNZXRhZGF0YVBhdGggPSBcIm1ldGFkYXRhLmpzb25cIjtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhY2tzOiBSZWNvcmQ8U3RhY2tNYW5pZmVzdFtcIm5hbWVcIl0sIFN0YWNrTWFuaWZlc3Q+ID0ge307XG4gIHB1YmxpYyByZWFkb25seSBzdGFja0ZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3V0ZGlyOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhjbE91dHB1dDogYm9vbGVhbixcbiAgKSB7XG4gICAgY29uc3Qgc3RhY2tzUGF0aCA9IHBhdGguam9pbih0aGlzLm91dGRpciwgTWFuaWZlc3Quc3RhY2tzRm9sZGVyKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoc3RhY2tzUGF0aCkpIGZzLm1rZGlyU3luYyhzdGFja3NQYXRoKTtcblxuICAgIHRoaXMuc3RhY2tGaWxlTmFtZSA9IGhjbE91dHB1dCA/IFwiY2RrLnRmXCIgOiBcImNkay50Zi5qc29uXCI7XG4gIH1cblxuICBwdWJsaWMgZm9yU3RhY2soc3RhY2s6IFRlcnJhZm9ybVN0YWNrKTogU3RhY2tNYW5pZmVzdCB7XG4gICAgY29uc3Qgbm9kZSA9IHN0YWNrLm5vZGU7XG4gICAgY29uc3QgbmFtZSA9IG5vZGUuaWQ7XG5cbiAgICBpZiAodGhpcy5zdGFja3NbbmFtZV0pIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YWNrc1tuYW1lXTtcbiAgICB9XG5cbiAgICBjb25zdCBtYW5pZmVzdDogU3RhY2tNYW5pZmVzdCA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBjb25zdHJ1Y3RQYXRoOiBub2RlLnBhdGgsXG4gICAgICAvLyBUaGVzZSBhcmUgcmVjb3JkZWQgaW4gbWFuaWZlc3QuanNvbiBhbmQgYXJlIGFsd2F5cyBcIi9cIi1zZXBhcmF0ZWQsIHNvXG4gICAgICAvLyB0aGUgbWFuaWZlc3QgcmVhZHMgdGhlIHNhbWUgcmVnYXJkbGVzcyBvZiB0aGUgaG9zdCBwbGF0Zm9ybS4gTm9kZVxuICAgICAgLy8gYWNjZXB0cyBmb3J3YXJkIHNsYXNoZXMgaW4gcGF0aHMgb24gV2luZG93cyB0b28sIHNvIGNvbnN1bWVycyBjYW5cbiAgICAgIC8vIHN0aWxsIGpvaW4gdGhlbSBvbnRvIG91dGRpciBkaXJlY3RseS5cbiAgICAgIHdvcmtpbmdEaXJlY3Rvcnk6IHBhdGgucG9zaXguam9pbihNYW5pZmVzdC5zdGFja3NGb2xkZXIsIG5vZGUuaWQpLFxuICAgICAgc3ludGhlc2l6ZWRTdGFja1BhdGg6IHBhdGgucG9zaXguam9pbihcbiAgICAgICAgTWFuaWZlc3Quc3RhY2tzRm9sZGVyLFxuICAgICAgICBub2RlLmlkLFxuICAgICAgICB0aGlzLnN0YWNrRmlsZU5hbWUsXG4gICAgICApLFxuICAgICAgc3RhY2tNZXRhZGF0YVBhdGg6IHBhdGgucG9zaXguam9pbihcbiAgICAgICAgTWFuaWZlc3Quc3RhY2tzRm9sZGVyLFxuICAgICAgICBub2RlLmlkLFxuICAgICAgICBNYW5pZmVzdC5zdGFja01ldGFkYXRhUGF0aCxcbiAgICAgICksXG4gICAgICBhbm5vdGF0aW9uczogW10sIC8vIHdpbGwgYmUgcmVwbGFjZWQgbGF0ZXIgd2hlbiBwcm9jZXNzZWQgaW4gQXBwXG4gICAgICBkZXBlbmRlbmNpZXM6IHN0YWNrLmRlcGVuZGVuY2llcy5tYXAoKGl0ZW0pID0+IGl0ZW0ubm9kZS5wYXRoKSxcbiAgICB9O1xuICAgIHRoaXMuc3RhY2tzW25hbWVdID0gbWFuaWZlc3Q7XG5cbiAgICByZXR1cm4gbWFuaWZlc3Q7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRNYW5pZmVzdCgpOiBJTWFuaWZlc3Qge1xuICAgIHJldHVybiB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICBzdGFja3M6IHRoaXMuc3RhY2tzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgd3JpdGVUb0ZpbGUoKSB7XG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbih0aGlzLm91dGRpciwgTWFuaWZlc3QuZmlsZU5hbWUpLFxuICAgICAgc3RyaW5naWZ5KHRoaXMuYnVpbGRNYW5pZmVzdCgpLCBudWxsLCAyKSBhcyBzdHJpbmcsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,15 +1,52 @@
1
+ /**
2
+ * Predicate deciding whether a tree entry is skipped.
3
+ * `relPath` is always `/`-separated and relative to the walk root, so patterns
4
+ * behave identically on Windows. `isDirectory` is supplied from the walker's
5
+ * `lstat` so `.gitignore` / `.dockerignore`-style directory-only patterns can
6
+ * be honored without the predicate stat-ing the path itself.
7
+ */
8
+ export type ExcludePredicate = (relPath: string, isDirectory: boolean) => boolean;
9
+ export interface CopySyncOptions {
10
+ /**
11
+ * Entries for which this returns true are not copied. Called with the
12
+ * entry's `/`-separated relative path and whether it is a directory.
13
+ * Excluding a directory also skips everything below it, unless
14
+ * {@link descendIntoExcludedDirectories} is set.
15
+ *
16
+ * @default - nothing is excluded
17
+ */
18
+ readonly shouldExclude?: ExcludePredicate;
19
+ /**
20
+ * Keep walking into an excluded directory instead of pruning it. The
21
+ * directory entry itself is still omitted; its children are visited and
22
+ * re-tested against {@link shouldExclude}, so a strategy with negation
23
+ * patterns (`node_modules` + `!node_modules/keep`) can re-include entries
24
+ * below an excluded parent. Costs a full walk of excluded subtrees, so it
25
+ * is off unless a strategy asks for it.
26
+ *
27
+ * @default false
28
+ */
29
+ readonly descendIntoExcludedDirectories?: boolean;
30
+ }
1
31
  /**
2
32
  * Copy a file or directory. The directory can have contents and subfolders.
33
+ * Symlinks are recreated as symlinks rather than dereferenced, which keeps the
34
+ * copy consistent with {@link hashPath} (it hashes links by their target) and
35
+ * makes dangling links and link cycles harmless.
3
36
  * @param src - source path
4
37
  * @param dest - destination path
38
+ * @param options - copy behaviour, see {@link CopySyncOptions}
5
39
  */
6
- export declare function copySync(src: string, dest: string): void;
40
+ export declare function copySync(src: string, dest: string, options?: CopySyncOptions): void;
7
41
  /**
8
42
  * Zips contents at src and places zip archive at dest.
9
43
  * @param src - directory to archive
10
44
  * @param dest - path to write the resulting zip to
45
+ * @param shouldExclude - entries to omit, see {@link CopySyncOptions.shouldExclude}
46
+ * @param descendIntoExcludedDirectories - keep walking excluded directories,
47
+ * see {@link CopySyncOptions.descendIntoExcludedDirectories}
11
48
  */
12
- export declare function archiveSync(src: string, dest: string): void;
49
+ export declare function archiveSync(src: string, dest: string, shouldExclude?: ExcludePredicate, descendIntoExcludedDirectories?: boolean): void;
13
50
  export interface HashPathOptions {
14
51
  /**
15
52
  * Use the canonical entry-framed hash instead of the legacy
@@ -25,6 +62,25 @@ export interface HashPathOptions {
25
62
  * the legacy scheme, which never records directories.
26
63
  */
27
64
  readonly archive?: boolean;
65
+ /**
66
+ * Entries for which this returns true are omitted from the digest. Excluding
67
+ * a directory also omits everything below it, unless
68
+ * {@link descendIntoExcludedDirectories} is set. The same predicate must be
69
+ * given to {@link copySync} so the hash and the emitted artifact describe the
70
+ * same set of files.
71
+ *
72
+ * @default - nothing is excluded
73
+ */
74
+ readonly shouldExclude?: ExcludePredicate;
75
+ /**
76
+ * Keep walking into excluded directories, see
77
+ * {@link CopySyncOptions.descendIntoExcludedDirectories}. Must match the
78
+ * value given to {@link copySync} / {@link archiveSync} so the digest covers
79
+ * the same file set the artifact contains.
80
+ *
81
+ * @default false
82
+ */
83
+ readonly descendIntoExcludedDirectories?: boolean;
28
84
  }
29
85
  /**
30
86
  * Compute a stable MD5 hash of a file or directory's contents.
@@ -37,6 +93,22 @@ export interface HashPathOptions {
37
93
  * @returns uppercased hex digest, truncated to HASH_LEN characters
38
94
  */
39
95
  export declare function hashPath(src: string, options?: HashPathOptions): string;
96
+ /**
97
+ * Build a predicate matching the exclusion forms accepted by
98
+ * `AssetHashOptions.exclude` (via `ExcludeIgnoreStrategy`): an exact relative
99
+ * path, a `*.ext` suffix, or a directory (with or without a trailing `/`),
100
+ * which also excludes its contents.
101
+ * Deliberately not a full glob implementation — `**`, `?`, character classes and
102
+ * `!` negation are not supported, and a pattern is never interpreted as
103
+ * anchoring to a subdirectory it does not name.
104
+ * The returned matcher looks only at the path, not at whether the entry is a
105
+ * directory: `dir` and `dir/` both match a directory named `dir` and its
106
+ * contents. It is therefore narrower than {@link ExcludePredicate}, which also
107
+ * receives an `isDirectory` flag for strategies that need it.
108
+ * @param exclude - patterns to exclude
109
+ * @returns predicate over `/`-separated paths relative to the asset root
110
+ */
111
+ export declare function excludeMatcher(exclude: string[]): (relativePath: string) => boolean;
40
112
  /**
41
113
  * Walk upward from `rootPath` looking for a file with the given name.
42
114
  * Returns the absolute path of the first match, or `null` if the search