aws-cdk 2.1004.0 → 2.1005.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/build-info.json +2 -2
  2. package/lib/api/aws-auth/account-cache.d.ts +1 -1
  3. package/lib/api/aws-auth/account-cache.js +1 -1
  4. package/lib/api/aws-auth/awscli-compatible.d.ts +1 -1
  5. package/lib/api/aws-auth/awscli-compatible.js +1 -1
  6. package/lib/api/aws-auth/credential-plugins.d.ts +1 -1
  7. package/lib/api/aws-auth/credential-plugins.js +1 -1
  8. package/lib/api/aws-auth/provider-caching.d.ts +1 -1
  9. package/lib/api/aws-auth/provider-caching.js +1 -1
  10. package/lib/api/aws-auth/sdk-logger.d.ts +2 -2
  11. package/lib/api/aws-auth/sdk-logger.js +1 -1
  12. package/lib/api/aws-auth/sdk-provider.d.ts +4 -4
  13. package/lib/api/aws-auth/sdk-provider.js +1 -1
  14. package/lib/api/aws-auth/sdk.d.ts +12 -12
  15. package/lib/api/aws-auth/sdk.js +1 -1
  16. package/lib/api/bootstrap/bootstrap-environment.d.ts +2 -2
  17. package/lib/api/bootstrap/bootstrap-environment.js +1 -1
  18. package/lib/api/bootstrap/bootstrap-props.d.ts +3 -3
  19. package/lib/api/bootstrap/bootstrap-props.js +1 -1
  20. package/lib/api/bootstrap/deploy-bootstrap.d.ts +4 -4
  21. package/lib/api/bootstrap/deploy-bootstrap.js +1 -1
  22. package/lib/api/bootstrap/legacy-template.d.ts +1 -1
  23. package/lib/api/bootstrap/legacy-template.js +1 -1
  24. package/lib/api/cxapp/cloud-executable.d.ts +3 -3
  25. package/lib/api/cxapp/cloud-executable.js +1 -1
  26. package/lib/api/cxapp/environments.d.ts +3 -3
  27. package/lib/api/cxapp/environments.js +1 -1
  28. package/lib/api/cxapp/exec.d.ts +4 -4
  29. package/lib/api/cxapp/exec.js +1 -1
  30. package/lib/api/deployments/asset-publishing.d.ts +2 -2
  31. package/lib/api/deployments/asset-publishing.js +1 -1
  32. package/lib/api/deployments/assets.d.ts +3 -3
  33. package/lib/api/deployments/assets.js +1 -1
  34. package/lib/api/deployments/checks.d.ts +2 -2
  35. package/lib/api/deployments/checks.js +1 -1
  36. package/lib/api/deployments/cloudformation.d.ts +2 -2
  37. package/lib/api/deployments/cloudformation.js +1 -1
  38. package/lib/api/deployments/deploy-stack.d.ts +6 -6
  39. package/lib/api/deployments/deploy-stack.js +36 -36
  40. package/lib/api/deployments/deployments.d.ts +6 -6
  41. package/lib/api/deployments/deployments.js +1 -1
  42. package/lib/api/deployments/hotswap-deployments.d.ts +6 -4
  43. package/lib/api/deployments/hotswap-deployments.js +51 -26
  44. package/lib/api/environment/environment-access.d.ts +6 -6
  45. package/lib/api/environment/environment-access.js +1 -1
  46. package/lib/api/environment/environment-resources.d.ts +1 -1
  47. package/lib/api/environment/environment-resources.js +1 -1
  48. package/lib/api/evaluate-cloudformation-template.d.ts +7 -2
  49. package/lib/api/evaluate-cloudformation-template.js +11 -5
  50. package/lib/api/garbage-collection/garbage-collector.d.ts +4 -4
  51. package/lib/api/garbage-collection/garbage-collector.js +2 -2
  52. package/lib/api/garbage-collection/progress-printer.d.ts +2 -2
  53. package/lib/api/garbage-collection/progress-printer.js +1 -1
  54. package/lib/api/garbage-collection/stack-refresh.d.ts +2 -2
  55. package/lib/api/garbage-collection/stack-refresh.js +1 -1
  56. package/lib/api/hotswap/appsync-mapping-templates.d.ts +3 -2
  57. package/lib/api/hotswap/appsync-mapping-templates.js +8 -6
  58. package/lib/api/hotswap/code-build-projects.d.ts +3 -2
  59. package/lib/api/hotswap/code-build-projects.js +8 -6
  60. package/lib/api/hotswap/common.d.ts +45 -34
  61. package/lib/api/hotswap/common.js +2 -14
  62. package/lib/api/hotswap/ecs-services.d.ts +3 -2
  63. package/lib/api/hotswap/ecs-services.js +7 -5
  64. package/lib/api/hotswap/lambda-functions.d.ts +3 -2
  65. package/lib/api/hotswap/lambda-functions.js +47 -65
  66. package/lib/api/hotswap/s3-bucket-deployments.d.ts +4 -8
  67. package/lib/api/hotswap/s3-bucket-deployments.js +18 -17
  68. package/lib/api/hotswap/stepfunctions-state-machines.d.ts +3 -2
  69. package/lib/api/hotswap/stepfunctions-state-machines.js +8 -6
  70. package/lib/api/logs/find-cloudwatch-logs.d.ts +1 -1
  71. package/lib/api/logs/find-cloudwatch-logs.js +2 -3
  72. package/lib/api/logs/logs-monitor.d.ts +2 -2
  73. package/lib/api/logs/logs-monitor.js +1 -1
  74. package/lib/api/resource-import/importer.d.ts +4 -4
  75. package/lib/api/resource-import/importer.js +1 -1
  76. package/lib/api/resource-import/migrator.d.ts +3 -3
  77. package/lib/api/resource-import/migrator.js +1 -1
  78. package/lib/api/stack-events/stack-activity-monitor.d.ts +1 -2
  79. package/lib/api/stack-events/stack-activity-monitor.js +3 -23
  80. package/lib/api/stack-events/stack-progress-monitor.d.ts +1 -1
  81. package/lib/api/stack-events/stack-progress-monitor.js +1 -1
  82. package/lib/api/toolkit-info.d.ts +2 -2
  83. package/lib/api/toolkit-info.js +1 -1
  84. package/lib/api/util/template-body-parameter.d.ts +1 -1
  85. package/lib/api/util/template-body-parameter.js +1 -1
  86. package/lib/api/work-graph/work-graph-builder.d.ts +2 -2
  87. package/lib/api/work-graph/work-graph-builder.js +1 -1
  88. package/lib/api/work-graph/work-graph-types.d.ts +2 -2
  89. package/lib/api/work-graph/work-graph-types.js +1 -1
  90. package/lib/api/work-graph/work-graph.d.ts +2 -2
  91. package/lib/api/work-graph/work-graph.js +1 -1
  92. package/lib/cli/activity-printer/base.d.ts +2 -2
  93. package/lib/cli/activity-printer/base.js +1 -1
  94. package/lib/cli/activity-printer/current.d.ts +2 -1
  95. package/lib/cli/activity-printer/current.js +1 -1
  96. package/lib/cli/activity-printer/history.d.ts +2 -1
  97. package/lib/cli/activity-printer/history.js +1 -1
  98. package/lib/cli/cdk-toolkit.d.ts +7 -7
  99. package/lib/cli/cdk-toolkit.js +10 -2
  100. package/lib/cli/ci-systems.d.ts +29 -0
  101. package/lib/cli/ci-systems.js +62 -0
  102. package/lib/cli/cli.d.ts +1 -1
  103. package/lib/cli/cli.js +22 -3
  104. package/lib/cli/convert-to-user-input.js +1 -1
  105. package/lib/cli/messages.d.ts +1 -1
  106. package/lib/cli/messages.js +1 -1
  107. package/lib/cli/parse-command-line-arguments.js +1 -1
  108. package/lib/cli/user-configuration.js +1 -1
  109. package/lib/cli/user-input.js +1 -1
  110. package/lib/commands/context.d.ts +1 -1
  111. package/lib/commands/context.js +1 -1
  112. package/lib/commands/migrate.d.ts +1 -1
  113. package/lib/commands/migrate.js +1 -1
  114. package/lib/context-providers/ami.d.ts +1 -1
  115. package/lib/context-providers/ami.js +1 -1
  116. package/lib/context-providers/availability-zones.d.ts +1 -1
  117. package/lib/context-providers/availability-zones.js +1 -1
  118. package/lib/context-providers/cc-api-provider.d.ts +1 -1
  119. package/lib/context-providers/cc-api-provider.js +1 -1
  120. package/lib/context-providers/endpoint-service-availability-zones.d.ts +1 -1
  121. package/lib/context-providers/endpoint-service-availability-zones.js +1 -1
  122. package/lib/context-providers/hosted-zones.d.ts +2 -2
  123. package/lib/context-providers/hosted-zones.js +1 -1
  124. package/lib/context-providers/index.d.ts +3 -3
  125. package/lib/context-providers/index.js +1 -1
  126. package/lib/context-providers/keys.d.ts +1 -1
  127. package/lib/context-providers/keys.js +1 -1
  128. package/lib/context-providers/load-balancers.d.ts +3 -3
  129. package/lib/context-providers/load-balancers.js +1 -1
  130. package/lib/context-providers/ssm-parameters.d.ts +1 -1
  131. package/lib/context-providers/ssm-parameters.js +1 -1
  132. package/lib/context-providers/vpcs.d.ts +1 -1
  133. package/lib/context-providers/vpcs.js +1 -1
  134. package/lib/diff.d.ts +1 -1
  135. package/lib/diff.js +1 -1
  136. package/lib/index.js +4028 -3727
  137. package/lib/legacy-logging-source.js +1 -1
  138. package/lib/list-stacks.d.ts +1 -1
  139. package/lib/list-stacks.js +1 -1
  140. package/lib/logging.d.ts +3 -3
  141. package/lib/logging.js +37 -35
  142. package/lib/notices.d.ts +22 -18
  143. package/lib/notices.js +46 -46
  144. package/lib/toolkit/cli-io-host.d.ts +17 -2
  145. package/lib/toolkit/cli-io-host.js +34 -5
  146. package/lib/tree.d.ts +1 -1
  147. package/lib/tree.js +1 -1
  148. package/package.json +3 -5
@@ -104,4 +104,4 @@ exports.data = logger(stdout);
104
104
  function prefix(prefixString, fn) {
105
105
  return (fmt, ...args) => fn(`%s ${fmt}`, prefixString, ...args);
106
106
  }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LWxvZ2dpbmctc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGVnYWN5LWxvZ2dpbmctc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzRkFBc0Y7QUFDdEYsK0dBQStHO0FBQy9HLHNGQUFzRjtBQUN0Riw2RkFBNkY7QUFDN0YsaURBQWlEO0FBQ2pELHNFQUFzRTs7O0FBV3RFLDhDQU9DO0FBOERELGtDQUVDO0FBRUQsc0JBRUM7QUFFRCw4Q0FFQztBQXdCRCx3QkFFQztBQWpIRCw2QkFBNkI7QUFDN0IsK0JBQStCO0FBRy9CLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0FBSTVCLEtBQUssVUFBVSxpQkFBaUIsQ0FBSSxLQUF1QjtJQUNoRSxXQUFXLEVBQUUsQ0FBQztJQUNkLElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO1lBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sU0FBUyxHQUF5QixFQUFFLENBQUM7QUFFM0MsU0FBUyxNQUFNO0lBQ2IsT0FBTyxZQUFZLEtBQUssQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxTQUFTLFdBQVc7SUFDbEIsWUFBWSxJQUFJLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsU0FBUyxhQUFhO0lBQ3BCLFlBQVksSUFBSSxDQUFDLENBQUM7SUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDZCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFD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aGUgZmlsZSBgcGFja2FnZXMvYXdzLWNkay9saWIvbG9nZ2luZy50c2AgZnJvbSAyMDI0LTExLTI5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi84MWNkZTBlMmUxZjgzZjgwMjczZDE0NzI0ZDU1MThjYzIwZGM1YTgwL3BhY2thZ2VzL2F3cy1jZGsvbGliL2xvZ2dpbmcudHNcbi8vIEFmdGVyIHRoaXMgd2Ugc3RhcnRlZCByZWZhY3RvcmluZyB0aGUgZmlsZSBhbmQgZnVuY3Rpb25hbGl0eSBjaGFuZ2VkIHNpZ25pZmljYW50bHkuXG4vLyBJbiBvcmRlciB0byBwcmVzZXJ2ZXIgYmFja3dhcmRzLWNvbXBhdGlibHkgZm9yIHVzZXJzIHdpdGggdW5zYW5jdGlvbmVkIHVzYWdlIG9mIHRoaXMgZmlsZSxcbi8vIHdlIGtlZXAgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIGFyb3VuZC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8zMzAyMSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuaW1wb3J0IHsgV3JpdGFibGUgfSBmcm9tICdzdHJlYW0nO1xuaW1wb3J0ICogYXMgdXRpbCBmcm9tICd1dGlsJztcbmltcG9ydCAqIGFzIGNoYWxrIGZyb20gJ2NoYWxrJztcblxudHlwZSBTdHlsZUZuID0gKHN0cjogc3RyaW5nKSA9PiBzdHJpbmc7XG5jb25zdCB7IHN0ZG91dCwgc3RkZXJyIH0gPSBwcm9jZXNzO1xuXG50eXBlIFdyaXRhYmxlRmFjdG9yeSA9ICgpID0+IFdyaXRhYmxlO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2l0aENvcmtlZExvZ2dpbmc8QT4oYmxvY2s6ICgpID0+IFByb21pc2U8QT4pOiBQcm9taXNlPEE+IHtcbiAgY29ya0xvZ2dpbmcoKTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgYmxvY2soKTtcbiAgfSBmaW5hbGx5IHtcbiAgICB1bmNvcmtMb2dnaW5nKCk7XG4gIH1cbn1cblxubGV0IENPUktfQ09VTlRFUiA9IDA7XG5jb25zdCBsb2dCdWZmZXI6IFtXcml0YWJsZSwgc3RyaW5nXVtdID0gW107XG5cbmZ1bmN0aW9uIGNvcmtlZCgpIHtcbiAgcmV0dXJuIENPUktfQ09VTlRFUiAhPT0gMDtcbn1cblxuZnVuY3Rpb24gY29ya0xvZ2dpbmcoKSB7XG4gIENPUktfQ09VTlRFUiArPSAxO1xufVxuXG5mdW5jdGlvbiB1bmNvcmtMb2dnaW5nKCkge1xuICBDT1JLX0NPVU5URVIgLT0gMTtcbiAgaWYgKCFjb3JrZWQoKSkge1xuICAgIGxvZ0J1ZmZlci5mb3JFYWNoKChbc3RyZWFtLCBzdHJdKSA9PiBzdHJlYW0ud3JpdGUoc3RyICsgJ1xcbicpKTtcbiAgICBsb2dCdWZmZXIuc3BsaWNlKDApO1xuICB9XG59XG5cbmNvbnN0IGxvZ2dlciA9IChzdHJlYW06IFdyaXRhYmxlIHwgV3JpdGFibGVGYWN0b3J5LCBzdHlsZXM/OiBTdHlsZUZuW10sIHRpbWVzdGFtcD86IGJvb2xlYW4pID0+IChmbXQ6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIGNvbnN0IHRzID0gdGltZXN0YW1wID8gYFske2Zvcm1hdFRpbWUobmV3IERhdGUoKSl9XSBgIDogJyc7XG5cbiAgbGV0IHN0ciA9IHRzICsgdXRpbC5mb3JtYXQoZm10LCAuLi5hcmdzKTtcbiAgaWYgKHN0eWxlcyAmJiBzdHlsZXMubGVuZ3RoKSB7XG4gICAgc3RyID0gc3R5bGVzLnJlZHVjZSgoYSwgc3R5bGUpID0+IHN0eWxlKGEpLCBzdHIpO1xuICB9XG5cbiAgY29uc3QgcmVhbFN0cmVhbSA9IHR5cGVvZiBzdHJlYW0gPT09ICdmdW5jdGlvbicgPyBzdHJlYW0oKSA6IHN0cmVhbTtcblxuICAvLyBMb2dnZXIgaXMgY3VycmVudGx5IGNvcmtlZCwgc28gd2Ugc3RvcmUgdGhlIG1lc3NhZ2UgdG8gYmUgcHJpbnRlZFxuICAvLyBsYXRlciB3aGVuIHdlIGFyZSB1bmNvcmtlZC5cbiAgaWYgKGNvcmtlZCgpKSB7XG4gICAgbG9nQnVmZmVyLnB1c2goW3JlYWxTdHJlYW0sIHN0cl0pO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHJlYWxTdHJlYW0ud3JpdGUoc3RyICsgJ1xcbicpO1xufTtcblxuZnVuY3Rpb24gZm9ybWF0VGltZShkOiBEYXRlKSB7XG4gIHJldHVybiBgJHtscGFkKGQuZ2V0SG91cnMoKSwgMil9OiR7bHBhZChkLmdldE1pbnV0ZXMoKSwgMil9OiR7bHBhZChkLmdldFNlY29uZHMoKSwgMil9YDtcblxuICBmdW5jdGlvbiBscGFkKHg6IGFueSwgdzogbnVtYmVyKSB7XG4gICAgY29uc3QgcyA9IGAke3h9YDtcbiAgICByZXR1cm4gJzAnLnJlcGVhdChNYXRoLm1heCh3IC0gcy5sZW5ndGgsIDApKSArIHM7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gTG9nTGV2ZWwge1xuICAvKiogTm90IHZlcmJvc2UgYXQgYWxsICovXG4gIERFRkFVTFQgPSAwLFxuICAvKiogUHJldHR5IHZlcmJvc2UgKi9cbiAgREVCVUcgPSAxLFxuICAvKiogRXh0cmVtZWx5IHZlcmJvc2UgKi9cbiAgVFJBQ0UgPSAyLFxufVxuXG5leHBvcnQgbGV0IGxvZ0xldmVsID0gTG9nTGV2ZWwuREVGQVVMVDtcbmV4cG9ydCBsZXQgQ0kgPSBmYWxzZTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldExvZ0xldmVsKG5ld0xvZ0xldmVsOiBMb2dMZXZlbCkge1xuICBsb2dMZXZlbCA9IG5ld0xvZ0xldmVsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0Q0kobmV3Q0k6IGJvb2xlYW4pIHtcbiAgQ0kgPSBuZXdDSTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluY3JlYXNlVmVyYm9zaXR5KCkge1xuICBsb2dMZXZlbCArPSAxO1xufVxuXG5jb25zdCBzdHJlYW0gPSAoKSA9PiBDSSA/IHN0ZG91dCA6IHN0ZGVycjtcbmNvbnN0IF9kZWJ1ZyA9IGxvZ2dlcihzdHJlYW0sIFtjaGFsay5ncmF5XSwgdHJ1ZSk7XG5cbmV4cG9ydCBjb25zdCB0cmFjZSA9IChmbXQ6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSA9PiBsb2dMZXZlbCA+PSBMb2dMZXZlbC5UUkFDRSAmJiBfZGVidWcoZm10LCAuLi5hcmdzKTtcbmV4cG9ydCBjb25zdCBkZWJ1ZyA9IChmbXQ6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSA9PiBsb2dMZXZlbCA+PSBMb2dMZXZlbC5ERUJVRyAmJiBfZGVidWcoZm10LCAuLi5hcmdzKTtcbmV4cG9ydCBjb25zdCBlcnJvciA9IGxvZ2dlcihzdGRlcnIsIFtjaGFsay5yZWRdKTtcbmV4cG9ydCBjb25zdCB3YXJuaW5nID0gbG9nZ2VyKHN0cmVhbSwgW2NoYWxrLnllbGxvd10pO1xuZXhwb3J0IGNvbnN0IHN1Y2Nlc3MgPSBsb2dnZXIoc3RyZWFtLCBbY2hhbGsuZ3JlZW5dKTtcbmV4cG9ydCBjb25zdCBoaWdobGlnaHQgPSBsb2dnZXIoc3RyZWFtLCBbY2hhbGsuYm9sZF0pO1xuZXhwb3J0IGNvbnN0IHByaW50ID0gbG9nZ2VyKHN0cmVhbSk7XG5leHBvcnQgY29uc3QgZGF0YSA9IGxvZ2dlcihzdGRvdXQpO1xuXG5leHBvcnQgdHlwZSBMb2dnZXJGdW5jdGlvbiA9IChmbXQ6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSA9PiB2b2lkO1xuXG4vKipcbiAqIENyZWF0ZSBhIGxvZ2dlciBvdXRwdXQgdGhhdCBmZWF0dXJlcyBhIGNvbnN0YW50IHByZWZpeCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHByZWZpeFN0cmluZyB0aGUgcHJlZml4IHN0cmluZyB0byBiZSBhcHBlbmRlZCBiZWZvcmUgYW55IGxvZyBlbnRyeS5cbiAqIEBwYXJhbSBmbiAgIHRoZSBsb2dnZXIgZnVuY3Rpb24gdG8gYmUgdXNlZCAodHlwaWNhbGx5IG9uZSBvZiB0aGUgb3RoZXIgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlKVxuICpcbiAqIEByZXR1cm5zIGEgbmV3IExvZ2dlckZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlZml4KHByZWZpeFN0cmluZzogc3RyaW5nLCBmbjogTG9nZ2VyRnVuY3Rpb24pOiBMb2dnZXJGdW5jdGlvbiB7XG4gIHJldHVybiAoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiBmbihgJXMgJHtmbXR9YCwgcHJlZml4U3RyaW5nLCAuLi5hcmdzKTtcbn1cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LWxvZ2dpbmctc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGVnYWN5LWxvZ2dpbmctc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzRkFBc0Y7QUFDdEYsK0dBQStHO0FBQy9HLHNGQUFzRjtBQUN0Riw2RkFBNkY7QUFDN0YsaURBQWlEO0FBQ2pELHNFQUFzRTs7O0FBV3RFLDhDQU9DO0FBOERELGtDQUVDO0FBRUQsc0JBRUM7QUFFRCw4Q0FFQztBQXdCRCx3QkFFQztBQWpIRCw2QkFBNkI7QUFDN0IsK0JBQStCO0FBRy9CLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0FBSTVCLEtBQUssVUFBVSxpQkFBaUIsQ0FBSSxLQUF1QjtJQUNoRSxXQUFXLEVBQUUsQ0FBQztJQUNkLElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO1lBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sU0FBUyxHQUF5QixFQUFFLENBQUM7QUFFM0MsU0FBUyxNQUFNO0lBQ2IsT0FBTyxZQUFZLEtBQUssQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxTQUFTLFdBQVc7SUFDbEIsWUFBWSxJQUFJLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsU0FBUyxhQUFhO0lBQ3BCLFlBQVksSUFBSSxDQUFDLENBQUM7SUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDZCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFD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aGUgZmlsZSBgcGFja2FnZXMvYXdzLWNkay9saWIvbG9nZ2luZy50c2AgZnJvbSAyMDI0LTExLTI5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi84MWNkZTBlMmUxZjgzZjgwMjczZDE0NzI0ZDU1MThjYzIwZGM1YTgwL3BhY2thZ2VzL2F3cy1jZGsvbGliL2xvZ2dpbmcudHNcbi8vIEFmdGVyIHRoaXMgd2Ugc3RhcnRlZCByZWZhY3RvcmluZyB0aGUgZmlsZSBhbmQgZnVuY3Rpb25hbGl0eSBjaGFuZ2VkIHNpZ25pZmljYW50bHkuXG4vLyBJbiBvcmRlciB0byBwcmVzZXJ2ZXIgYmFja3dhcmRzLWNvbXBhdGlibHkgZm9yIHVzZXJzIHdpdGggdW5zYW5jdGlvbmVkIHVzYWdlIG9mIHRoaXMgZmlsZSxcbi8vIHdlIGtlZXAgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIGFyb3VuZC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8zMzAyMSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuaW1wb3J0IHR5cGUgeyBXcml0YWJsZSB9IGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgKiBhcyB1dGlsIGZyb20gJ3V0aWwnO1xuaW1wb3J0ICogYXMgY2hhbGsgZnJvbSAnY2hhbGsnO1xuXG50eXBlIFN0eWxlRm4gPSAoc3RyOiBzdHJpbmcpID0+IHN0cmluZztcbmNvbnN0IHsgc3Rkb3V0LCBzdGRlcnIgfSA9IHByb2Nlc3M7XG5cbnR5cGUgV3JpdGFibGVGYWN0b3J5ID0gKCkgPT4gV3JpdGFibGU7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoQ29ya2VkTG9nZ2luZzxBPihibG9jazogKCkgPT4gUHJvbWlzZTxBPik6IFByb21pc2U8QT4ge1xuICBjb3JrTG9nZ2luZygpO1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBibG9jaygpO1xuICB9IGZpbmFsbHkge1xuICAgIHVuY29ya0xvZ2dpbmcoKTtcbiAgfVxufVxuXG5sZXQgQ09SS19DT1VOVEVSID0gMDtcbmNvbnN0IGxvZ0J1ZmZlcjogW1dyaXRhYmxlLCBzdHJpbmddW10gPSBbXTtcblxuZnVuY3Rpb24gY29ya2VkKCkge1xuICByZXR1cm4gQ09SS19DT1VOVEVSICE9PSAwO1xufVxuXG5mdW5jdGlvbiBjb3JrTG9nZ2luZygpIHtcbiAgQ09SS19DT1VOVEVSICs9IDE7XG59XG5cbmZ1bmN0aW9uIHVuY29ya0xvZ2dpbmcoKSB7XG4gIENPUktfQ09VTlRFUiAtPSAxO1xuICBpZiAoIWNvcmtlZCgpKSB7XG4gICAgbG9nQnVmZmVyLmZvckVhY2goKFtzdHJlYW0sIHN0cl0pID0+IHN0cmVhbS53cml0ZShzdHIgKyAnXFxuJykpO1xuICAgIGxvZ0J1ZmZlci5zcGxpY2UoMCk7XG4gIH1cbn1cblxuY29uc3QgbG9nZ2VyID0gKHN0cmVhbTogV3JpdGFibGUgfCBXcml0YWJsZUZhY3RvcnksIHN0eWxlcz86IFN0eWxlRm5bXSwgdGltZXN0YW1wPzogYm9vbGVhbikgPT4gKGZtdDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgY29uc3QgdHMgPSB0aW1lc3RhbXAgPyBgWyR7Zm9ybWF0VGltZShuZXcgRGF0ZSgpKX1dIGAgOiAnJztcblxuICBsZXQgc3RyID0gdHMgKyB1dGlsLmZvcm1hdChmbXQsIC4uLmFyZ3MpO1xuICBpZiAoc3R5bGVzICYmIHN0eWxlcy5sZW5ndGgpIHtcbiAgICBzdHIgPSBzdHlsZXMucmVkdWNlKChhLCBzdHlsZSkgPT4gc3R5bGUoYSksIHN0cik7XG4gIH1cblxuICBjb25zdCByZWFsU3RyZWFtID0gdHlwZW9mIHN0cmVhbSA9PT0gJ2Z1bmN0aW9uJyA/IHN0cmVhbSgpIDogc3RyZWFtO1xuXG4gIC8vIExvZ2dlciBpcyBjdXJyZW50bHkgY29ya2VkLCBzbyB3ZSBzdG9yZSB0aGUgbWVzc2FnZSB0byBiZSBwcmludGVkXG4gIC8vIGxhdGVyIHdoZW4gd2UgYXJlIHVuY29ya2VkLlxuICBpZiAoY29ya2VkKCkpIHtcbiAgICBsb2dCdWZmZXIucHVzaChbcmVhbFN0cmVhbSwgc3RyXSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVhbFN0cmVhbS53cml0ZShzdHIgKyAnXFxuJyk7XG59O1xuXG5mdW5jdGlvbiBmb3JtYXRUaW1lKGQ6IERhdGUpIHtcbiAgcmV0dXJuIGAke2xwYWQoZC5nZXRIb3VycygpLCAyKX06JHtscGFkKGQuZ2V0TWludXRlcygpLCAyKX06JHtscGFkKGQuZ2V0U2Vjb25kcygpLCAyKX1gO1xuXG4gIGZ1bmN0aW9uIGxwYWQoeDogYW55LCB3OiBudW1iZXIpIHtcbiAgICBjb25zdCBzID0gYCR7eH1gO1xuICAgIHJldHVybiAnMCcucmVwZWF0KE1hdGgubWF4KHcgLSBzLmxlbmd0aCwgMCkpICsgcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBMb2dMZXZlbCB7XG4gIC8qKiBOb3QgdmVyYm9zZSBhdCBhbGwgKi9cbiAgREVGQVVMVCA9IDAsXG4gIC8qKiBQcmV0dHkgdmVyYm9zZSAqL1xuICBERUJVRyA9IDEsXG4gIC8qKiBFeHRyZW1lbHkgdmVyYm9zZSAqL1xuICBUUkFDRSA9IDIsXG59XG5cbmV4cG9ydCBsZXQgbG9nTGV2ZWwgPSBMb2dMZXZlbC5ERUZBVUxUO1xuZXhwb3J0IGxldCBDSSA9IGZhbHNlO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0TG9nTGV2ZWwobmV3TG9nTGV2ZWw6IExvZ0xldmVsKSB7XG4gIGxvZ0xldmVsID0gbmV3TG9nTGV2ZWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDSShuZXdDSTogYm9vbGVhbikge1xuICBDSSA9IG5ld0NJO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5jcmVhc2VWZXJib3NpdHkoKSB7XG4gIGxvZ0xldmVsICs9IDE7XG59XG5cbmNvbnN0IHN0cmVhbSA9ICgpID0+IENJID8gc3Rkb3V0IDogc3RkZXJyO1xuY29uc3QgX2RlYnVnID0gbG9nZ2VyKHN0cmVhbSwgW2NoYWxrLmdyYXldLCB0cnVlKTtcblxuZXhwb3J0IGNvbnN0IHRyYWNlID0gKGZtdDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pID0+IGxvZ0xldmVsID49IExvZ0xldmVsLlRSQUNFICYmIF9kZWJ1ZyhmbXQsIC4uLmFyZ3MpO1xuZXhwb3J0IGNvbnN0IGRlYnVnID0gKGZtdDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pID0+IGxvZ0xldmVsID49IExvZ0xldmVsLkRFQlVHICYmIF9kZWJ1ZyhmbXQsIC4uLmFyZ3MpO1xuZXhwb3J0IGNvbnN0IGVycm9yID0gbG9nZ2VyKHN0ZGVyciwgW2NoYWxrLnJlZF0pO1xuZXhwb3J0IGNvbnN0IHdhcm5pbmcgPSBsb2dnZXIoc3RyZWFtLCBbY2hhbGsueWVsbG93XSk7XG5leHBvcnQgY29uc3Qgc3VjY2VzcyA9IGxvZ2dlcihzdHJlYW0sIFtjaGFsay5ncmVlbl0pO1xuZXhwb3J0IGNvbnN0IGhpZ2hsaWdodCA9IGxvZ2dlcihzdHJlYW0sIFtjaGFsay5ib2xkXSk7XG5leHBvcnQgY29uc3QgcHJpbnQgPSBsb2dnZXIoc3RyZWFtKTtcbmV4cG9ydCBjb25zdCBkYXRhID0gbG9nZ2VyKHN0ZG91dCk7XG5cbmV4cG9ydCB0eXBlIExvZ2dlckZ1bmN0aW9uID0gKGZtdDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pID0+IHZvaWQ7XG5cbi8qKlxuICogQ3JlYXRlIGEgbG9nZ2VyIG91dHB1dCB0aGF0IGZlYXR1cmVzIGEgY29uc3RhbnQgcHJlZml4IHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gcHJlZml4U3RyaW5nIHRoZSBwcmVmaXggc3RyaW5nIHRvIGJlIGFwcGVuZGVkIGJlZm9yZSBhbnkgbG9nIGVudHJ5LlxuICogQHBhcmFtIGZuICAgdGhlIGxvZ2dlciBmdW5jdGlvbiB0byBiZSB1c2VkICh0eXBpY2FsbHkgb25lIG9mIHRoZSBvdGhlciBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUpXG4gKlxuICogQHJldHVybnMgYSBuZXcgTG9nZ2VyRnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVmaXgocHJlZml4U3RyaW5nOiBzdHJpbmcsIGZuOiBMb2dnZXJGdW5jdGlvbik6IExvZ2dlckZ1bmN0aW9uIHtcbiAgcmV0dXJuIChmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pID0+IGZuKGAlcyAke2ZtdH1gLCBwcmVmaXhTdHJpbmcsIC4uLmFyZ3MpO1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import type { StackDetails } from '@aws-cdk/tmp-toolkit-helpers';
2
- import { CdkToolkit } from './cli/cdk-toolkit';
2
+ import type { CdkToolkit } from './cli/cdk-toolkit';
3
3
  /**
4
4
  * Options for List Stacks
5
5
  */
@@ -19,4 +19,4 @@ async function listStacks(toolkit, options) {
19
19
  });
20
20
  return stacks.withDependencies();
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGFja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsaXN0LXN0YWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXVCQSxnQ0FXQztBQWpDRCwrREFBc0Y7QUFldEY7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLFVBQVUsQ0FBQyxPQUFtQixFQUFFLE9BQTBCO0lBQzlFLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRTFDLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLFlBQVksQ0FBQztRQUN6QyxRQUFRLEVBQUUsT0FBTyxDQUFDLFNBQVM7S0FDNUIsRUFBRTtRQUNELE1BQU0sRUFBRSx1Q0FBc0IsQ0FBQyxRQUFRO1FBQ3ZDLGVBQWUsRUFBRSxpQ0FBZ0IsQ0FBQyxTQUFTO0tBQzVDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RhY2tEZXRhaWxzIH0gZnJvbSAnQGF3cy1jZGsvdG1wLXRvb2xraXQtaGVscGVycyc7XG5pbXBvcnQgeyBEZWZhdWx0U2VsZWN0aW9uLCBFeHRlbmRlZFN0YWNrU2VsZWN0aW9uIH0gZnJvbSAnLi9hcGkvY3hhcHAvY2xvdWQtYXNzZW1ibHknO1xuaW1wb3J0IHsgQ2RrVG9vbGtpdCB9IGZyb20gJy4vY2xpL2Nkay10b29sa2l0JztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBMaXN0IFN0YWNrc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RTdGFja3NPcHRpb25zIHtcbiAgLyoqXG4gICAqIFN0YWNrcyB0byBsaXN0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQWxsIHN0YWNrcyBhcmUgbGlzdGVkXG4gICAqL1xuICByZWFkb25seSBzZWxlY3RvcnM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIExpc3QgU3RhY2tzXG4gKlxuICogQHBhcmFtIHRvb2xraXQgY2RrIHRvb2xraXRcbiAqIEBwYXJhbSBvcHRpb25zIGxpc3Qgc3RhY2tzIG9wdGlvbnNcbiAqIEByZXR1cm5zIFN0YWNrRGV0YWlsc1tdXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsaXN0U3RhY2tzKHRvb2xraXQ6IENka1Rvb2xraXQsIG9wdGlvbnM6IExpc3RTdGFja3NPcHRpb25zKTogUHJvbWlzZTxTdGFja0RldGFpbHNbXT4ge1xuICBjb25zdCBhc3NlbWJseSA9IGF3YWl0IHRvb2xraXQuYXNzZW1ibHkoKTtcblxuICBjb25zdCBzdGFja3MgPSBhd2FpdCBhc3NlbWJseS5zZWxlY3RTdGFja3Moe1xuICAgIHBhdHRlcm5zOiBvcHRpb25zLnNlbGVjdG9ycyxcbiAgfSwge1xuICAgIGV4dGVuZDogRXh0ZW5kZWRTdGFja1NlbGVjdGlvbi5VcHN0cmVhbSxcbiAgICBkZWZhdWx0QmVoYXZpb3I6IERlZmF1bHRTZWxlY3Rpb24uQWxsU3RhY2tzLFxuICB9KTtcblxuICByZXR1cm4gc3RhY2tzLndpdGhEZXBlbmRlbmNpZXMoKTtcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGFja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsaXN0LXN0YWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXVCQSxnQ0FXQztBQWpDRCwrREFBc0Y7QUFldEY7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLFVBQVUsQ0FBQyxPQUFtQixFQUFFLE9BQTBCO0lBQzlFLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRTFDLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLFlBQVksQ0FBQztRQUN6QyxRQUFRLEVBQUUsT0FBTyxDQUFDLFNBQVM7S0FDNUIsRUFBRTtRQUNELE1BQU0sRUFBRSx1Q0FBc0IsQ0FBQyxRQUFRO1FBQ3ZDLGVBQWUsRUFBRSxpQ0FBZ0IsQ0FBQyxTQUFTO0tBQzVDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RhY2tEZXRhaWxzIH0gZnJvbSAnQGF3cy1jZGsvdG1wLXRvb2xraXQtaGVscGVycyc7XG5pbXBvcnQgeyBEZWZhdWx0U2VsZWN0aW9uLCBFeHRlbmRlZFN0YWNrU2VsZWN0aW9uIH0gZnJvbSAnLi9hcGkvY3hhcHAvY2xvdWQtYXNzZW1ibHknO1xuaW1wb3J0IHR5cGUgeyBDZGtUb29sa2l0IH0gZnJvbSAnLi9jbGkvY2RrLXRvb2xraXQnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIExpc3QgU3RhY2tzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFN0YWNrc09wdGlvbnMge1xuICAvKipcbiAgICogU3RhY2tzIHRvIGxpc3RcbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbGwgc3RhY2tzIGFyZSBsaXN0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHNlbGVjdG9yczogc3RyaW5nW107XG59XG5cbi8qKlxuICogTGlzdCBTdGFja3NcbiAqXG4gKiBAcGFyYW0gdG9vbGtpdCBjZGsgdG9vbGtpdFxuICogQHBhcmFtIG9wdGlvbnMgbGlzdCBzdGFja3Mgb3B0aW9uc1xuICogQHJldHVybnMgU3RhY2tEZXRhaWxzW11cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxpc3RTdGFja3ModG9vbGtpdDogQ2RrVG9vbGtpdCwgb3B0aW9uczogTGlzdFN0YWNrc09wdGlvbnMpOiBQcm9taXNlPFN0YWNrRGV0YWlsc1tdPiB7XG4gIGNvbnN0IGFzc2VtYmx5ID0gYXdhaXQgdG9vbGtpdC5hc3NlbWJseSgpO1xuXG4gIGNvbnN0IHN0YWNrcyA9IGF3YWl0IGFzc2VtYmx5LnNlbGVjdFN0YWNrcyh7XG4gICAgcGF0dGVybnM6IG9wdGlvbnMuc2VsZWN0b3JzLFxuICB9LCB7XG4gICAgZXh0ZW5kOiBFeHRlbmRlZFN0YWNrU2VsZWN0aW9uLlVwc3RyZWFtLFxuICAgIGRlZmF1bHRCZWhhdmlvcjogRGVmYXVsdFNlbGVjdGlvbi5BbGxTdGFja3MsXG4gIH0pO1xuXG4gIHJldHVybiBzdGFja3Mud2l0aERlcGVuZGVuY2llcygpO1xufVxuIl19
package/lib/logging.d.ts CHANGED
@@ -3,11 +3,11 @@ export type IoCodeLevel = 'E' | 'W' | 'I';
3
3
  export type IoMessageSpecificCode<L extends IoCodeLevel> = `CDK_${IoMessageCodeCategory}_${L}${number}${number}${number}${number}`;
4
4
  interface LogParams<L extends IoCodeLevel> {
5
5
  /**
6
- * @see {@link IoMessage.code}
6
+ * Message code
7
7
  */
8
- readonly code?: IoMessageSpecificCode<L>;
8
+ readonly code: IoMessageSpecificCode<L>;
9
9
  /**
10
- * @see {@link IoMessage.message}
10
+ * Message
11
11
  */
12
12
  readonly message: string;
13
13
  }
package/lib/logging.js CHANGED
@@ -1,39 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.highlight = exports.success = exports.trace = exports.debug = exports.result = exports.info = exports.warning = exports.error = void 0;
4
- const util = require("util");
5
4
  const chalk = require("chalk");
6
5
  const cli_io_host_1 = require("./toolkit/cli-io-host");
6
+ const private_1 = require("../../@aws-cdk/tmp-toolkit-helpers/src/api/io/private");
7
7
  /**
8
+ * Logs messages to the global CliIoHost
9
+ *
8
10
  * Internal helper that processes log inputs into a consistent format.
9
11
  * Handles string interpolation, format strings, and object parameter styles.
10
12
  * Applies optional styling and sends the message to the IoHost.
11
13
  */
12
- function formatMessageAndLog(level, input, style, ...args) {
13
- // Extract message and code from input, using new default code format
14
- const { message, code = getDefaultCode(level) } = typeof input === 'object' ? input : { message: input };
15
- // Format message if args are provided
16
- const formattedMessage = args.length > 0
17
- ? util.format(message, ...args)
18
- : message;
19
- // Apply style if provided
20
- const finalMessage = style ? style(formattedMessage) : formattedMessage;
21
- const ioHost = cli_io_host_1.CliIoHost.instance();
22
- const ioMessage = {
23
- time: new Date(),
24
- action: ioHost.currentAction,
25
- level,
26
- message: finalMessage,
27
- code,
28
- data: undefined,
29
- };
30
- void ioHost.notify(ioMessage);
31
- }
32
- function getDefaultCode(level, category = 'TOOLKIT') {
33
- const levelIndicator = level === 'error' ? 'E' :
34
- level === 'warn' ? 'W' :
35
- 'I';
36
- return `CDK_${category}_${levelIndicator}0000`;
14
+ function formatMessageAndLog(level, input, ...args) {
15
+ const singletonHost = cli_io_host_1.CliIoHost.instance();
16
+ // ALARM: forcing a CliAction into a ToolkitAction.
17
+ const helper = (0, private_1.asIoHelper)(singletonHost, singletonHost.currentAction);
18
+ if (typeof input === 'string') {
19
+ const messages = new private_1.IoDefaultMessages(helper);
20
+ messages[level](input, ...args);
21
+ }
22
+ else {
23
+ void helper.notify({
24
+ data: undefined,
25
+ time: new Date(),
26
+ level,
27
+ ...input,
28
+ });
29
+ }
37
30
  }
38
31
  // Exported logging functions. If any additional logging functionality is required, it should be added as
39
32
  // a new logging function here.
@@ -49,7 +42,7 @@ function getDefaultCode(level, category = 'TOOLKIT') {
49
42
  * ```
50
43
  */
51
44
  const error = (input, ...args) => {
52
- return formatMessageAndLog('error', input, undefined, ...args);
45
+ return formatMessageAndLog('error', input, ...args);
53
46
  };
54
47
  exports.error = error;
55
48
  /**
@@ -64,7 +57,7 @@ exports.error = error;
64
57
  * ```
65
58
  */
66
59
  const warning = (input, ...args) => {
67
- return formatMessageAndLog('warn', input, undefined, ...args);
60
+ return formatMessageAndLog('warn', input, ...args);
68
61
  };
69
62
  exports.warning = warning;
70
63
  /**
@@ -79,7 +72,7 @@ exports.warning = warning;
79
72
  * ```
80
73
  */
81
74
  const info = (input, ...args) => {
82
- return formatMessageAndLog('info', input, undefined, ...args);
75
+ return formatMessageAndLog('info', input, ...args);
83
76
  };
84
77
  exports.info = info;
85
78
  /**
@@ -94,7 +87,7 @@ exports.info = info;
94
87
  * ```
95
88
  */
96
89
  const result = (input, ...args) => {
97
- return formatMessageAndLog('result', input, undefined, ...args);
90
+ return formatMessageAndLog('result', input, ...args);
98
91
  };
99
92
  exports.result = result;
100
93
  /**
@@ -109,7 +102,7 @@ exports.result = result;
109
102
  * ```
110
103
  */
111
104
  const debug = (input, ...args) => {
112
- return formatMessageAndLog('debug', input, undefined, ...args);
105
+ return formatMessageAndLog('debug', input, ...args);
113
106
  };
114
107
  exports.debug = debug;
115
108
  /**
@@ -124,7 +117,7 @@ exports.debug = debug;
124
117
  * ```
125
118
  */
126
119
  const trace = (input, ...args) => {
127
- return formatMessageAndLog('trace', input, undefined, ...args);
120
+ return formatMessageAndLog('trace', input, ...args);
128
121
  };
129
122
  exports.trace = trace;
130
123
  /**
@@ -139,7 +132,7 @@ exports.trace = trace;
139
132
  * ```
140
133
  */
141
134
  const success = (input, ...args) => {
142
- return formatMessageAndLog('info', input, chalk.green, ...args);
135
+ return formatMessageAndLog('info', chalkInput(input, chalk.green), ...args);
143
136
  };
144
137
  exports.success = success;
145
138
  /**
@@ -154,7 +147,16 @@ exports.success = success;
154
147
  * ```
155
148
  */
156
149
  const highlight = (input, ...args) => {
157
- return formatMessageAndLog('info', input, chalk.bold, ...args);
150
+ return formatMessageAndLog('info', chalkInput(input, chalk.bold), ...args);
158
151
  };
159
152
  exports.highlight = highlight;
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQix1REFBNEY7QUFNNUY7Ozs7R0FJRztBQUNILFNBQVMsbUJBQW1CLENBQzFCLEtBQXFCLEVBQ3JCLEtBQTRCLEVBQzVCLEtBQStCLEVBQy9CLEdBQUcsSUFBZTtJQUVsQixxRUFBcUU7SUFDckUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBRXpHLHNDQUFzQztJQUN0QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDL0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUVaLDBCQUEwQjtJQUMxQixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUV4RSxNQUFNLE1BQU0sR0FBRyx1QkFBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLE1BQU0sU0FBUyxHQUF5QjtRQUN0QyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxhQUFvQjtRQUNuQyxLQUFLO1FBQ0wsT0FBTyxFQUFFLFlBQVk7UUFDckIsSUFBSTtRQUNKLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUM7SUFFRixLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLEtBQXFCLEVBQUUsV0FBa0MsU0FBUztJQUN4RixNQUFNLGNBQWMsR0FBRyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QixHQUFHLENBQUM7SUFDUixPQUFPLE9BQU8sUUFBUSxJQUFJLGNBQWMsTUFBTSxDQUFDO0FBQ2pELENBQUM7QUFpQkQseUdBQXlHO0FBQ3pHLCtCQUErQjtBQUUvQjs7Ozs7Ozs7OztHQVVHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7SUFDaEUsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQztBQUZXLFFBQUEsS0FBSyxTQUVoQjtBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUNsRSxPQUFPLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDaEUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxPQUFPLFdBRWxCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQy9ELE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFGVyxRQUFBLElBQUksUUFFZjtBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUNqRSxPQUFPLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxNQUFNLFVBRWpCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ2hFLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNqRSxDQUFDLENBQUM7QUFGVyxRQUFBLEtBQUssU0FFaEI7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7SUFDaEUsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQztBQUZXLFFBQUEsS0FBSyxTQUVoQjtBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUNsRSxPQUFPLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FBQztBQUZXLFFBQUEsT0FBTyxXQUVsQjtBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUNwRSxPQUFPLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQztBQUZXLFFBQUEsU0FBUyxhQUVwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWwgZnJvbSAndXRpbCc7XG5pbXBvcnQgKiBhcyBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyBJb01lc3NhZ2VMZXZlbCwgSW9NZXNzYWdlLCBDbGlJb0hvc3QsIElvTWVzc2FnZUNvZGUgfSBmcm9tICcuL3Rvb2xraXQvY2xpLWlvLWhvc3QnO1xuXG5leHBvcnQgdHlwZSBJb01lc3NhZ2VDb2RlQ2F0ZWdvcnkgPSAnVE9PTEtJVCcgfCAnU0RLJyB8ICdBU1NFVFMnO1xuZXhwb3J0IHR5cGUgSW9Db2RlTGV2ZWwgPSAnRScgfCAnVycgfCAnSSc7XG5leHBvcnQgdHlwZSBJb01lc3NhZ2VTcGVjaWZpY0NvZGU8TCBleHRlbmRzIElvQ29kZUxldmVsPiA9IGBDREtfJHtJb01lc3NhZ2VDb2RlQ2F0ZWdvcnl9XyR7TH0ke251bWJlcn0ke251bWJlcn0ke251bWJlcn0ke251bWJlcn1gO1xuXG4vKipcbiAqIEludGVybmFsIGhlbHBlciB0aGF0IHByb2Nlc3NlcyBsb2cgaW5wdXRzIGludG8gYSBjb25zaXN0ZW50IGZvcm1hdC5cbiAqIEhhbmRsZXMgc3RyaW5nIGludGVycG9sYXRpb24sIGZvcm1hdCBzdHJpbmdzLCBhbmQgb2JqZWN0IHBhcmFtZXRlciBzdHlsZXMuXG4gKiBBcHBsaWVzIG9wdGlvbmFsIHN0eWxpbmcgYW5kIHNlbmRzIHRoZSBtZXNzYWdlIHRvIHRoZSBJb0hvc3QuXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VBbmRMb2coXG4gIGxldmVsOiBJb01lc3NhZ2VMZXZlbCxcbiAgaW5wdXQ6IExvZ0lucHV0PElvQ29kZUxldmVsPixcbiAgc3R5bGU/OiAoc3RyOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgLi4uYXJnczogdW5rbm93bltdXG4pOiB2b2lkIHtcbiAgLy8gRXh0cmFjdCBtZXNzYWdlIGFuZCBjb2RlIGZyb20gaW5wdXQsIHVzaW5nIG5ldyBkZWZhdWx0IGNvZGUgZm9ybWF0XG4gIGNvbnN0IHsgbWVzc2FnZSwgY29kZSA9IGdldERlZmF1bHRDb2RlKGxldmVsKSB9ID0gdHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyA/IGlucHV0IDogeyBtZXNzYWdlOiBpbnB1dCB9O1xuXG4gIC8vIEZvcm1hdCBtZXNzYWdlIGlmIGFyZ3MgYXJlIHByb3ZpZGVkXG4gIGNvbnN0IGZvcm1hdHRlZE1lc3NhZ2UgPSBhcmdzLmxlbmd0aCA+IDBcbiAgICA/IHV0aWwuZm9ybWF0KG1lc3NhZ2UsIC4uLmFyZ3MpXG4gICAgOiBtZXNzYWdlO1xuXG4gIC8vIEFwcGx5IHN0eWxlIGlmIHByb3ZpZGVkXG4gIGNvbnN0IGZpbmFsTWVzc2FnZSA9IHN0eWxlID8gc3R5bGUoZm9ybWF0dGVkTWVzc2FnZSkgOiBmb3JtYXR0ZWRNZXNzYWdlO1xuXG4gIGNvbnN0IGlvSG9zdCA9IENsaUlvSG9zdC5pbnN0YW5jZSgpO1xuICBjb25zdCBpb01lc3NhZ2U6IElvTWVzc2FnZTx1bmRlZmluZWQ+ID0ge1xuICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgYWN0aW9uOiBpb0hvc3QuY3VycmVudEFjdGlvbiBhcyBhbnksXG4gICAgbGV2ZWwsXG4gICAgbWVzc2FnZTogZmluYWxNZXNzYWdlLFxuICAgIGNvZGUsXG4gICAgZGF0YTogdW5kZWZpbmVkLFxuICB9O1xuXG4gIHZvaWQgaW9Ib3N0Lm5vdGlmeShpb01lc3NhZ2UpO1xufVxuXG5mdW5jdGlvbiBnZXREZWZhdWx0Q29kZShsZXZlbDogSW9NZXNzYWdlTGV2ZWwsIGNhdGVnb3J5OiBJb01lc3NhZ2VDb2RlQ2F0ZWdvcnkgPSAnVE9PTEtJVCcpOiBJb01lc3NhZ2VDb2RlIHtcbiAgY29uc3QgbGV2ZWxJbmRpY2F0b3IgPSBsZXZlbCA9PT0gJ2Vycm9yJyA/ICdFJyA6XG4gICAgbGV2ZWwgPT09ICd3YXJuJyA/ICdXJyA6XG4gICAgICAnSSc7XG4gIHJldHVybiBgQ0RLXyR7Y2F0ZWdvcnl9XyR7bGV2ZWxJbmRpY2F0b3J9MDAwMGA7XG59XG5cbi8vIFR5cGUgZm9yIHRoZSBvYmplY3QgcGFyYW1ldGVyIHN0eWxlXG5pbnRlcmZhY2UgTG9nUGFyYW1zPEwgZXh0ZW5kcyBJb0NvZGVMZXZlbD4ge1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSW9NZXNzYWdlLmNvZGV9XG4gICAqL1xuICByZWFkb25seSBjb2RlPzogSW9NZXNzYWdlU3BlY2lmaWNDb2RlPEw+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSW9NZXNzYWdlLm1lc3NhZ2V9XG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8vIFR5cGUgZm9yIHRoZSBleHBvcnRlZCBsb2cgZnVuY3Rpb24gYXJndW1lbnRzXG50eXBlIExvZ0lucHV0PEwgZXh0ZW5kcyBJb0NvZGVMZXZlbD4gPSBzdHJpbmcgfCBMb2dQYXJhbXM8TD47XG5cbi8vIEV4cG9ydGVkIGxvZ2dpbmcgZnVuY3Rpb25zLiBJZiBhbnkgYWRkaXRpb25hbCBsb2dnaW5nIGZ1bmN0aW9uYWxpdHkgaXMgcmVxdWlyZWQsIGl0IHNob3VsZCBiZSBhZGRlZCBhc1xuLy8gYSBuZXcgbG9nZ2luZyBmdW5jdGlvbiBoZXJlLlxuXG4vKipcbiAqIExvZ3MgYW4gZXJyb3IgbGV2ZWwgbWVzc2FnZS5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIGVycm9yKGBvcGVyYXRpb24gZmFpbGVkOiAke2V9YCkgLy8gaW5mZXJzIGRlZmF1bHQgZXJyb3IgY29kZSBgQ0RLX1RPT0xLSVRfRTAwMGBcbiAqIGVycm9yKCdvcGVyYXRpb24gZmFpbGVkOiAlcycsIGUpIC8vIGluZmVycyBkZWZhdWx0IGVycm9yIGNvZGUgYENES19UT09MS0lUX0UwMDBgXG4gKiBlcnJvcih7IG1lc3NhZ2U6ICdvcGVyYXRpb24gZmFpbGVkJywgY29kZTogJ0NES19TREtfRTAwMScgfSkgLy8gc3BlY2lmaWVzIGVycm9yIGNvZGUgYENES19TREtfRTAwMWBcbiAqIGVycm9yKHsgbWVzc2FnZTogJ29wZXJhdGlvbiBmYWlsZWQ6ICVzJywgY29kZTogJ0NES19TREtfRTAwMScgfSwgZSkgLy8gc3BlY2lmaWVzIGVycm9yIGNvZGUgYENES19TREtfRTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZXJyb3IgPSAoaW5wdXQ6IExvZ0lucHV0PCdFJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnZXJyb3InLCBpbnB1dCwgdW5kZWZpbmVkLCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhbiB3YXJuaW5nIGxldmVsIG1lc3NhZ2UuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiB3YXJuaW5nKGBkZXByZWN0ZWQgZmVhdHVyZTogJHttZXNzYWdlfWApIC8vIGluZmVycyBkZWZhdWx0IHdhcm5pbmcgY29kZSBgQ0RLX1RPT0xLSVRfVzAwMGBcbiAqIHdhcm5pbmcoJ2RlcHJlY3RlZCBmZWF0dXJlOiAlcycsIG1lc3NhZ2UpIC8vIGluZmVycyBkZWZhdWx0IHdhcm5pbmcgY29kZSBgQ0RLX1RPT0xLSVRfVzAwMGBcbiAqIHdhcm5pbmcoeyBtZXNzYWdlOiAnZGVwcmVjdGVkIGZlYXR1cmUnLCBjb2RlOiAnQ0RLX1NES19XMDAxJyB9KSAvLyBzcGVjaWZpZXMgd2FybmluZyBjb2RlIGBDREtfU0RLX1cwMDFgXG4gKiB3YXJuaW5nKHsgbWVzc2FnZTogJ2RlcHJlY3RlZCBmZWF0dXJlOiAlcycsIGNvZGU6ICdDREtfU0RLX1cwMDEnIH0sIG1lc3NhZ2UpIC8vIHNwZWNpZmllcyB3YXJuaW5nIGNvZGUgYENES19TREtfVzAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3Qgd2FybmluZyA9IChpbnB1dDogTG9nSW5wdXQ8J1cnPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCd3YXJuJywgaW5wdXQsIHVuZGVmaW5lZCwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYW4gaW5mbyBsZXZlbCBtZXNzYWdlLlxuICpcbiAqIENhbiBiZSB1c2VkIGluIG11bHRpcGxlIHdheXM6XG4gKiBgYGB0c1xuICogaW5mbyhgcHJvY2Vzc2luZzogJHttZXNzYWdlfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIGluZm8oJ3Byb2Nlc3Npbmc6ICVzJywgbWVzc2FnZSkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogaW5mbyh7IG1lc3NhZ2U6ICdwcm9jZXNzaW5nJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0pIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBpbmZvKHsgbWVzc2FnZTogJ3Byb2Nlc3Npbmc6ICVzJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0sIG1lc3NhZ2UpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IGluZm8gPSAoaW5wdXQ6IExvZ0lucHV0PCdJJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnaW5mbycsIGlucHV0LCB1bmRlZmluZWQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIHJlc3VsdC4gSW4gdGhlIENMSSwgdGhpcyBhbHdheXMgZ29lcyB0byBzdGRvdXQuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiByZXN1bHQoYCR7SlNPTi5zdHJpbmdpZnkoc3RhdHMpfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHJlc3VsdCgne1wiY291bnRcIjogJWR9JywgY291bnQpIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHJlc3VsdCh7IG1lc3NhZ2U6ICdzdGF0czogJWonLCBjb2RlOiAnQ0RLX0RBVEFfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX0RBVEFfSTAwMWBcbiAqIHJlc3VsdCh7IG1lc3NhZ2U6ICdzdGF0czogJWonLCBjb2RlOiAnQ0RLX0RBVEFfSTAwMScgfSwgc3RhdHMpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19EQVRBX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc3VsdCA9IChpbnB1dDogTG9nSW5wdXQ8J0knPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdyZXN1bHQnLCBpbnB1dCwgdW5kZWZpbmVkLCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhIGRlYnVnIGxldmVsIG1lc3NhZ2UuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBkZWJ1Zyhgc3RhdGU6ICR7SlNPTi5zdHJpbmdpZnkoc3RhdGUpfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIGRlYnVnKCdjYWNoZSBoaXQgcmF0aW86ICVkJSUnLCByYXRpbykgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogZGVidWcoeyBtZXNzYWdlOiAnc3RhdGUgdXBkYXRlJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0pIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBkZWJ1Zyh7IG1lc3NhZ2U6ICdyYXRpbzogJWQlJScsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9LCByYXRpbykgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZGVidWcgPSAoaW5wdXQ6IExvZ0lucHV0PCdJJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnZGVidWcnLCBpbnB1dCwgdW5kZWZpbmVkLCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhIHRyYWNlIGxldmVsIG1lc3NhZ2UuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiB0cmFjZShgZW50ZXJlZCAke25hbWV9IHdpdGggJHthcmdzfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHRyYWNlKCdtZXRob2Q6ICVzLCBhcmdzOiAlaicsIG5hbWUsIGFyZ3MpIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHRyYWNlKHsgbWVzc2FnZTogJ2VudGVyZWQnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIHRyYWNlKHsgbWVzc2FnZTogJ21ldGhvZDogJXMnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSwgbmFtZSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgdHJhY2UgPSAoaW5wdXQ6IExvZ0lucHV0PCdJJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygndHJhY2UnLCBpbnB1dCwgdW5kZWZpbmVkLCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhbiBpbmZvIGxldmVsIHN1Y2Nlc3MgbWVzc2FnZSBpbiBncmVlbiB0ZXh0LlxuICpcbiAqIENhbiBiZSB1c2VkIGluIG11bHRpcGxlIHdheXM6XG4gKiBgYGB0c1xuICogc3VjY2VzcyhgZGVwbG95bWVudCBjb21wbGV0ZWQ6ICR7bmFtZX1gKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBzdWNjZXNzKCdwcm9jZXNzZWQgJWQgaXRlbXMnLCBjb3VudCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogc3VjY2Vzcyh7IG1lc3NhZ2U6ICdjb21wbGV0ZWQnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIHN1Y2Nlc3MoeyBtZXNzYWdlOiAnaXRlbXM6ICVkJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0sIGNvdW50KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBzdWNjZXNzID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ2luZm8nLCBpbnB1dCwgY2hhbGsuZ3JlZW4sIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIGluZm8gbGV2ZWwgbWVzc2FnZSBpbiBib2xkIHRleHQuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBoaWdobGlnaHQoYGltcG9ydGFudDogJHttc2d9YCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogaGlnaGxpZ2h0KCdhdHRlbnRpb24gcmVxdWlyZWQ6ICVzJywgcmVhc29uKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBoaWdobGlnaHQoeyBtZXNzYWdlOiAnbm90aWNlJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0pIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBoaWdobGlnaHQoeyBtZXNzYWdlOiAnbm90aWNlOiAlcycsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9LCBtc2cpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IGhpZ2hsaWdodCA9IChpbnB1dDogTG9nSW5wdXQ8J0knPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdpbmZvJywgaW5wdXQsIGNoYWxrLmJvbGQsIC4uLmFyZ3MpO1xufTtcbiJdfQ==
153
+ function chalkInput(i, style) {
154
+ if (typeof i === 'string') {
155
+ return style(i);
156
+ }
157
+ return {
158
+ ...i,
159
+ message: style(i.message),
160
+ };
161
+ }
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBRS9CLHVEQUFrRDtBQUNsRCxtRkFBc0c7QUFNdEc7Ozs7OztHQU1HO0FBQ0gsU0FBUyxtQkFBbUIsQ0FDMUIsS0FBcUIsRUFDckIsS0FBNEIsRUFDNUIsR0FBRyxJQUFlO0lBRWxCLE1BQU0sYUFBYSxHQUFHLHVCQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0MsbURBQW1EO0lBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUEsb0JBQVUsRUFBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLGFBQW9CLENBQUMsQ0FBQztJQUU3RSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksMkJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7U0FBTSxDQUFDO1FBQ04sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ2pCLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2hCLEtBQUs7WUFDTCxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQztBQWlCRCx5R0FBeUc7QUFDekcsK0JBQStCO0FBRS9COzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUNoRSxPQUFPLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUM7QUFGVyxRQUFBLEtBQUssU0FFaEI7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7SUFDbEUsT0FBTyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRlcsUUFBQSxPQUFPLFdBRWxCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQy9ELE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUZXLFFBQUEsSUFBSSxRQUVmO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ2pFLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUZXLFFBQUEsTUFBTSxVQUVqQjtBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUNoRSxPQUFPLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUM7QUFGVyxRQUFBLEtBQUssU0FFaEI7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7SUFDaEUsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDO0FBRlcsUUFBQSxLQUFLLFNBRWhCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ2xFLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDOUUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxPQUFPLFdBRWxCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ3BFLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFDO0FBRlcsUUFBQSxTQUFTLGFBRXBCO0FBRUYsU0FBUyxVQUFVLENBQTBCLENBQUksRUFBRSxLQUE4QjtJQUMvRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPO1FBQ0wsR0FBRyxDQUFRO1FBQ1gsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0tBQzFCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHR5cGUgeyBJb01lc3NhZ2VMZXZlbCB9IGZyb20gJy4vdG9vbGtpdC9jbGktaW8taG9zdCc7XG5pbXBvcnQgeyBDbGlJb0hvc3QgfSBmcm9tICcuL3Rvb2xraXQvY2xpLWlvLWhvc3QnO1xuaW1wb3J0IHsgYXNJb0hlbHBlciwgSW9EZWZhdWx0TWVzc2FnZXMgfSBmcm9tICcuLi8uLi9AYXdzLWNkay90bXAtdG9vbGtpdC1oZWxwZXJzL3NyYy9hcGkvaW8vcHJpdmF0ZSc7XG5cbmV4cG9ydCB0eXBlIElvTWVzc2FnZUNvZGVDYXRlZ29yeSA9ICdUT09MS0lUJyB8ICdTREsnIHwgJ0FTU0VUUyc7XG5leHBvcnQgdHlwZSBJb0NvZGVMZXZlbCA9ICdFJyB8ICdXJyB8ICdJJztcbmV4cG9ydCB0eXBlIElvTWVzc2FnZVNwZWNpZmljQ29kZTxMIGV4dGVuZHMgSW9Db2RlTGV2ZWw+ID0gYENES18ke0lvTWVzc2FnZUNvZGVDYXRlZ29yeX1fJHtMfSR7bnVtYmVyfSR7bnVtYmVyfSR7bnVtYmVyfSR7bnVtYmVyfWA7XG5cbi8qKlxuICogTG9ncyBtZXNzYWdlcyB0byB0aGUgZ2xvYmFsIENsaUlvSG9zdFxuICpcbiAqIEludGVybmFsIGhlbHBlciB0aGF0IHByb2Nlc3NlcyBsb2cgaW5wdXRzIGludG8gYSBjb25zaXN0ZW50IGZvcm1hdC5cbiAqIEhhbmRsZXMgc3RyaW5nIGludGVycG9sYXRpb24sIGZvcm1hdCBzdHJpbmdzLCBhbmQgb2JqZWN0IHBhcmFtZXRlciBzdHlsZXMuXG4gKiBBcHBsaWVzIG9wdGlvbmFsIHN0eWxpbmcgYW5kIHNlbmRzIHRoZSBtZXNzYWdlIHRvIHRoZSBJb0hvc3QuXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VBbmRMb2coXG4gIGxldmVsOiBJb01lc3NhZ2VMZXZlbCxcbiAgaW5wdXQ6IExvZ0lucHV0PElvQ29kZUxldmVsPixcbiAgLi4uYXJnczogdW5rbm93bltdXG4pOiB2b2lkIHtcbiAgY29uc3Qgc2luZ2xldG9uSG9zdCA9IENsaUlvSG9zdC5pbnN0YW5jZSgpO1xuICAvLyBBTEFSTTogZm9yY2luZyBhIENsaUFjdGlvbiBpbnRvIGEgVG9vbGtpdEFjdGlvbi5cbiAgY29uc3QgaGVscGVyID0gYXNJb0hlbHBlcihzaW5nbGV0b25Ib3N0LCBzaW5nbGV0b25Ib3N0LmN1cnJlbnRBY3Rpb24gYXMgYW55KTtcblxuICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gbmV3IElvRGVmYXVsdE1lc3NhZ2VzKGhlbHBlcik7XG4gICAgbWVzc2FnZXNbbGV2ZWxdKGlucHV0LCAuLi5hcmdzKTtcbiAgfSBlbHNlIHtcbiAgICB2b2lkIGhlbHBlci5ub3RpZnkoe1xuICAgICAgZGF0YTogdW5kZWZpbmVkLFxuICAgICAgdGltZTogbmV3IERhdGUoKSxcbiAgICAgIGxldmVsLFxuICAgICAgLi4uaW5wdXQsXG4gICAgfSk7XG4gIH1cbn1cblxuLy8gVHlwZSBmb3IgdGhlIG9iamVjdCBwYXJhbWV0ZXIgc3R5bGVcbmludGVyZmFjZSBMb2dQYXJhbXM8TCBleHRlbmRzIElvQ29kZUxldmVsPiB7XG4gIC8qKlxuICAgKiBNZXNzYWdlIGNvZGVcbiAgICovXG4gIHJlYWRvbmx5IGNvZGU6IElvTWVzc2FnZVNwZWNpZmljQ29kZTxMPjtcbiAgLyoqXG4gICAqIE1lc3NhZ2VcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLy8gVHlwZSBmb3IgdGhlIGV4cG9ydGVkIGxvZyBmdW5jdGlvbiBhcmd1bWVudHNcbnR5cGUgTG9nSW5wdXQ8TCBleHRlbmRzIElvQ29kZUxldmVsPiA9IHN0cmluZyB8IExvZ1BhcmFtczxMPjtcblxuLy8gRXhwb3J0ZWQgbG9nZ2luZyBmdW5jdGlvbnMuIElmIGFueSBhZGRpdGlvbmFsIGxvZ2dpbmcgZnVuY3Rpb25hbGl0eSBpcyByZXF1aXJlZCwgaXQgc2hvdWxkIGJlIGFkZGVkIGFzXG4vLyBhIG5ldyBsb2dnaW5nIGZ1bmN0aW9uIGhlcmUuXG5cbi8qKlxuICogTG9ncyBhbiBlcnJvciBsZXZlbCBtZXNzYWdlLlxuICpcbiAqIENhbiBiZSB1c2VkIGluIG11bHRpcGxlIHdheXM6XG4gKiBgYGB0c1xuICogZXJyb3IoYG9wZXJhdGlvbiBmYWlsZWQ6ICR7ZX1gKSAvLyBpbmZlcnMgZGVmYXVsdCBlcnJvciBjb2RlIGBDREtfVE9PTEtJVF9FMDAwYFxuICogZXJyb3IoJ29wZXJhdGlvbiBmYWlsZWQ6ICVzJywgZSkgLy8gaW5mZXJzIGRlZmF1bHQgZXJyb3IgY29kZSBgQ0RLX1RPT0xLSVRfRTAwMGBcbiAqIGVycm9yKHsgbWVzc2FnZTogJ29wZXJhdGlvbiBmYWlsZWQnLCBjb2RlOiAnQ0RLX1NES19FMDAxJyB9KSAvLyBzcGVjaWZpZXMgZXJyb3IgY29kZSBgQ0RLX1NES19FMDAxYFxuICogZXJyb3IoeyBtZXNzYWdlOiAnb3BlcmF0aW9uIGZhaWxlZDogJXMnLCBjb2RlOiAnQ0RLX1NES19FMDAxJyB9LCBlKSAvLyBzcGVjaWZpZXMgZXJyb3IgY29kZSBgQ0RLX1NES19FMDAxYFxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBlcnJvciA9IChpbnB1dDogTG9nSW5wdXQ8J0UnPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdlcnJvcicsIGlucHV0LCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhbiB3YXJuaW5nIGxldmVsIG1lc3NhZ2UuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiB3YXJuaW5nKGBkZXByZWN0ZWQgZmVhdHVyZTogJHttZXNzYWdlfWApIC8vIGluZmVycyBkZWZhdWx0IHdhcm5pbmcgY29kZSBgQ0RLX1RPT0xLSVRfVzAwMGBcbiAqIHdhcm5pbmcoJ2RlcHJlY3RlZCBmZWF0dXJlOiAlcycsIG1lc3NhZ2UpIC8vIGluZmVycyBkZWZhdWx0IHdhcm5pbmcgY29kZSBgQ0RLX1RPT0xLSVRfVzAwMGBcbiAqIHdhcm5pbmcoeyBtZXNzYWdlOiAnZGVwcmVjdGVkIGZlYXR1cmUnLCBjb2RlOiAnQ0RLX1NES19XMDAxJyB9KSAvLyBzcGVjaWZpZXMgd2FybmluZyBjb2RlIGBDREtfU0RLX1cwMDFgXG4gKiB3YXJuaW5nKHsgbWVzc2FnZTogJ2RlcHJlY3RlZCBmZWF0dXJlOiAlcycsIGNvZGU6ICdDREtfU0RLX1cwMDEnIH0sIG1lc3NhZ2UpIC8vIHNwZWNpZmllcyB3YXJuaW5nIGNvZGUgYENES19TREtfVzAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3Qgd2FybmluZyA9IChpbnB1dDogTG9nSW5wdXQ8J1cnPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCd3YXJuJywgaW5wdXQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIGluZm8gbGV2ZWwgbWVzc2FnZS5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIGluZm8oYHByb2Nlc3Npbmc6ICR7bWVzc2FnZX1gKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBpbmZvKCdwcm9jZXNzaW5nOiAlcycsIG1lc3NhZ2UpIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIGluZm8oeyBtZXNzYWdlOiAncHJvY2Vzc2luZycsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogaW5mbyh7IG1lc3NhZ2U6ICdwcm9jZXNzaW5nOiAlcycsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9LCBtZXNzYWdlKSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBpbmZvID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ2luZm8nLCBpbnB1dCwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYW4gcmVzdWx0LiBJbiB0aGUgQ0xJLCB0aGlzIGFsd2F5cyBnb2VzIHRvIHN0ZG91dC5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIHJlc3VsdChgJHtKU09OLnN0cmluZ2lmeShzdGF0cyl9YCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogcmVzdWx0KCd7XCJjb3VudFwiOiAlZH0nLCBjb3VudCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogcmVzdWx0KHsgbWVzc2FnZTogJ3N0YXRzOiAlaicsIGNvZGU6ICdDREtfREFUQV9JMDAxJyB9KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfREFUQV9JMDAxYFxuICogcmVzdWx0KHsgbWVzc2FnZTogJ3N0YXRzOiAlaicsIGNvZGU6ICdDREtfREFUQV9JMDAxJyB9LCBzdGF0cykgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX0RBVEFfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgcmVzdWx0ID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ3Jlc3VsdCcsIGlucHV0LCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhIGRlYnVnIGxldmVsIG1lc3NhZ2UuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBkZWJ1Zyhgc3RhdGU6ICR7SlNPTi5zdHJpbmdpZnkoc3RhdGUpfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIGRlYnVnKCdjYWNoZSBoaXQgcmF0aW86ICVkJSUnLCByYXRpbykgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogZGVidWcoeyBtZXNzYWdlOiAnc3RhdGUgdXBkYXRlJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0pIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBkZWJ1Zyh7IG1lc3NhZ2U6ICdyYXRpbzogJWQlJScsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9LCByYXRpbykgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZGVidWcgPSAoaW5wdXQ6IExvZ0lucHV0PCdJJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnZGVidWcnLCBpbnB1dCwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYSB0cmFjZSBsZXZlbCBtZXNzYWdlLlxuICpcbiAqIENhbiBiZSB1c2VkIGluIG11bHRpcGxlIHdheXM6XG4gKiBgYGB0c1xuICogdHJhY2UoYGVudGVyZWQgJHtuYW1lfSB3aXRoICR7YXJnc31gKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiB0cmFjZSgnbWV0aG9kOiAlcywgYXJnczogJWonLCBuYW1lLCBhcmdzKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiB0cmFjZSh7IG1lc3NhZ2U6ICdlbnRlcmVkJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0pIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiB0cmFjZSh7IG1lc3NhZ2U6ICdtZXRob2Q6ICVzJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0sIG5hbWUpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHRyYWNlID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ3RyYWNlJywgaW5wdXQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIGluZm8gbGV2ZWwgc3VjY2VzcyBtZXNzYWdlIGluIGdyZWVuIHRleHQuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBzdWNjZXNzKGBkZXBsb3ltZW50IGNvbXBsZXRlZDogJHtuYW1lfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHN1Y2Nlc3MoJ3Byb2Nlc3NlZCAlZCBpdGVtcycsIGNvdW50KSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBzdWNjZXNzKHsgbWVzc2FnZTogJ2NvbXBsZXRlZCcsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogc3VjY2Vzcyh7IG1lc3NhZ2U6ICdpdGVtczogJWQnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSwgY291bnQpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHN1Y2Nlc3MgPSAoaW5wdXQ6IExvZ0lucHV0PCdJJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnaW5mbycsIGNoYWxrSW5wdXQoaW5wdXQsIGNoYWxrLmdyZWVuKSwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYW4gaW5mbyBsZXZlbCBtZXNzYWdlIGluIGJvbGQgdGV4dC5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIGhpZ2hsaWdodChgaW1wb3J0YW50OiAke21zZ31gKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBoaWdobGlnaHQoJ2F0dGVudGlvbiByZXF1aXJlZDogJXMnLCByZWFzb24pIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIGhpZ2hsaWdodCh7IG1lc3NhZ2U6ICdub3RpY2UnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGhpZ2hsaWdodCh7IG1lc3NhZ2U6ICdub3RpY2U6ICVzJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0sIG1zZykgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0ID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ2luZm8nLCBjaGFsa0lucHV0KGlucHV0LCBjaGFsay5ib2xkKSwgLi4uYXJncyk7XG59O1xuXG5mdW5jdGlvbiBjaGFsa0lucHV0PEEgZXh0ZW5kcyBMb2dJbnB1dDxhbnk+PihpOiBBLCBzdHlsZTogKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpOiBBIHtcbiAgaWYgKHR5cGVvZiBpID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBzdHlsZShpKSBhcyBBO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pIGFzIGFueSxcbiAgICBtZXNzYWdlOiBzdHlsZShpLm1lc3NhZ2UpLFxuICB9O1xufVxuIl19
package/lib/notices.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import type { Environment } from '@aws-cdk/cx-api';
2
- import { SdkHttpOptions } from './api';
2
+ import type { SdkHttpOptions } from './api';
3
3
  import type { Context } from './api/context';
4
+ import type { IIoHost } from './toolkit/cli-io-host';
5
+ import { IoDefaultMessages } from '../../@aws-cdk/tmp-toolkit-helpers/src/api/io/private';
4
6
  export interface NoticesProps {
5
7
  /**
6
8
  * CDK context
@@ -18,16 +20,14 @@ export interface NoticesProps {
18
20
  * @default 'cdk.out'
19
21
  */
20
22
  readonly output?: string;
21
- /**
22
- * Global CLI option for whether we show notices
23
- *
24
- * @default true
25
- */
26
- readonly shouldDisplay?: boolean;
27
23
  /**
28
24
  * Options for the HTTP request
29
25
  */
30
26
  readonly httpOptions?: SdkHttpOptions;
27
+ /**
28
+ * Where messages are going to be sent
29
+ */
30
+ readonly ioHost: IIoHost;
31
31
  }
32
32
  export interface NoticesPrintOptions {
33
33
  /**
@@ -57,41 +57,43 @@ export interface NoticesFilterFilterOptions {
57
57
  readonly outDir: string;
58
58
  readonly bootstrappedEnvironments: BootstrappedEnvironment[];
59
59
  }
60
- export declare abstract class NoticesFilter {
61
- static filter(options: NoticesFilterFilterOptions): FilteredNotice[];
60
+ export declare class NoticesFilter {
61
+ private readonly ioMessages;
62
+ constructor(ioMessages: IoDefaultMessages);
63
+ filter(options: NoticesFilterFilterOptions): FilteredNotice[];
62
64
  /**
63
65
  * From a set of input options, return the notices components we are searching for
64
66
  */
65
- private static otherComponents;
67
+ private otherComponents;
66
68
  /**
67
69
  * Based on a set of component names, find all notices that match one of the given components
68
70
  */
69
- private static findForNamedComponents;
71
+ private findForNamedComponents;
70
72
  /**
71
73
  * Whether the given "affected component" name applies to the given actual component name.
72
74
  *
73
75
  * The name matches if the name is exactly the same, or the name in the notice
74
76
  * is a prefix of the node name when the query ends in '.'.
75
77
  */
76
- private static componentNameMatches;
78
+ private componentNameMatches;
77
79
  /**
78
80
  * Adds dynamic values from the given ActualComponents
79
81
  *
80
82
  * If there are multiple components with the same dynamic name, they are joined
81
83
  * by a comma.
82
84
  */
83
- private static addDynamicValues;
85
+ private addDynamicValues;
84
86
  /**
85
87
  * Treat 'framework' as an alias for either `aws-cdk-lib.` or `@aws-cdk/core.`.
86
88
  *
87
89
  * Because it's EITHER `aws-cdk-lib` or `@aws-cdk/core`, we need to add multiple
88
90
  * arrays at the top level.
89
91
  */
90
- private static resolveAliases;
92
+ private resolveAliases;
91
93
  /**
92
94
  * Load the construct tree from the given directory and return its components
93
95
  */
94
- private static constructTreeComponents;
96
+ private constructTreeComponents;
95
97
  }
96
98
  /**
97
99
  * Information about a bootstrapped environment.
@@ -115,10 +117,10 @@ export declare class Notices {
115
117
  private static _instance;
116
118
  private readonly context;
117
119
  private readonly output;
118
- private readonly shouldDisplay;
119
120
  private readonly acknowledgedIssueNumbers;
120
121
  private readonly includeAcknowlegded;
121
122
  private readonly httpOptions;
123
+ private readonly ioMessages;
122
124
  private data;
123
125
  private readonly bootstrappedEnvironments;
124
126
  private constructor();
@@ -183,15 +185,17 @@ export interface NoticeDataSource {
183
185
  fetch(): Promise<Notice[]>;
184
186
  }
185
187
  export declare class WebsiteNoticeDataSource implements NoticeDataSource {
188
+ private readonly ioMessages;
186
189
  private readonly options;
187
- constructor(options?: SdkHttpOptions);
190
+ constructor(ioMessages: IoDefaultMessages, options?: SdkHttpOptions);
188
191
  fetch(): Promise<Notice[]>;
189
192
  }
190
193
  export declare class CachedDataSource implements NoticeDataSource {
194
+ private readonly ioMessages;
191
195
  private readonly fileName;
192
196
  private readonly dataSource;
193
197
  private readonly skipCache?;
194
- constructor(fileName: string, dataSource: NoticeDataSource, skipCache?: boolean | undefined);
198
+ constructor(ioMessages: IoDefaultMessages, fileName: string, dataSource: NoticeDataSource, skipCache?: boolean | undefined);
195
199
  fetch(): Promise<Notice[]>;
196
200
  private fetchInner;
197
201
  private load;