@aws-cdk/toolkit-lib 0.3.2 → 0.3.3

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 (361) hide show
  1. package/build-info.json +2 -2
  2. package/lib/actions/bootstrap/index.d.ts +1 -1
  3. package/lib/actions/bootstrap/index.js +5 -5
  4. package/lib/actions/deploy/index.d.ts +1 -1
  5. package/lib/actions/deploy/index.js +1 -1
  6. package/lib/actions/deploy/private/deploy-options.d.ts +1 -1
  7. package/lib/actions/deploy/private/deploy-options.js +1 -1
  8. package/lib/actions/deploy/private/helpers.d.ts +3 -2
  9. package/lib/actions/deploy/private/helpers.js +3 -3
  10. package/lib/actions/diff/private/helpers.d.ts +5 -9
  11. package/lib/actions/diff/private/helpers.js +6 -23
  12. package/lib/api/aws-auth/account-cache.d.ts +41 -0
  13. package/lib/api/aws-auth/account-cache.js +108 -0
  14. package/lib/api/aws-auth/awscli-compatible.d.ts +70 -0
  15. package/lib/api/aws-auth/awscli-compatible.js +250 -0
  16. package/lib/api/aws-auth/cached.d.ts +11 -0
  17. package/lib/api/aws-auth/cached.js +26 -0
  18. package/lib/api/aws-auth/credential-plugins.d.ts +38 -0
  19. package/lib/api/aws-auth/credential-plugins.js +154 -0
  20. package/lib/api/aws-auth/private/index.d.ts +11 -0
  21. package/lib/api/aws-auth/private/index.js +37 -0
  22. package/lib/api/aws-auth/provider-caching.d.ts +13 -0
  23. package/lib/api/aws-auth/provider-caching.js +24 -0
  24. package/lib/api/aws-auth/proxy-agent.d.ts +13 -0
  25. package/lib/api/aws-auth/proxy-agent.js +54 -0
  26. package/lib/api/aws-auth/sdk-logger.d.ts +69 -0
  27. package/lib/api/aws-auth/sdk-logger.js +128 -0
  28. package/lib/api/aws-auth/sdk-provider.d.ts +195 -0
  29. package/lib/api/aws-auth/sdk-provider.js +373 -0
  30. package/lib/api/aws-auth/sdk.d.ts +235 -0
  31. package/lib/api/aws-auth/sdk.js +391 -0
  32. package/lib/api/aws-auth/tracing.d.ts +11 -0
  33. package/lib/api/aws-auth/tracing.js +60 -0
  34. package/lib/api/aws-auth/user-agent.d.ts +7 -0
  35. package/lib/api/aws-auth/user-agent.js +20 -0
  36. package/lib/api/aws-auth/util.d.ts +6 -0
  37. package/lib/api/aws-auth/util.js +21 -0
  38. package/lib/api/bootstrap/bootstrap-environment.d.ts +35 -0
  39. package/lib/api/bootstrap/bootstrap-environment.js +323 -0
  40. package/lib/api/bootstrap/bootstrap-props.d.ts +130 -0
  41. package/lib/api/bootstrap/bootstrap-props.js +14 -0
  42. package/lib/api/bootstrap/deploy-bootstrap.d.ts +39 -0
  43. package/lib/api/bootstrap/deploy-bootstrap.js +147 -0
  44. package/lib/api/bootstrap/index.d.ts +3 -0
  45. package/lib/api/bootstrap/index.js +23 -0
  46. package/lib/api/bootstrap/legacy-template.d.ts +2 -0
  47. package/lib/api/bootstrap/legacy-template.js +82 -0
  48. package/lib/api/cloud-assembly/environment.d.ts +43 -0
  49. package/lib/api/cloud-assembly/environment.js +127 -0
  50. package/lib/api/cloud-assembly/index.d.ts +1 -1
  51. package/lib/api/cloud-assembly/index.js +3 -3
  52. package/lib/api/cloud-assembly/private/context-aware-source.d.ts +1 -1
  53. package/lib/api/cloud-assembly/private/context-aware-source.js +5 -5
  54. package/lib/api/cloud-assembly/private/prepare-source.d.ts +2 -1
  55. package/lib/api/cloud-assembly/private/prepare-source.js +14 -12
  56. package/lib/api/cloud-assembly/private/readable-assembly.d.ts +1 -1
  57. package/lib/api/cloud-assembly/private/readable-assembly.js +1 -1
  58. package/lib/api/cloud-assembly/private/source-builder.js +8 -6
  59. package/lib/api/cloud-assembly/private/stack-assembly.d.ts +2 -1
  60. package/lib/api/cloud-assembly/private/stack-assembly.js +10 -9
  61. package/lib/api/cloud-assembly/stack-assembly.d.ts +55 -0
  62. package/lib/api/cloud-assembly/stack-assembly.js +139 -0
  63. package/lib/api/cloud-assembly/stack-collection.d.ts +27 -0
  64. package/lib/api/cloud-assembly/stack-collection.js +112 -0
  65. package/lib/api/cloud-assembly/stack-selector.d.ts +81 -2
  66. package/lib/api/cloud-assembly/stack-selector.js +62 -5
  67. package/lib/api/cloudformation/evaluate-cloudformation-template.d.ts +85 -0
  68. package/lib/api/cloudformation/evaluate-cloudformation-template.js +456 -0
  69. package/lib/api/cloudformation/index.d.ts +4 -0
  70. package/lib/api/cloudformation/index.js +21 -0
  71. package/lib/api/cloudformation/nested-stack-helpers.d.ts +25 -0
  72. package/lib/api/cloudformation/nested-stack-helpers.js +86 -0
  73. package/lib/api/cloudformation/stack-helpers.d.ts +96 -0
  74. package/lib/api/cloudformation/stack-helpers.js +163 -0
  75. package/lib/api/cloudformation/template-body-parameter.d.ts +22 -0
  76. package/lib/api/cloudformation/template-body-parameter.js +104 -0
  77. package/lib/api/context.d.ts +40 -0
  78. package/lib/api/context.js +84 -0
  79. package/lib/api/deployments/asset-manifest-builder.d.ts +8 -0
  80. package/lib/api/deployments/asset-manifest-builder.js +33 -0
  81. package/lib/api/deployments/asset-publishing.d.ts +60 -0
  82. package/lib/api/deployments/asset-publishing.js +144 -0
  83. package/lib/api/deployments/assets.d.ts +11 -0
  84. package/lib/api/deployments/assets.js +109 -0
  85. package/lib/api/deployments/cfn-api.d.ts +145 -0
  86. package/lib/api/deployments/cfn-api.js +444 -0
  87. package/lib/api/deployments/checks.d.ts +9 -0
  88. package/lib/api/deployments/checks.js +72 -0
  89. package/lib/api/deployments/deploy-stack.d.ts +164 -0
  90. package/lib/api/deployments/deploy-stack.js +490 -0
  91. package/lib/api/deployments/deployment-method.d.ts +24 -0
  92. package/lib/api/deployments/deployment-method.js +3 -0
  93. package/lib/api/deployments/deployment-result.d.ts +21 -0
  94. package/lib/api/deployments/deployment-result.js +10 -0
  95. package/lib/api/deployments/deployments.d.ts +289 -0
  96. package/lib/api/deployments/deployments.js +355 -0
  97. package/lib/api/deployments/index.d.ts +6 -0
  98. package/lib/api/deployments/index.js +27 -0
  99. package/lib/api/diff/diff-formatter.d.ts +147 -0
  100. package/lib/api/diff/diff-formatter.js +225 -0
  101. package/lib/api/diff/index.d.ts +1 -0
  102. package/lib/api/diff/index.js +18 -0
  103. package/lib/api/environment/environment-access.d.ts +139 -0
  104. package/lib/api/environment/environment-access.js +205 -0
  105. package/lib/api/environment/environment-resources.d.ts +75 -0
  106. package/lib/api/environment/environment-resources.js +213 -0
  107. package/lib/api/environment/index.d.ts +3 -0
  108. package/lib/api/environment/index.js +20 -0
  109. package/lib/api/environment/placeholders.d.ts +10 -0
  110. package/lib/api/environment/placeholders.js +23 -0
  111. package/lib/api/garbage-collection/garbage-collector.d.ts +158 -0
  112. package/lib/api/garbage-collection/garbage-collector.js +614 -0
  113. package/lib/api/garbage-collection/index.d.ts +3 -0
  114. package/lib/api/garbage-collection/index.js +21 -0
  115. package/lib/api/garbage-collection/progress-printer.d.ts +23 -0
  116. package/lib/api/garbage-collection/progress-printer.js +80 -0
  117. package/lib/api/garbage-collection/stack-refresh.d.ts +49 -0
  118. package/lib/api/garbage-collection/stack-refresh.js +152 -0
  119. package/lib/api/hotswap/appsync-mapping-templates.d.ts +4 -0
  120. package/lib/api/hotswap/appsync-mapping-templates.js +162 -0
  121. package/lib/api/hotswap/code-build-projects.d.ts +4 -0
  122. package/lib/api/hotswap/code-build-projects.js +62 -0
  123. package/lib/api/hotswap/common.d.ts +89 -0
  124. package/lib/api/hotswap/common.js +137 -0
  125. package/lib/api/hotswap/ecs-services.d.ts +4 -0
  126. package/lib/api/hotswap/ecs-services.js +159 -0
  127. package/lib/api/hotswap/hotswap-deployments.d.ts +17 -0
  128. package/lib/api/hotswap/hotswap-deployments.js +441 -0
  129. package/lib/api/hotswap/index.d.ts +2 -0
  130. package/lib/api/hotswap/index.js +19 -0
  131. package/lib/api/hotswap/lambda-functions.d.ts +4 -0
  132. package/lib/api/hotswap/lambda-functions.js +297 -0
  133. package/lib/api/hotswap/s3-bucket-deployments.d.ts +5 -0
  134. package/lib/api/hotswap/s3-bucket-deployments.js +117 -0
  135. package/lib/api/hotswap/stepfunctions-state-machines.d.ts +4 -0
  136. package/lib/api/hotswap/stepfunctions-state-machines.js +48 -0
  137. package/lib/api/index.d.ts +25 -0
  138. package/lib/api/index.js +42 -0
  139. package/lib/api/io/index.d.ts +3 -1
  140. package/lib/api/io/index.js +18 -1
  141. package/lib/api/io/io-host.d.ts +15 -0
  142. package/lib/api/io/io-host.js +3 -0
  143. package/lib/api/io/io-message.d.ts +76 -0
  144. package/lib/api/io/io-message.js +3 -0
  145. package/lib/api/io/private/index.d.ts +7 -1
  146. package/lib/api/io/private/index.js +8 -5
  147. package/lib/api/io/private/io-default-messages.d.ts +21 -0
  148. package/lib/api/io/private/io-default-messages.js +59 -0
  149. package/lib/api/io/private/io-helper.d.ts +32 -0
  150. package/lib/api/io/private/io-helper.js +51 -0
  151. package/lib/api/io/private/level-priority.d.ts +11 -0
  152. package/lib/api/io/private/level-priority.js +33 -0
  153. package/lib/api/io/private/message-maker.d.ts +89 -0
  154. package/lib/api/io/private/message-maker.js +60 -0
  155. package/lib/api/io/private/messages.d.ts +178 -0
  156. package/lib/api/io/private/messages.js +534 -0
  157. package/lib/api/io/private/span.d.ts +93 -0
  158. package/lib/api/io/private/span.js +87 -0
  159. package/lib/api/io/private/testing/fake-io-host.d.ts +28 -0
  160. package/lib/api/io/private/testing/fake-io-host.js +41 -0
  161. package/lib/api/io/private/testing/index.d.ts +2 -0
  162. package/lib/api/io/private/testing/index.js +19 -0
  163. package/lib/api/io/private/testing/test-io-host.d.ts +27 -0
  164. package/lib/api/io/private/testing/test-io-host.js +61 -0
  165. package/lib/api/io/private/types.d.ts +4 -0
  166. package/lib/api/io/private/types.js +3 -0
  167. package/lib/api/io/toolkit-action.d.ts +4 -0
  168. package/lib/api/io/toolkit-action.js +3 -0
  169. package/lib/api/logs-monitor/find-cloudwatch-logs.d.ts +25 -0
  170. package/lib/api/logs-monitor/find-cloudwatch-logs.js +95 -0
  171. package/lib/api/logs-monitor/index.d.ts +2 -0
  172. package/lib/api/logs-monitor/index.js +19 -0
  173. package/lib/api/logs-monitor/logs-monitor.d.ts +76 -0
  174. package/lib/api/logs-monitor/logs-monitor.js +194 -0
  175. package/lib/api/notices.d.ts +210 -0
  176. package/lib/api/notices.js +430 -0
  177. package/lib/api/plugin/context-provider-plugin.d.ts +6 -0
  178. package/lib/api/plugin/context-provider-plugin.js +7 -0
  179. package/lib/api/plugin/index.d.ts +3 -0
  180. package/lib/api/plugin/index.js +20 -0
  181. package/lib/api/plugin/mode.d.ts +4 -0
  182. package/lib/api/plugin/mode.js +9 -0
  183. package/lib/api/plugin/plugin.d.ts +72 -0
  184. package/lib/api/plugin/plugin.js +132 -0
  185. package/lib/api/private.d.ts +1 -0
  186. package/lib/api/private.js +18 -0
  187. package/lib/api/refactoring/cloudformation.d.ts +15 -0
  188. package/lib/api/refactoring/cloudformation.js +3 -0
  189. package/lib/api/refactoring/digest.d.ts +26 -0
  190. package/lib/api/refactoring/digest.js +175 -0
  191. package/lib/api/refactoring/index.d.ts +51 -0
  192. package/lib/api/refactoring/index.js +223 -0
  193. package/lib/api/require-approval.d.ts +17 -0
  194. package/lib/api/require-approval.js +22 -0
  195. package/lib/api/resource-import/importer.d.ts +216 -0
  196. package/lib/api/resource-import/importer.js +331 -0
  197. package/lib/api/resource-import/index.d.ts +2 -0
  198. package/lib/api/resource-import/index.js +19 -0
  199. package/lib/api/resource-import/migrator.d.ts +26 -0
  200. package/lib/api/resource-import/migrator.js +73 -0
  201. package/lib/api/resource-metadata/index.d.ts +1 -0
  202. package/lib/api/resource-metadata/index.js +18 -0
  203. package/lib/api/resource-metadata/resource-metadata.d.ts +24 -0
  204. package/lib/api/resource-metadata/resource-metadata.js +42 -0
  205. package/lib/api/rwlock.d.ts +60 -0
  206. package/lib/api/rwlock.js +204 -0
  207. package/lib/api/settings.d.ts +26 -0
  208. package/lib/api/settings.js +107 -0
  209. package/lib/api/shared-private.d.ts +8 -6
  210. package/lib/api/shared-private.js +2838 -9213
  211. package/lib/api/shared-private.js.map +4 -4
  212. package/lib/api/shared-public.d.ts +18 -38
  213. package/lib/api/shared-public.js +2187 -25
  214. package/lib/api/shared-public.js.map +4 -4
  215. package/lib/api/stack-events/index.d.ts +4 -0
  216. package/lib/api/stack-events/index.js +23 -0
  217. package/lib/api/stack-events/stack-activity-monitor.d.ts +100 -0
  218. package/lib/api/stack-events/stack-activity-monitor.js +164 -0
  219. package/lib/api/stack-events/stack-event-poller.d.ts +69 -0
  220. package/lib/api/stack-events/stack-event-poller.js +130 -0
  221. package/lib/api/stack-events/stack-progress-monitor.d.ts +48 -0
  222. package/lib/api/stack-events/stack-progress-monitor.js +98 -0
  223. package/lib/api/stack-events/stack-status.d.ts +42 -0
  224. package/lib/api/stack-events/stack-status.js +90 -0
  225. package/lib/api/streams.d.ts +7 -0
  226. package/lib/api/streams.js +24 -0
  227. package/lib/api/tags.d.ts +9 -0
  228. package/lib/api/tags.js +10 -0
  229. package/lib/api/toolkit-error.d.ts +86 -0
  230. package/lib/api/toolkit-error.js +132 -0
  231. package/lib/api/toolkit-info.d.ts +52 -0
  232. package/lib/api/toolkit-info.js +157 -0
  233. package/lib/api/tree.d.ts +31 -0
  234. package/lib/api/tree.js +37 -0
  235. package/lib/api/work-graph/index.d.ts +3 -0
  236. package/lib/api/work-graph/index.js +20 -0
  237. package/lib/api/work-graph/work-graph-builder.d.ts +34 -0
  238. package/lib/api/work-graph/work-graph-builder.js +172 -0
  239. package/lib/api/work-graph/work-graph-types.d.ts +50 -0
  240. package/lib/api/work-graph/work-graph-types.js +13 -0
  241. package/lib/api/work-graph/work-graph.d.ts +72 -0
  242. package/lib/api/work-graph/work-graph.js +349 -0
  243. package/lib/context-providers/ami.d.ts +13 -0
  244. package/lib/context-providers/ami.js +52 -0
  245. package/lib/context-providers/availability-zones.d.ts +13 -0
  246. package/lib/context-providers/availability-zones.js +29 -0
  247. package/lib/context-providers/cc-api-provider.d.ts +30 -0
  248. package/lib/context-providers/cc-api-provider.js +145 -0
  249. package/lib/context-providers/endpoint-service-availability-zones.d.ts +13 -0
  250. package/lib/context-providers/endpoint-service-availability-zones.js +35 -0
  251. package/lib/context-providers/hosted-zones.d.ts +12 -0
  252. package/lib/context-providers/hosted-zones.js +69 -0
  253. package/lib/context-providers/index.d.ts +44 -0
  254. package/lib/context-providers/index.js +128 -0
  255. package/lib/context-providers/keys.d.ts +13 -0
  256. package/lib/context-providers/keys.js +54 -0
  257. package/lib/context-providers/load-balancers.d.ts +20 -0
  258. package/lib/context-providers/load-balancers.js +161 -0
  259. package/lib/context-providers/security-groups.d.ts +9 -0
  260. package/lib/context-providers/security-groups.js +69 -0
  261. package/lib/context-providers/ssm-parameters.d.ts +25 -0
  262. package/lib/context-providers/ssm-parameters.js +61 -0
  263. package/lib/context-providers/vpcs.d.ts +13 -0
  264. package/lib/context-providers/vpcs.js +291 -0
  265. package/lib/index.d.ts +1 -0
  266. package/lib/index.js +2 -1
  267. package/lib/payloads/bootstrap-environment-progress.d.ts +17 -0
  268. package/lib/payloads/bootstrap-environment-progress.js +3 -0
  269. package/lib/payloads/context.d.ts +9 -0
  270. package/lib/payloads/context.js +3 -0
  271. package/lib/payloads/deploy.d.ts +43 -0
  272. package/lib/payloads/deploy.js +3 -0
  273. package/lib/payloads/destroy.d.ts +23 -0
  274. package/lib/payloads/destroy.js +3 -0
  275. package/lib/payloads/diff.d.ts +31 -0
  276. package/lib/payloads/diff.js +22 -0
  277. package/lib/payloads/hotswap.d.ts +211 -0
  278. package/lib/payloads/hotswap.js +43 -0
  279. package/lib/payloads/index.d.ts +17 -0
  280. package/lib/payloads/index.js +34 -0
  281. package/lib/payloads/list.d.ts +4 -0
  282. package/lib/payloads/list.js +3 -0
  283. package/lib/payloads/logs-monitor.d.ts +33 -0
  284. package/lib/payloads/logs-monitor.js +3 -0
  285. package/lib/payloads/progress.d.ts +14 -0
  286. package/lib/payloads/progress.js +3 -0
  287. package/lib/payloads/refactor.d.ts +14 -0
  288. package/lib/payloads/refactor.js +3 -0
  289. package/lib/payloads/rollback.d.ts +17 -0
  290. package/lib/payloads/rollback.js +3 -0
  291. package/lib/payloads/sdk-trace.d.ts +20 -0
  292. package/lib/payloads/sdk-trace.js +3 -0
  293. package/lib/payloads/stack-activity.d.ts +53 -0
  294. package/lib/payloads/stack-activity.js +3 -0
  295. package/lib/payloads/stack-details.d.ts +17 -0
  296. package/lib/payloads/stack-details.js +3 -0
  297. package/lib/payloads/synth.d.ts +7 -0
  298. package/lib/payloads/synth.js +3 -0
  299. package/lib/payloads/types.d.ts +95 -0
  300. package/lib/payloads/types.js +3 -0
  301. package/lib/payloads/watch.d.ts +27 -0
  302. package/lib/payloads/watch.js +3 -0
  303. package/lib/private/activity-printer/base.d.ts +50 -0
  304. package/lib/private/activity-printer/base.js +120 -0
  305. package/lib/private/activity-printer/current.d.ts +26 -0
  306. package/lib/private/activity-printer/current.js +122 -0
  307. package/lib/private/activity-printer/display.d.ts +13 -0
  308. package/lib/private/activity-printer/display.js +81 -0
  309. package/lib/private/activity-printer/history.d.ts +32 -0
  310. package/lib/private/activity-printer/history.js +109 -0
  311. package/lib/private/activity-printer/index.d.ts +3 -0
  312. package/lib/private/activity-printer/index.js +20 -0
  313. package/lib/private/index.d.ts +1 -0
  314. package/lib/private/index.js +18 -0
  315. package/lib/private/util.d.ts +1 -1
  316. package/lib/private/util.js +22 -22
  317. package/lib/private/util.js.map +2 -2
  318. package/lib/toolkit/private/index.d.ts +2 -1
  319. package/lib/toolkit/private/index.js +1 -1
  320. package/lib/toolkit/toolkit.js +142 -124
  321. package/lib/toolkit/types.d.ts +0 -55
  322. package/lib/toolkit/types.js +1 -1
  323. package/lib/util/archive.d.ts +1 -0
  324. package/lib/util/archive.js +86 -0
  325. package/lib/util/arrays.d.ts +14 -0
  326. package/lib/util/arrays.js +36 -0
  327. package/lib/util/bool.d.ts +7 -0
  328. package/lib/util/bool.js +13 -0
  329. package/lib/util/bytes.d.ts +8 -0
  330. package/lib/util/bytes.js +21 -0
  331. package/lib/util/cloudformation.d.ts +16 -0
  332. package/lib/util/cloudformation.js +36 -0
  333. package/lib/util/content-hash.d.ts +5 -0
  334. package/lib/util/content-hash.js +43 -0
  335. package/lib/util/directories.d.ts +22 -0
  336. package/lib/util/directories.js +59 -0
  337. package/lib/util/format-error.d.ts +9 -0
  338. package/lib/util/format-error.js +22 -0
  339. package/lib/util/index.d.ts +18 -0
  340. package/lib/util/index.js +35 -0
  341. package/lib/util/json.d.ts +48 -0
  342. package/lib/util/json.js +68 -0
  343. package/lib/util/objects.d.ts +65 -0
  344. package/lib/util/objects.js +230 -0
  345. package/lib/util/package-info.d.ts +3 -0
  346. package/lib/util/package-info.js +22 -0
  347. package/lib/util/parallel.d.ts +6 -0
  348. package/lib/util/parallel.js +48 -0
  349. package/lib/util/serialize.d.ts +27 -0
  350. package/lib/util/serialize.js +86 -0
  351. package/lib/util/string-manipulation.d.ts +18 -0
  352. package/lib/util/string-manipulation.js +46 -0
  353. package/lib/util/type-brands.d.ts +39 -0
  354. package/lib/util/type-brands.js +39 -0
  355. package/lib/util/types.d.ts +27 -0
  356. package/lib/util/types.js +25 -0
  357. package/lib/util/version-range.d.ts +2 -0
  358. package/lib/util/version-range.js +36 -0
  359. package/lib/util/yaml-cfn.d.ts +15 -0
  360. package/lib/util/yaml-cfn.js +58 -0
  361. package/package.json +3 -4
@@ -1,12 +1,3 @@
1
- /**
2
- * Result interface for toolkit.deploy operation
3
- */
4
- export interface DeployResult {
5
- /**
6
- * Map of deployed stacks by artifact ID.
7
- */
8
- readonly stacks: DeployedStack[];
9
- }
10
1
  /**
11
2
  * Properties that describe a physically deployed stack
12
3
  */
@@ -30,39 +21,6 @@ export interface PhysicalStack<Arn extends 'arnRequired' | 'arnOptional' = 'arnR
30
21
  */
31
22
  readonly stackArn: Arn extends 'arnOptional' ? string | undefined : string;
32
23
  }
33
- /**
34
- * Information about a deployed stack
35
- */
36
- export interface DeployedStack extends PhysicalStack {
37
- /**
38
- * Hierarchical identifier
39
- *
40
- * This uniquely identifies the stack inside the CDK app.
41
- *
42
- * In practice this will be the stack's construct path, but unfortunately the
43
- * Cloud Assembly contract doesn't require or guarantee that.
44
- */
45
- readonly hierarchicalId: string;
46
- /**
47
- * The outputs of the deployed CloudFormation stack
48
- */
49
- readonly outputs: {
50
- [key: string]: string;
51
- };
52
- }
53
- /**
54
- * An environment, which is an (account, region) pair
55
- */
56
- export interface Environment {
57
- /**
58
- * The account number
59
- */
60
- readonly account: string;
61
- /**
62
- * The region number
63
- */
64
- readonly region: string;
65
- }
66
24
  /**
67
25
  * Result interface for toolkit.deploy operation
68
26
  */
@@ -147,17 +105,4 @@ export interface RolledBackStack extends PhysicalStack {
147
105
  */
148
106
  readonly result: StackRollbackResult;
149
107
  }
150
- /**
151
- * An environment, which is an (account, region) pair
152
- */
153
- export interface Environment {
154
- /**
155
- * The account number
156
- */
157
- readonly account: string;
158
- /**
159
- * The region number
160
- */
161
- readonly region: string;
162
- }
163
108
  export type StackRollbackResult = 'rolled-back' | 'already-stable';
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXN1bHQgaW50ZXJmYWNlIGZvciB0b29sa2l0LmRlcGxveSBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lSZXN1bHQge1xuICAvKipcbiAgICogTWFwIG9mIGRlcGxveWVkIHN0YWNrcyBieSBhcnRpZmFjdCBJRC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrczogRGVwbG95ZWRTdGFja1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdGhhdCBkZXNjcmliZSBhIHBoeXNpY2FsbHkgZGVwbG95ZWQgc3RhY2tcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaHlzaWNhbFN0YWNrPEFybiBleHRlbmRzICdhcm5SZXF1aXJlZCcgfCAnYXJuT3B0aW9uYWwnID0gJ2FyblJlcXVpcmVkJz4ge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0YWNrXG4gICAqXG4gICAqIEEgc3RhY2sgbmFtZSBpcyB1bmlxdWUgaW5zaWRlIGl0cyBlbnZpcm9ubWVudCwgYnV0IG5vdCB1bmlxdWUgZ2xvYmFsbHkuXG4gICAqL1xuICByZWFkb25seSBzdGFja05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IG9mIHRoZSBzdGFja1xuICAgKlxuICAgKiBUaGlzIGVudmlyb25tZW50IGlzIGFsd2F5cyBjb25jcmV0ZSwgYmVjYXVzZSBldmVuIHRob3VnaCB0aGUgQ0RLIGFwcCdzXG4gICAqIHN0YWNrIG1heSBiZSByZWdpb24tYWdub3N0aWMsIGluIG9yZGVyIHRvIGJlIGRlcGxveWVkIGl0IHdpbGwgaGF2ZSB0byBoYXZlXG4gICAqIGJlZW4gc3BlY2lhbGl6ZWQuXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHN0YWNrXG4gICAqL1xuICByZWFkb25seSBzdGFja0FybjogQXJuIGV4dGVuZHMgJ2Fybk9wdGlvbmFsJyA/IHN0cmluZyB8IHVuZGVmaW5lZCA6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCBhIGRlcGxveWVkIHN0YWNrXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95ZWRTdGFjayBleHRlbmRzIFBoeXNpY2FsU3RhY2sge1xuICAvKipcbiAgICogSGllcmFyY2hpY2FsIGlkZW50aWZpZXJcbiAgICpcbiAgICogVGhpcyB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBzdGFjayBpbnNpZGUgdGhlIENESyBhcHAuXG4gICAqXG4gICAqIEluIHByYWN0aWNlIHRoaXMgd2lsbCBiZSB0aGUgc3RhY2sncyBjb25zdHJ1Y3QgcGF0aCwgYnV0IHVuZm9ydHVuYXRlbHkgdGhlXG4gICAqIENsb3VkIEFzc2VtYmx5IGNvbnRyYWN0IGRvZXNuJ3QgcmVxdWlyZSBvciBndWFyYW50ZWUgdGhhdC5cbiAgICovXG4gIHJlYWRvbmx5IGhpZXJhcmNoaWNhbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvdXRwdXRzIG9mIHRoZSBkZXBsb3llZCBDbG91ZEZvcm1hdGlvbiBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBBbiBlbnZpcm9ubWVudCwgd2hpY2ggaXMgYW4gKGFjY291bnQsIHJlZ2lvbikgcGFpclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50IHtcbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IG51bWJlclxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIG51bWJlclxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzdWx0IGludGVyZmFjZSBmb3IgdG9vbGtpdC5kZXBsb3kgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95UmVzdWx0IHtcbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3RhY2tzIGRlcGxveWVkIGJ5IHRoaXMgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBzdGFja3M6IERlcGxveWVkU3RhY2tbXTtcbn1cblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCBhIGRlcGxveWVkIHN0YWNrXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95ZWRTdGFjayBleHRlbmRzIFBoeXNpY2FsU3RhY2sge1xuICAvKipcbiAgICogSGllcmFyY2hpY2FsIGlkZW50aWZpZXJcbiAgICpcbiAgICogVGhpcyB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBzdGFjayBpbnNpZGUgdGhlIENESyBhcHAuXG4gICAqXG4gICAqIEluIHByYWN0aWNlIHRoaXMgd2lsbCBiZSB0aGUgc3RhY2sncyBjb25zdHJ1Y3QgcGF0aCwgYnV0IHVuZm9ydHVuYXRlbHkgdGhlXG4gICAqIENsb3VkIEFzc2VtYmx5IGNvbnRyYWN0IGRvZXNuJ3QgcmVxdWlyZSBvciBndWFyYW50ZWUgdGhhdC5cbiAgICovXG4gIHJlYWRvbmx5IGhpZXJhcmNoaWNhbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvdXRwdXRzIG9mIHRoZSBkZXBsb3llZCBDbG91ZEZvcm1hdGlvbiBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBBbiBlbnZpcm9ubWVudCwgd2hpY2ggaXMgYW4gKGFjY291bnQsIHJlZ2lvbikgcGFpclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50IHtcbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IG51bWJlclxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIG51bWJlclxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzdWx0IGludGVyZmFjZSBmb3IgdG9vbGtpdC5kZXN0cm95IG9wZXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlc3Ryb3lSZXN1bHQge1xuICAvKipcbiAgICogTGlzdCBvZiBzdGFja3MgZGVzdHJveWVkIGJ5IHRoaXMgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBzdGFja3M6IERlc3Ryb3llZFN0YWNrW107XG59XG5cbi8qKlxuICogQSBzdGFjayB0YXJnZXRlZCBieSBhIGRlc3Ryb3kgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVzdHJveWVkU3RhY2sgZXh0ZW5kcyBQaHlzaWNhbFN0YWNrPCdhcm5PcHRpb25hbCc+IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHN0YWNrIGV4aXN0ZWQgdG8gYmVnaW4gd2l0aFxuICAgKlxuICAgKiBJZiBgIXN0YWNrRXhpc3RlZGAsIHRoZSBzdGFjayBkaWRuJ3QgZXhpc3QsIHdhc24ndCBkZWxldGVkLCBhbmQgYHN0YWNrQXJuYFxuICAgKiB3aWxsIGJlIGB1bmRlZmluZWRgLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tFeGlzdGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlc3VsdCBpbnRlcmZhY2UgZm9yIHRvb2xraXQucm9sbGJhY2sgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm9sbGJhY2tSZXN1bHQge1xuICAvKipcbiAgICogTGlzdCBvZiBzdGFja3Mgcm9sbGVkIGJhY2sgYnkgdGhpcyBvcGVyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrczogUm9sbGVkQmFja1N0YWNrW107XG59XG5cbi8qKlxuICogQSBzdGFjayB0YXJnZXRlZCBieSBhIHJvbGxiYWNrIG9wZXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvbGxlZEJhY2tTdGFjayBleHRlbmRzIFBoeXNpY2FsU3RhY2sge1xuICAvKipcbiAgICogV2hhdCBvcGVyYXRpb24gd2UgZGlkIGZvciB0aGlzIHN0YWNrXG4gICAqXG4gICAqIEVpdGhlcjogd2UgZGlkIHJvbGwgaXQgYmFjaywgb3Igd2UgZGlkbid0IG5lZWQgdG8gcm9sbCBpdCBiYWNrIGJlY2F1c2VcbiAgICogaXQgd2FzIGFscmVhZHkgc3RhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdWx0OiBTdGFja1JvbGxiYWNrUmVzdWx0O1xufVxuXG4vKipcbiAqIEFuIGVudmlyb25tZW50LCB3aGljaCBpcyBhbiAoYWNjb3VudCwgcmVnaW9uKSBwYWlyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnQge1xuICAvKipcbiAgICogVGhlIGFjY291bnQgbnVtYmVyXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb24gbnVtYmVyXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgU3RhY2tSb2xsYmFja1Jlc3VsdCA9ICdyb2xsZWQtYmFjaycgfCAnYWxyZWFkeS1zdGFibGUnO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9wZXJ0aWVzIHRoYXQgZGVzY3JpYmUgYSBwaHlzaWNhbGx5IGRlcGxveWVkIHN0YWNrXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGh5c2ljYWxTdGFjazxBcm4gZXh0ZW5kcyAnYXJuUmVxdWlyZWQnIHwgJ2Fybk9wdGlvbmFsJyA9ICdhcm5SZXF1aXJlZCc+IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdGFja1xuICAgKlxuICAgKiBBIHN0YWNrIG5hbWUgaXMgdW5pcXVlIGluc2lkZSBpdHMgZW52aXJvbm1lbnQsIGJ1dCBub3QgdW5pcXVlIGdsb2JhbGx5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCBvZiB0aGUgc3RhY2tcbiAgICpcbiAgICogVGhpcyBlbnZpcm9ubWVudCBpcyBhbHdheXMgY29uY3JldGUsIGJlY2F1c2UgZXZlbiB0aG91Z2ggdGhlIENESyBhcHAnc1xuICAgKiBzdGFjayBtYXkgYmUgcmVnaW9uLWFnbm9zdGljLCBpbiBvcmRlciB0byBiZSBkZXBsb3llZCBpdCB3aWxsIGhhdmUgdG8gaGF2ZVxuICAgKiBiZWVuIHNwZWNpYWxpemVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tBcm46IEFybiBleHRlbmRzICdhcm5PcHRpb25hbCcgPyBzdHJpbmcgfCB1bmRlZmluZWQgOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzdWx0IGludGVyZmFjZSBmb3IgdG9vbGtpdC5kZXBsb3kgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95UmVzdWx0IHtcbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3RhY2tzIGRlcGxveWVkIGJ5IHRoaXMgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBzdGFja3M6IERlcGxveWVkU3RhY2tbXTtcbn1cblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCBhIGRlcGxveWVkIHN0YWNrXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95ZWRTdGFjayBleHRlbmRzIFBoeXNpY2FsU3RhY2sge1xuICAvKipcbiAgICogSGllcmFyY2hpY2FsIGlkZW50aWZpZXJcbiAgICpcbiAgICogVGhpcyB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBzdGFjayBpbnNpZGUgdGhlIENESyBhcHAuXG4gICAqXG4gICAqIEluIHByYWN0aWNlIHRoaXMgd2lsbCBiZSB0aGUgc3RhY2sncyBjb25zdHJ1Y3QgcGF0aCwgYnV0IHVuZm9ydHVuYXRlbHkgdGhlXG4gICAqIENsb3VkIEFzc2VtYmx5IGNvbnRyYWN0IGRvZXNuJ3QgcmVxdWlyZSBvciBndWFyYW50ZWUgdGhhdC5cbiAgICovXG4gIHJlYWRvbmx5IGhpZXJhcmNoaWNhbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvdXRwdXRzIG9mIHRoZSBkZXBsb3llZCBDbG91ZEZvcm1hdGlvbiBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBBbiBlbnZpcm9ubWVudCwgd2hpY2ggaXMgYW4gKGFjY291bnQsIHJlZ2lvbikgcGFpclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50IHtcbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IG51bWJlclxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIG51bWJlclxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzdWx0IGludGVyZmFjZSBmb3IgdG9vbGtpdC5kZXN0cm95IG9wZXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlc3Ryb3lSZXN1bHQge1xuICAvKipcbiAgICogTGlzdCBvZiBzdGFja3MgZGVzdHJveWVkIGJ5IHRoaXMgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBzdGFja3M6IERlc3Ryb3llZFN0YWNrW107XG59XG5cbi8qKlxuICogQSBzdGFjayB0YXJnZXRlZCBieSBhIGRlc3Ryb3kgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVzdHJveWVkU3RhY2sgZXh0ZW5kcyBQaHlzaWNhbFN0YWNrPCdhcm5PcHRpb25hbCc+IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHN0YWNrIGV4aXN0ZWQgdG8gYmVnaW4gd2l0aFxuICAgKlxuICAgKiBJZiBgIXN0YWNrRXhpc3RlZGAsIHRoZSBzdGFjayBkaWRuJ3QgZXhpc3QsIHdhc24ndCBkZWxldGVkLCBhbmQgYHN0YWNrQXJuYFxuICAgKiB3aWxsIGJlIGB1bmRlZmluZWRgLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tFeGlzdGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlc3VsdCBpbnRlcmZhY2UgZm9yIHRvb2xraXQucm9sbGJhY2sgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm9sbGJhY2tSZXN1bHQge1xuICAvKipcbiAgICogTGlzdCBvZiBzdGFja3Mgcm9sbGVkIGJhY2sgYnkgdGhpcyBvcGVyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrczogUm9sbGVkQmFja1N0YWNrW107XG59XG5cbi8qKlxuICogQSBzdGFjayB0YXJnZXRlZCBieSBhIHJvbGxiYWNrIG9wZXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvbGxlZEJhY2tTdGFjayBleHRlbmRzIFBoeXNpY2FsU3RhY2sge1xuICAvKipcbiAgICogV2hhdCBvcGVyYXRpb24gd2UgZGlkIGZvciB0aGlzIHN0YWNrXG4gICAqXG4gICAqIEVpdGhlcjogd2UgZGlkIHJvbGwgaXQgYmFjaywgb3Igd2UgZGlkbid0IG5lZWQgdG8gcm9sbCBpdCBiYWNrIGJlY2F1c2VcbiAgICogaXQgd2FzIGFscmVhZHkgc3RhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdWx0OiBTdGFja1JvbGxiYWNrUmVzdWx0O1xufVxuXG5leHBvcnQgdHlwZSBTdGFja1JvbGxiYWNrUmVzdWx0ID0gJ3JvbGxlZC1iYWNrJyB8ICdhbHJlYWR5LXN0YWJsZSc7XG4iXX0=
@@ -0,0 +1 @@
1
+ export declare function zipDirectory(directory: string, outputFile: string): Promise<void>;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zipDirectory = zipDirectory;
4
+ const console_1 = require("console");
5
+ const fs_1 = require("fs");
6
+ const path = require("path");
7
+ const glob = require("glob");
8
+ const format_error_1 = require("./format-error");
9
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
10
+ const archiver = require('archiver');
11
+ // Adapted from cdk-assets
12
+ async function zipDirectory(directory, outputFile) {
13
+ // We write to a temporary file and rename at the last moment. This is so that if we are
14
+ // interrupted during this process, we don't leave a half-finished file in the target location.
15
+ const temporaryOutputFile = `${outputFile}.${randomString()}._tmp`;
16
+ await writeZipFile(directory, temporaryOutputFile);
17
+ await moveIntoPlace(temporaryOutputFile, outputFile);
18
+ }
19
+ function writeZipFile(directory, outputFile) {
20
+ return new Promise(async (ok, fail) => {
21
+ // The below options are needed to support following symlinks when building zip files:
22
+ // - nodir: This will prevent symlinks themselves from being copied into the zip.
23
+ // - follow: This will follow symlinks and copy the files within.
24
+ const globOptions = {
25
+ dot: true,
26
+ nodir: true,
27
+ follow: true,
28
+ cwd: directory,
29
+ };
30
+ const files = glob.sync('**', globOptions); // The output here is already sorted
31
+ const output = (0, fs_1.createWriteStream)(outputFile);
32
+ const archive = archiver('zip');
33
+ archive.on('warning', fail);
34
+ archive.on('error', fail);
35
+ // archive has been finalized and the output file descriptor has closed, resolve promise
36
+ // this has to be done before calling `finalize` since the events may fire immediately after.
37
+ // see https://www.npmjs.com/package/archiver
38
+ output.once('close', ok);
39
+ archive.pipe(output);
40
+ // Append files serially to ensure file order
41
+ for (const file of files) {
42
+ const fullPath = path.resolve(directory, file);
43
+ // Exactly 2 promises
44
+ // eslint-disable-next-line @cdklabs/promiseall-no-unbounded-parallelism
45
+ const [data, stat] = await Promise.all([fs_1.promises.readFile(fullPath), fs_1.promises.stat(fullPath)]);
46
+ archive.append(data, {
47
+ name: file,
48
+ mode: stat.mode,
49
+ });
50
+ }
51
+ await archive.finalize();
52
+ });
53
+ }
54
+ /**
55
+ * Rename the file to the target location, taking into account:
56
+ *
57
+ * - That we may see EPERM on Windows while an Antivirus scanner still has the
58
+ * file open, so retry a couple of times.
59
+ * - This same function may be called in parallel and be interrupted at any point.
60
+ */
61
+ async function moveIntoPlace(source, target) {
62
+ let delay = 100;
63
+ let attempts = 5;
64
+ while (true) {
65
+ try {
66
+ // 'rename' is guaranteed to overwrite an existing target, as long as it is a file (not a directory)
67
+ await fs_1.promises.rename(source, target);
68
+ return;
69
+ }
70
+ catch (e) {
71
+ if (e.code !== 'EPERM' || attempts-- <= 0) {
72
+ throw e;
73
+ }
74
+ (0, console_1.error)((0, format_error_1.formatErrorMessage)(e));
75
+ await sleep(Math.floor(Math.random() * delay));
76
+ delay *= 2;
77
+ }
78
+ }
79
+ }
80
+ function sleep(ms) {
81
+ return new Promise(ok => setTimeout(ok, ms));
82
+ }
83
+ function randomString() {
84
+ return Math.random().toString(36).replace(/[^a-z0-9]+/g, '');
85
+ }
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFyY2hpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFVQSxvQ0FNQztBQWhCRCxxQ0FBZ0M7QUFDaEMsMkJBQXVEO0FBQ3ZELDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0IsaURBQW9EO0FBRXBELGlFQUFpRTtBQUNqRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFFckMsMEJBQTBCO0FBQ25CLEtBQUssVUFBVSxZQUFZLENBQUMsU0FBaUIsRUFBRSxVQUFrQjtJQUN0RSx3RkFBd0Y7SUFDeEYsK0ZBQStGO0lBQy9GLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxVQUFVLElBQUksWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUNuRSxNQUFNLFlBQVksQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNuRCxNQUFNLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsU0FBaUIsRUFBRSxVQUFrQjtJQUN6RCxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDcEMsc0ZBQXNGO1FBQ3RGLGlGQUFpRjtRQUNqRixpRUFBaUU7UUFDakUsTUFBTSxXQUFXLEdBQUc7WUFDbEIsR0FBRyxFQUFFLElBQUk7WUFDVCxLQUFLLEVBQUUsSUFBSTtZQUNYLE1BQU0sRUFBRSxJQUFJO1lBQ1osR0FBRyxFQUFFLFNBQVM7U0FDZixDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxvQ0FBb0M7UUFFaEYsTUFBTSxNQUFNLEdBQUcsSUFBQSxzQkFBaUIsRUFBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFMUIsd0ZBQXdGO1FBQ3hGLDZGQUE2RjtRQUM3Riw2Q0FBNkM7UUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyQiw2Q0FBNkM7UUFDN0MsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMvQyxxQkFBcUI7WUFDckIsd0VBQXdFO1lBQ3hFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDbkIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxLQUFLLFVBQVUsYUFBYSxDQUFDLE1BQWMsRUFBRSxNQUFjO0lBQ3pELElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNoQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDakIsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQztZQUNILG9HQUFvRztZQUNwRyxNQUFNLGFBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hDLE9BQU87UUFDVCxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxNQUFNLENBQUMsQ0FBQztZQUNWLENBQUM7WUFDRCxJQUFBLGVBQUssRUFBQyxJQUFBLGlDQUFrQixFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMvQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxLQUFLLENBQUMsRUFBVTtJQUN2QixPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxTQUFTLFlBQVk7SUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVycm9yIH0gZnJvbSAnY29uc29sZSc7XG5pbXBvcnQgeyBjcmVhdGVXcml0ZVN0cmVhbSwgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCB7IGZvcm1hdEVycm9yTWVzc2FnZSB9IGZyb20gJy4vZm9ybWF0LWVycm9yJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbmNvbnN0IGFyY2hpdmVyID0gcmVxdWlyZSgnYXJjaGl2ZXInKTtcblxuLy8gQWRhcHRlZCBmcm9tIGNkay1hc3NldHNcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB6aXBEaXJlY3RvcnkoZGlyZWN0b3J5OiBzdHJpbmcsIG91dHB1dEZpbGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBXZSB3cml0ZSB0byBhIHRlbXBvcmFyeSBmaWxlIGFuZCByZW5hbWUgYXQgdGhlIGxhc3QgbW9tZW50LiBUaGlzIGlzIHNvIHRoYXQgaWYgd2UgYXJlXG4gIC8vIGludGVycnVwdGVkIGR1cmluZyB0aGlzIHByb2Nlc3MsIHdlIGRvbid0IGxlYXZlIGEgaGFsZi1maW5pc2hlZCBmaWxlIGluIHRoZSB0YXJnZXQgbG9jYXRpb24uXG4gIGNvbnN0IHRlbXBvcmFyeU91dHB1dEZpbGUgPSBgJHtvdXRwdXRGaWxlfS4ke3JhbmRvbVN0cmluZygpfS5fdG1wYDtcbiAgYXdhaXQgd3JpdGVaaXBGaWxlKGRpcmVjdG9yeSwgdGVtcG9yYXJ5T3V0cHV0RmlsZSk7XG4gIGF3YWl0IG1vdmVJbnRvUGxhY2UodGVtcG9yYXJ5T3V0cHV0RmlsZSwgb3V0cHV0RmlsZSk7XG59XG5cbmZ1bmN0aW9uIHdyaXRlWmlwRmlsZShkaXJlY3Rvcnk6IHN0cmluZywgb3V0cHV0RmlsZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAob2ssIGZhaWwpID0+IHtcbiAgICAvLyBUaGUgYmVsb3cgb3B0aW9ucyBhcmUgbmVlZGVkIHRvIHN1cHBvcnQgZm9sbG93aW5nIHN5bWxpbmtzIHdoZW4gYnVpbGRpbmcgemlwIGZpbGVzOlxuICAgIC8vIC0gbm9kaXI6IFRoaXMgd2lsbCBwcmV2ZW50IHN5bWxpbmtzIHRoZW1zZWx2ZXMgZnJvbSBiZWluZyBjb3BpZWQgaW50byB0aGUgemlwLlxuICAgIC8vIC0gZm9sbG93OiBUaGlzIHdpbGwgZm9sbG93IHN5bWxpbmtzIGFuZCBjb3B5IHRoZSBmaWxlcyB3aXRoaW4uXG4gICAgY29uc3QgZ2xvYk9wdGlvbnMgPSB7XG4gICAgICBkb3Q6IHRydWUsXG4gICAgICBub2RpcjogdHJ1ZSxcbiAgICAgIGZvbGxvdzogdHJ1ZSxcbiAgICAgIGN3ZDogZGlyZWN0b3J5LFxuICAgIH07XG4gICAgY29uc3QgZmlsZXMgPSBnbG9iLnN5bmMoJyoqJywgZ2xvYk9wdGlvbnMpOyAvLyBUaGUgb3V0cHV0IGhlcmUgaXMgYWxyZWFkeSBzb3J0ZWRcblxuICAgIGNvbnN0IG91dHB1dCA9IGNyZWF0ZVdyaXRlU3RyZWFtKG91dHB1dEZpbGUpO1xuXG4gICAgY29uc3QgYXJjaGl2ZSA9IGFyY2hpdmVyKCd6aXAnKTtcbiAgICBhcmNoaXZlLm9uKCd3YXJuaW5nJywgZmFpbCk7XG4gICAgYXJjaGl2ZS5vbignZXJyb3InLCBmYWlsKTtcblxuICAgIC8vIGFyY2hpdmUgaGFzIGJlZW4gZmluYWxpemVkIGFuZCB0aGUgb3V0cHV0IGZpbGUgZGVzY3JpcHRvciBoYXMgY2xvc2VkLCByZXNvbHZlIHByb21pc2VcbiAgICAvLyB0aGlzIGhhcyB0byBiZSBkb25lIGJlZm9yZSBjYWxsaW5nIGBmaW5hbGl6ZWAgc2luY2UgdGhlIGV2ZW50cyBtYXkgZmlyZSBpbW1lZGlhdGVseSBhZnRlci5cbiAgICAvLyBzZWUgaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvYXJjaGl2ZXJcbiAgICBvdXRwdXQub25jZSgnY2xvc2UnLCBvayk7XG5cbiAgICBhcmNoaXZlLnBpcGUob3V0cHV0KTtcblxuICAgIC8vIEFwcGVuZCBmaWxlcyBzZXJpYWxseSB0byBlbnN1cmUgZmlsZSBvcmRlclxuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLnJlc29sdmUoZGlyZWN0b3J5LCBmaWxlKTtcbiAgICAgIC8vIEV4YWN0bHkgMiBwcm9taXNlc1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBjZGtsYWJzL3Byb21pc2VhbGwtbm8tdW5ib3VuZGVkLXBhcmFsbGVsaXNtXG4gICAgICBjb25zdCBbZGF0YSwgc3RhdF0gPSBhd2FpdCBQcm9taXNlLmFsbChbZnMucmVhZEZpbGUoZnVsbFBhdGgpLCBmcy5zdGF0KGZ1bGxQYXRoKV0pO1xuICAgICAgYXJjaGl2ZS5hcHBlbmQoZGF0YSwge1xuICAgICAgICBuYW1lOiBmaWxlLFxuICAgICAgICBtb2RlOiBzdGF0Lm1vZGUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBhd2FpdCBhcmNoaXZlLmZpbmFsaXplKCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFJlbmFtZSB0aGUgZmlsZSB0byB0aGUgdGFyZ2V0IGxvY2F0aW9uLCB0YWtpbmcgaW50byBhY2NvdW50OlxuICpcbiAqIC0gVGhhdCB3ZSBtYXkgc2VlIEVQRVJNIG9uIFdpbmRvd3Mgd2hpbGUgYW4gQW50aXZpcnVzIHNjYW5uZXIgc3RpbGwgaGFzIHRoZVxuICogICBmaWxlIG9wZW4sIHNvIHJldHJ5IGEgY291cGxlIG9mIHRpbWVzLlxuICogLSBUaGlzIHNhbWUgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBpbiBwYXJhbGxlbCBhbmQgYmUgaW50ZXJydXB0ZWQgYXQgYW55IHBvaW50LlxuICovXG5hc3luYyBmdW5jdGlvbiBtb3ZlSW50b1BsYWNlKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZykge1xuICBsZXQgZGVsYXkgPSAxMDA7XG4gIGxldCBhdHRlbXB0cyA9IDU7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vICdyZW5hbWUnIGlzIGd1YXJhbnRlZWQgdG8gb3ZlcndyaXRlIGFuIGV4aXN0aW5nIHRhcmdldCwgYXMgbG9uZyBhcyBpdCBpcyBhIGZpbGUgKG5vdCBhIGRpcmVjdG9yeSlcbiAgICAgIGF3YWl0IGZzLnJlbmFtZShzb3VyY2UsIHRhcmdldCk7XG4gICAgICByZXR1cm47XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoZS5jb2RlICE9PSAnRVBFUk0nIHx8IGF0dGVtcHRzLS0gPD0gMCkge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgICAgZXJyb3IoZm9ybWF0RXJyb3JNZXNzYWdlKGUpKTtcbiAgICAgIGF3YWl0IHNsZWVwKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGRlbGF5KSk7XG4gICAgICBkZWxheSAqPSAyO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzbGVlcChtczogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShvayA9PiBzZXRUaW1lb3V0KG9rLCBtcykpO1xufVxuXG5mdW5jdGlvbiByYW5kb21TdHJpbmcoKSB7XG4gIHJldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5yZXBsYWNlKC9bXmEtejAtOV0rL2csICcnKTtcbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Map a function over an array and concatenate the results
3
+ */
4
+ export declare function flatMap<T, U>(xs: T[], fn: ((x: T, i: number) => U[])): U[];
5
+ /**
6
+ * Flatten a list of lists into a list of elements
7
+ */
8
+ export declare function flatten<T>(xs: T[][]): T[];
9
+ /**
10
+ * Partition a collection by removing and returning all elements that match a predicate
11
+ *
12
+ * Note: the input collection is modified in-place!
13
+ */
14
+ export declare function partition<T>(collection: T[], pred: (x: T) => boolean): T[];
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.flatMap = flatMap;
4
+ exports.flatten = flatten;
5
+ exports.partition = partition;
6
+ /**
7
+ * Map a function over an array and concatenate the results
8
+ */
9
+ function flatMap(xs, fn) {
10
+ return flatten(xs.map(fn));
11
+ }
12
+ /**
13
+ * Flatten a list of lists into a list of elements
14
+ */
15
+ function flatten(xs) {
16
+ return Array.prototype.concat.apply([], xs);
17
+ }
18
+ /**
19
+ * Partition a collection by removing and returning all elements that match a predicate
20
+ *
21
+ * Note: the input collection is modified in-place!
22
+ */
23
+ function partition(collection, pred) {
24
+ const ret = [];
25
+ let i = 0;
26
+ while (i < collection.length) {
27
+ if (pred(collection[i])) {
28
+ ret.push(collection.splice(i, 1)[0]);
29
+ }
30
+ else {
31
+ i++;
32
+ }
33
+ }
34
+ return ret;
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXJyYXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsMEJBRUM7QUFLRCwwQkFFQztBQU9ELDhCQVdDO0FBOUJEOztHQUVHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFPLEVBQU8sRUFBRSxFQUE4QjtJQUNuRSxPQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFJLEVBQVM7SUFDbEMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsU0FBUyxDQUFJLFVBQWUsRUFBRSxJQUF1QjtJQUNuRSxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7SUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sQ0FBQyxFQUFFLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWFwIGEgZnVuY3Rpb24gb3ZlciBhbiBhcnJheSBhbmQgY29uY2F0ZW5hdGUgdGhlIHJlc3VsdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsYXRNYXA8VCwgVT4oeHM6IFRbXSwgZm46ICgoeDogVCwgaTogbnVtYmVyKSA9PiBVW10pKTogVVtdIHtcbiAgcmV0dXJuIGZsYXR0ZW4oeHMubWFwKGZuKSk7XG59XG5cbi8qKlxuICogRmxhdHRlbiBhIGxpc3Qgb2YgbGlzdHMgaW50byBhIGxpc3Qgb2YgZWxlbWVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW48VD4oeHM6IFRbXVtdKTogVFtdIHtcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sIHhzKTtcbn1cblxuLyoqXG4gKiBQYXJ0aXRpb24gYSBjb2xsZWN0aW9uIGJ5IHJlbW92aW5nIGFuZCByZXR1cm5pbmcgYWxsIGVsZW1lbnRzIHRoYXQgbWF0Y2ggYSBwcmVkaWNhdGVcbiAqXG4gKiBOb3RlOiB0aGUgaW5wdXQgY29sbGVjdGlvbiBpcyBtb2RpZmllZCBpbi1wbGFjZSFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpdGlvbjxUPihjb2xsZWN0aW9uOiBUW10sIHByZWQ6ICh4OiBUKSA9PiBib29sZWFuKTogVFtdIHtcbiAgY29uc3QgcmV0OiBUW10gPSBbXTtcbiAgbGV0IGkgPSAwO1xuICB3aGlsZSAoaSA8IGNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgaWYgKHByZWQoY29sbGVjdGlvbltpXSkpIHtcbiAgICAgIHJldC5wdXNoKGNvbGxlY3Rpb24uc3BsaWNlKGksIDEpWzBdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaSsrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0O1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Converts a boolean into a number.
3
+ *
4
+ * @param bool input boolean
5
+ * @returns 1 if bool is true, and 0 if false
6
+ */
7
+ export declare function numberFromBool(bool: boolean): number;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.numberFromBool = numberFromBool;
4
+ /**
5
+ * Converts a boolean into a number.
6
+ *
7
+ * @param bool input boolean
8
+ * @returns 1 if bool is true, and 0 if false
9
+ */
10
+ function numberFromBool(bool) {
11
+ return +bool;
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSx3Q0FFQztBQVJEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLElBQWE7SUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnZlcnRzIGEgYm9vbGVhbiBpbnRvIGEgbnVtYmVyLlxuICpcbiAqIEBwYXJhbSBib29sIGlucHV0IGJvb2xlYW5cbiAqIEByZXR1cm5zIDEgaWYgYm9vbCBpcyB0cnVlLCBhbmQgMCBpZiBmYWxzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbnVtYmVyRnJvbUJvb2woYm9vbDogYm9vbGVhbik6IG51bWJlciB7XG4gIHJldHVybiArYm9vbDtcbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Format bytes as a human readable string
3
+ *
4
+ * @param bytes Number of bytes to format
5
+ * @param decimals Number of decimal places to show (default 2)
6
+ * @returns Formatted string with appropriate unit suffix
7
+ */
8
+ export declare function formatBytes(bytes: number, decimals?: number): string;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatBytes = formatBytes;
4
+ /**
5
+ * Format bytes as a human readable string
6
+ *
7
+ * @param bytes Number of bytes to format
8
+ * @param decimals Number of decimal places to show (default 2)
9
+ * @returns Formatted string with appropriate unit suffix
10
+ */
11
+ function formatBytes(bytes, decimals = 2) {
12
+ decimals = decimals < 0 ? 0 : decimals;
13
+ if (bytes === 0) {
14
+ return '0 Bytes';
15
+ }
16
+ const k = 1024;
17
+ const sizes = ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
18
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
19
+ return `${parseFloat((bytes / Math.pow(k, i)).toFixed(decimals))} ${sizes[i]}`;
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJieXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLGtDQWFDO0FBcEJEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxLQUFhLEVBQUUsV0FBbUIsQ0FBQztJQUM3RCxRQUFRLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFdkMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNmLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVoRixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBELE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNqRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3JtYXQgYnl0ZXMgYXMgYSBodW1hbiByZWFkYWJsZSBzdHJpbmdcbiAqXG4gKiBAcGFyYW0gYnl0ZXMgTnVtYmVyIG9mIGJ5dGVzIHRvIGZvcm1hdFxuICogQHBhcmFtIGRlY2ltYWxzIE51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyB0byBzaG93IChkZWZhdWx0IDIpXG4gKiBAcmV0dXJucyBGb3JtYXR0ZWQgc3RyaW5nIHdpdGggYXBwcm9wcmlhdGUgdW5pdCBzdWZmaXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEJ5dGVzKGJ5dGVzOiBudW1iZXIsIGRlY2ltYWxzOiBudW1iZXIgPSAyKTogc3RyaW5nIHtcbiAgZGVjaW1hbHMgPSBkZWNpbWFscyA8IDAgPyAwIDogZGVjaW1hbHM7XG5cbiAgaWYgKGJ5dGVzID09PSAwKSB7XG4gICAgcmV0dXJuICcwIEJ5dGVzJztcbiAgfVxuXG4gIGNvbnN0IGsgPSAxMDI0O1xuICBjb25zdCBzaXplcyA9IFsnQnl0ZXMnLCAnS2lCJywgJ01pQicsICdHaUInLCAnVGlCJywgJ1BpQicsICdFaUInLCAnWmlCJywgJ1lpQiddO1xuXG4gIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGspKTtcblxuICByZXR1cm4gYCR7cGFyc2VGbG9hdCgoYnl0ZXMgLyBNYXRoLnBvdyhrLCBpKSkudG9GaXhlZChkZWNpbWFscykpfSAke3NpemVzW2ldfWA7XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Validate SNS topic arn
3
+ */
4
+ export declare function validateSnsTopicArn(arn: string): boolean;
5
+ /**
6
+ * Does a Stack Event have an error message based on the status.
7
+ */
8
+ export declare function stackEventHasErrorMessage(status: string): boolean;
9
+ /**
10
+ * Calculate the maximal length of all resource types for a given template.
11
+ *
12
+ * @param template the stack template to analyze
13
+ * @param startWidth the initial width to start with. Defaults to the length of 'AWS::CloudFormation::Stack'.
14
+ * @returns the determined width
15
+ */
16
+ export declare function maxResourceTypeLength(template: any, startWidth?: number): number;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateSnsTopicArn = validateSnsTopicArn;
4
+ exports.stackEventHasErrorMessage = stackEventHasErrorMessage;
5
+ exports.maxResourceTypeLength = maxResourceTypeLength;
6
+ /**
7
+ * Validate SNS topic arn
8
+ */
9
+ function validateSnsTopicArn(arn) {
10
+ return /^arn:aws:sns:[a-z0-9\-]+:[0-9]+:[a-z0-9\-\_]+$/i.test(arn);
11
+ }
12
+ /**
13
+ * Does a Stack Event have an error message based on the status.
14
+ */
15
+ function stackEventHasErrorMessage(status) {
16
+ return status.endsWith('_FAILED') || status === 'ROLLBACK_IN_PROGRESS' || status === 'UPDATE_ROLLBACK_IN_PROGRESS';
17
+ }
18
+ /**
19
+ * Calculate the maximal length of all resource types for a given template.
20
+ *
21
+ * @param template the stack template to analyze
22
+ * @param startWidth the initial width to start with. Defaults to the length of 'AWS::CloudFormation::Stack'.
23
+ * @returns the determined width
24
+ */
25
+ function maxResourceTypeLength(template, startWidth = 'AWS::CloudFormation::Stack'.length) {
26
+ const resources = (template && template.Resources) || {};
27
+ let maxWidth = startWidth;
28
+ for (const id of Object.keys(resources)) {
29
+ const type = resources[id].Type || '';
30
+ if (type.length > maxWidth) {
31
+ maxWidth = type.length;
32
+ }
33
+ }
34
+ return maxWidth;
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmb3JtYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZGZvcm1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLGtEQUVDO0FBS0QsOERBRUM7QUFTRCxzREFVQztBQS9CRDs7R0FFRztBQUNILFNBQWdCLG1CQUFtQixDQUFDLEdBQVc7SUFDN0MsT0FBTyxpREFBaUQsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IseUJBQXlCLENBQUMsTUFBYztJQUN0RCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxLQUFLLHNCQUFzQixJQUFJLE1BQU0sS0FBSyw2QkFBNkIsQ0FBQztBQUNySCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsUUFBYSxFQUFFLFVBQVUsR0FBRyw0QkFBNEIsQ0FBQyxNQUFNO0lBQ25HLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekQsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzFCLEtBQUssTUFBTSxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLEVBQUUsQ0FBQztZQUMzQixRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZhbGlkYXRlIFNOUyB0b3BpYyBhcm5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU25zVG9waWNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIC9eYXJuOmF3czpzbnM6W2EtejAtOVxcLV0rOlswLTldKzpbYS16MC05XFwtXFxfXSskL2kudGVzdChhcm4pO1xufVxuXG4vKipcbiAqIERvZXMgYSBTdGFjayBFdmVudCBoYXZlIGFuIGVycm9yIG1lc3NhZ2UgYmFzZWQgb24gdGhlIHN0YXR1cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YWNrRXZlbnRIYXNFcnJvck1lc3NhZ2Uoc3RhdHVzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHN0YXR1cy5lbmRzV2l0aCgnX0ZBSUxFRCcpIHx8IHN0YXR1cyA9PT0gJ1JPTExCQUNLX0lOX1BST0dSRVNTJyB8fCBzdGF0dXMgPT09ICdVUERBVEVfUk9MTEJBQ0tfSU5fUFJPR1JFU1MnO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgbWF4aW1hbCBsZW5ndGggb2YgYWxsIHJlc291cmNlIHR5cGVzIGZvciBhIGdpdmVuIHRlbXBsYXRlLlxuICpcbiAqIEBwYXJhbSB0ZW1wbGF0ZSB0aGUgc3RhY2sgdGVtcGxhdGUgdG8gYW5hbHl6ZVxuICogQHBhcmFtIHN0YXJ0V2lkdGggdGhlIGluaXRpYWwgd2lkdGggdG8gc3RhcnQgd2l0aC4gRGVmYXVsdHMgdG8gdGhlIGxlbmd0aCBvZiAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2snLlxuICogQHJldHVybnMgdGhlIGRldGVybWluZWQgd2lkdGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1heFJlc291cmNlVHlwZUxlbmd0aCh0ZW1wbGF0ZTogYW55LCBzdGFydFdpZHRoID0gJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrJy5sZW5ndGgpOiBudW1iZXIge1xuICBjb25zdCByZXNvdXJjZXMgPSAodGVtcGxhdGUgJiYgdGVtcGxhdGUuUmVzb3VyY2VzKSB8fCB7fTtcbiAgbGV0IG1heFdpZHRoID0gc3RhcnRXaWR0aDtcbiAgZm9yIChjb25zdCBpZCBvZiBPYmplY3Qua2V5cyhyZXNvdXJjZXMpKSB7XG4gICAgY29uc3QgdHlwZSA9IHJlc291cmNlc1tpZF0uVHlwZSB8fCAnJztcbiAgICBpZiAodHlwZS5sZW5ndGggPiBtYXhXaWR0aCkge1xuICAgICAgbWF4V2lkdGggPSB0eXBlLmxlbmd0aDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1heFdpZHRoO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ export declare function contentHash(data: string | Buffer | DataView): string;
2
+ /**
3
+ * A stably sorted hash of an arbitrary JS object
4
+ */
5
+ export declare function contentHashAny(value: unknown): string;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contentHash = contentHash;
4
+ exports.contentHashAny = contentHashAny;
5
+ const crypto = require("crypto");
6
+ function contentHash(data) {
7
+ return crypto.createHash('sha256').update(data).digest('hex');
8
+ }
9
+ /**
10
+ * A stably sorted hash of an arbitrary JS object
11
+ */
12
+ function contentHashAny(value) {
13
+ const ret = crypto.createHash('sha256');
14
+ recurse(value);
15
+ return ret.digest('hex');
16
+ function recurse(x) {
17
+ if (typeof x === 'string') {
18
+ ret.update(x);
19
+ return;
20
+ }
21
+ if (Array.isArray(x)) {
22
+ ret.update('[');
23
+ for (const e of x) {
24
+ recurse(e);
25
+ ret.update('||');
26
+ }
27
+ ret.update(']');
28
+ return;
29
+ }
30
+ if (x && typeof x === 'object') {
31
+ ret.update('{');
32
+ for (const key of Object.keys(x).sort()) {
33
+ ret.update(key);
34
+ ret.update(':');
35
+ recurse(x[key]);
36
+ }
37
+ ret.update('}');
38
+ return;
39
+ }
40
+ ret.update(`${x}${typeof x}`); // typeof to make sure hash('123') !== hash(123)
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1oYXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29udGVudC1oYXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsa0NBRUM7QUFLRCx3Q0FrQ0M7QUEzQ0QsaUNBQWlDO0FBRWpDLFNBQWdCLFdBQVcsQ0FBQyxJQUFnQztJQUMxRCxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQUMsS0FBYztJQUMzQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV6QixTQUFTLE9BQU8sQ0FBQyxDQUFVO1FBQ3pCLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNkLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQixLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNsQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBRSxDQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzQixDQUFDO1lBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0RBQWdEO0lBQ2pGLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50SGFzaChkYXRhOiBzdHJpbmcgfCBCdWZmZXIgfCBEYXRhVmlldykge1xuICByZXR1cm4gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShkYXRhKS5kaWdlc3QoJ2hleCcpO1xufVxuXG4vKipcbiAqIEEgc3RhYmx5IHNvcnRlZCBoYXNoIG9mIGFuIGFyYml0cmFyeSBKUyBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRIYXNoQW55KHZhbHVlOiB1bmtub3duKSB7XG4gIGNvbnN0IHJldCA9IGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKTtcbiAgcmVjdXJzZSh2YWx1ZSk7XG4gIHJldHVybiByZXQuZGlnZXN0KCdoZXgnKTtcblxuICBmdW5jdGlvbiByZWN1cnNlKHg6IHVua25vd24pIHtcbiAgICBpZiAodHlwZW9mIHggPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXQudXBkYXRlKHgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHgpKSB7XG4gICAgICByZXQudXBkYXRlKCdbJyk7XG4gICAgICBmb3IgKGNvbnN0IGUgb2YgeCkge1xuICAgICAgICByZWN1cnNlKGUpO1xuICAgICAgICByZXQudXBkYXRlKCd8fCcpO1xuICAgICAgfVxuICAgICAgcmV0LnVwZGF0ZSgnXScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh4ICYmIHR5cGVvZiB4ID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0LnVwZGF0ZSgneycpO1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoeCkuc29ydCgpKSB7XG4gICAgICAgIHJldC51cGRhdGUoa2V5KTtcbiAgICAgICAgcmV0LnVwZGF0ZSgnOicpO1xuICAgICAgICByZWN1cnNlKCh4IGFzIGFueSlba2V5XSk7XG4gICAgICB9XG4gICAgICByZXQudXBkYXRlKCd9Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0LnVwZGF0ZShgJHt4fSR7dHlwZW9mIHh9YCk7IC8vIHR5cGVvZiB0byBtYWtlIHN1cmUgaGFzaCgnMTIzJykgIT09IGhhc2goMTIzKVxuICB9XG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Return a location that will be used as the CDK home directory.
3
+ * Currently the only thing that is placed here is the cache.
4
+ *
5
+ * First try to use the users home directory (i.e. /home/someuser/),
6
+ * but if that directory does not exist for some reason create a tmp directory.
7
+ *
8
+ * Typically it wouldn't make sense to create a one time use tmp directory for
9
+ * the purpose of creating a cache, but since this only applies to users that do
10
+ * not have a home directory (some CI systems?) this should be fine.
11
+ */
12
+ export declare function cdkHomeDir(): string;
13
+ export declare function cdkCacheDir(): string;
14
+ /**
15
+ * From the start location, find the directory that contains the bundled package's package.json
16
+ *
17
+ * You must assume the caller of this function will be bundled and the package root dir
18
+ * is not going to be the same as the package the caller currently lives in.
19
+ */
20
+ export declare function bundledPackageRootDir(start: string): string;
21
+ export declare function bundledPackageRootDir(start: string, fail: true): string;
22
+ export declare function bundledPackageRootDir(start: string, fail: false): string | undefined;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cdkHomeDir = cdkHomeDir;
4
+ exports.cdkCacheDir = cdkCacheDir;
5
+ exports.bundledPackageRootDir = bundledPackageRootDir;
6
+ const fs = require("fs");
7
+ const os = require("os");
8
+ const path = require("path");
9
+ const toolkit_error_1 = require("../api/toolkit-error");
10
+ /**
11
+ * Return a location that will be used as the CDK home directory.
12
+ * Currently the only thing that is placed here is the cache.
13
+ *
14
+ * First try to use the users home directory (i.e. /home/someuser/),
15
+ * but if that directory does not exist for some reason create a tmp directory.
16
+ *
17
+ * Typically it wouldn't make sense to create a one time use tmp directory for
18
+ * the purpose of creating a cache, but since this only applies to users that do
19
+ * not have a home directory (some CI systems?) this should be fine.
20
+ */
21
+ function cdkHomeDir() {
22
+ const tmpDir = fs.realpathSync(os.tmpdir());
23
+ let home;
24
+ try {
25
+ let userInfoHome = os.userInfo().homedir;
26
+ // Node returns this if the user doesn't have a home directory
27
+ /* c8 ignore start */ // will not happen in normal setups
28
+ if (userInfoHome == '/var/empty') {
29
+ userInfoHome = undefined;
30
+ }
31
+ /* c8 ignore stop */
32
+ home = path.join((userInfoHome ?? os.homedir()).trim(), '.cdk');
33
+ }
34
+ catch {
35
+ }
36
+ return process.env.CDK_HOME
37
+ ? path.resolve(process.env.CDK_HOME)
38
+ : home || fs.mkdtempSync(path.join(tmpDir, '.cdk')).trim();
39
+ }
40
+ function cdkCacheDir() {
41
+ return path.join(cdkHomeDir(), 'cache');
42
+ }
43
+ function bundledPackageRootDir(start, fail) {
44
+ function _rootDir(dirname) {
45
+ const manifestPath = path.join(dirname, 'package.json');
46
+ if (fs.existsSync(manifestPath)) {
47
+ return dirname;
48
+ }
49
+ if (path.dirname(dirname) === dirname) {
50
+ if (fail ?? true) {
51
+ throw new toolkit_error_1.ToolkitError('Unable to find package manifest');
52
+ }
53
+ return undefined;
54
+ }
55
+ return _rootDir(path.dirname(dirname));
56
+ }
57
+ return _rootDir(start);
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0b3JpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkaXJlY3Rvcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdCQSxnQ0FpQkM7QUFFRCxrQ0FFQztBQVdELHNEQWdCQztBQWhFRCx5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3Qix3REFBb0Q7QUFFcEQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLFVBQVU7SUFDeEIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1QyxJQUFJLElBQUksQ0FBQztJQUNULElBQUksQ0FBQztRQUNILElBQUksWUFBWSxHQUF1QixFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQzdELDhEQUE4RDtRQUM5RCxxQkFBcUIsQ0FBQyxtQ0FBbUM7UUFDekQsSUFBSSxZQUFZLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMzQixDQUFDO1FBQ0Qsb0JBQW9CO1FBQ3BCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFBQyxNQUFNLENBQUM7SUFDVCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVE7UUFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDcEMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDL0QsQ0FBQztBQUVELFNBQWdCLFdBQVc7SUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFXRCxTQUFnQixxQkFBcUIsQ0FBQyxLQUFhLEVBQUUsSUFBYztJQUNqRSxTQUFTLFFBQVEsQ0FBQyxPQUFlO1FBQy9CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdEMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sSUFBSSw0QkFBWSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7WUFDNUQsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vYXBpL3Rvb2xraXQtZXJyb3InO1xuXG4vKipcbiAqIFJldHVybiBhIGxvY2F0aW9uIHRoYXQgd2lsbCBiZSB1c2VkIGFzIHRoZSBDREsgaG9tZSBkaXJlY3RvcnkuXG4gKiBDdXJyZW50bHkgdGhlIG9ubHkgdGhpbmcgdGhhdCBpcyBwbGFjZWQgaGVyZSBpcyB0aGUgY2FjaGUuXG4gKlxuICogRmlyc3QgdHJ5IHRvIHVzZSB0aGUgdXNlcnMgaG9tZSBkaXJlY3RvcnkgKGkuZS4gL2hvbWUvc29tZXVzZXIvKSxcbiAqIGJ1dCBpZiB0aGF0IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCBmb3Igc29tZSByZWFzb24gY3JlYXRlIGEgdG1wIGRpcmVjdG9yeS5cbiAqXG4gKiBUeXBpY2FsbHkgaXQgd291bGRuJ3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgYSBvbmUgdGltZSB1c2UgdG1wIGRpcmVjdG9yeSBmb3JcbiAqIHRoZSBwdXJwb3NlIG9mIGNyZWF0aW5nIGEgY2FjaGUsIGJ1dCBzaW5jZSB0aGlzIG9ubHkgYXBwbGllcyB0byB1c2VycyB0aGF0IGRvXG4gKiBub3QgaGF2ZSBhIGhvbWUgZGlyZWN0b3J5IChzb21lIENJIHN5c3RlbXM/KSB0aGlzIHNob3VsZCBiZSBmaW5lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2RrSG9tZURpcigpIHtcbiAgY29uc3QgdG1wRGlyID0gZnMucmVhbHBhdGhTeW5jKG9zLnRtcGRpcigpKTtcbiAgbGV0IGhvbWU7XG4gIHRyeSB7XG4gICAgbGV0IHVzZXJJbmZvSG9tZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gb3MudXNlckluZm8oKS5ob21lZGlyO1xuICAgIC8vIE5vZGUgcmV0dXJucyB0aGlzIGlmIHRoZSB1c2VyIGRvZXNuJ3QgaGF2ZSBhIGhvbWUgZGlyZWN0b3J5XG4gICAgLyogYzggaWdub3JlIHN0YXJ0ICovIC8vIHdpbGwgbm90IGhhcHBlbiBpbiBub3JtYWwgc2V0dXBzXG4gICAgaWYgKHVzZXJJbmZvSG9tZSA9PSAnL3Zhci9lbXB0eScpIHtcbiAgICAgIHVzZXJJbmZvSG9tZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICBob21lID0gcGF0aC5qb2luKCh1c2VySW5mb0hvbWUgPz8gb3MuaG9tZWRpcigpKS50cmltKCksICcuY2RrJyk7XG4gIH0gY2F0Y2gge1xuICB9XG4gIHJldHVybiBwcm9jZXNzLmVudi5DREtfSE9NRVxuICAgID8gcGF0aC5yZXNvbHZlKHByb2Nlc3MuZW52LkNES19IT01FKVxuICAgIDogaG9tZSB8fCBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4odG1wRGlyLCAnLmNkaycpKS50cmltKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjZGtDYWNoZURpcigpIHtcbiAgcmV0dXJuIHBhdGguam9pbihjZGtIb21lRGlyKCksICdjYWNoZScpO1xufVxuXG4vKipcbiAqIEZyb20gdGhlIHN0YXJ0IGxvY2F0aW9uLCBmaW5kIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0aGUgYnVuZGxlZCBwYWNrYWdlJ3MgcGFja2FnZS5qc29uXG4gKlxuICogWW91IG11c3QgYXNzdW1lIHRoZSBjYWxsZXIgb2YgdGhpcyBmdW5jdGlvbiB3aWxsIGJlIGJ1bmRsZWQgYW5kIHRoZSBwYWNrYWdlIHJvb3QgZGlyXG4gKiBpcyBub3QgZ29pbmcgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHBhY2thZ2UgdGhlIGNhbGxlciBjdXJyZW50bHkgbGl2ZXMgaW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidW5kbGVkUGFja2FnZVJvb3REaXIoc3RhcnQ6IHN0cmluZyk6IHN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBidW5kbGVkUGFja2FnZVJvb3REaXIoc3RhcnQ6IHN0cmluZywgZmFpbDogdHJ1ZSk6IHN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBidW5kbGVkUGFja2FnZVJvb3REaXIoc3RhcnQ6IHN0cmluZywgZmFpbDogZmFsc2UpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5leHBvcnQgZnVuY3Rpb24gYnVuZGxlZFBhY2thZ2VSb290RGlyKHN0YXJ0OiBzdHJpbmcsIGZhaWw/OiBib29sZWFuKSB7XG4gIGZ1bmN0aW9uIF9yb290RGlyKGRpcm5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWFuaWZlc3RQYXRoID0gcGF0aC5qb2luKGRpcm5hbWUsICdwYWNrYWdlLmpzb24nKTtcbiAgICBpZiAoZnMuZXhpc3RzU3luYyhtYW5pZmVzdFBhdGgpKSB7XG4gICAgICByZXR1cm4gZGlybmFtZTtcbiAgICB9XG4gICAgaWYgKHBhdGguZGlybmFtZShkaXJuYW1lKSA9PT0gZGlybmFtZSkge1xuICAgICAgaWYgKGZhaWwgPz8gdHJ1ZSkge1xuICAgICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKCdVbmFibGUgdG8gZmluZCBwYWNrYWdlIG1hbmlmZXN0Jyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gX3Jvb3REaXIocGF0aC5kaXJuYW1lKGRpcm5hbWUpKTtcbiAgfVxuXG4gIHJldHVybiBfcm9vdERpcihzdGFydCk7XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Takes in an error and returns a correctly formatted string of its error message.
3
+ * If it is an AggregateError, it will return a string with all the inner errors
4
+ * formatted and separated by a newline.
5
+ *
6
+ * @param error The error to format
7
+ * @returns A string with the error message(s) of the error
8
+ */
9
+ export declare function formatErrorMessage(error: any): string;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatErrorMessage = formatErrorMessage;
4
+ /**
5
+ * Takes in an error and returns a correctly formatted string of its error message.
6
+ * If it is an AggregateError, it will return a string with all the inner errors
7
+ * formatted and separated by a newline.
8
+ *
9
+ * @param error The error to format
10
+ * @returns A string with the error message(s) of the error
11
+ */
12
+ function formatErrorMessage(error) {
13
+ if (error && Array.isArray(error.errors)) {
14
+ const innerMessages = error.errors
15
+ .map((innerError) => (innerError?.message || innerError?.toString()))
16
+ .join('\n');
17
+ return `AggregateError: ${innerMessages}`;
18
+ }
19
+ // Fallback for regular Error or other types
20
+ return error?.message || error?.toString() || 'Unknown error';
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZm9ybWF0LWVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsZ0RBVUM7QUFsQkQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLEtBQVU7SUFDM0MsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTTthQUMvQixHQUFHLENBQUMsQ0FBQyxVQUFpRCxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLElBQUksVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDM0csSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2QsT0FBTyxtQkFBbUIsYUFBYSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxPQUFPLEtBQUssRUFBRSxPQUFPLElBQUksS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQztBQUNoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUYWtlcyBpbiBhbiBlcnJvciBhbmQgcmV0dXJucyBhIGNvcnJlY3RseSBmb3JtYXR0ZWQgc3RyaW5nIG9mIGl0cyBlcnJvciBtZXNzYWdlLlxuICogSWYgaXQgaXMgYW4gQWdncmVnYXRlRXJyb3IsIGl0IHdpbGwgcmV0dXJuIGEgc3RyaW5nIHdpdGggYWxsIHRoZSBpbm5lciBlcnJvcnNcbiAqIGZvcm1hdHRlZCBhbmQgc2VwYXJhdGVkIGJ5IGEgbmV3bGluZS5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgVGhlIGVycm9yIHRvIGZvcm1hdFxuICogQHJldHVybnMgQSBzdHJpbmcgd2l0aCB0aGUgZXJyb3IgbWVzc2FnZShzKSBvZiB0aGUgZXJyb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yTWVzc2FnZShlcnJvcjogYW55KTogc3RyaW5nIHtcbiAgaWYgKGVycm9yICYmIEFycmF5LmlzQXJyYXkoZXJyb3IuZXJyb3JzKSkge1xuICAgIGNvbnN0IGlubmVyTWVzc2FnZXMgPSBlcnJvci5lcnJvcnNcbiAgICAgIC5tYXAoKGlubmVyRXJyb3I6IHsgbWVzc2FnZTogYW55OyB0b1N0cmluZzogKCkgPT4gYW55IH0pID0+IChpbm5lckVycm9yPy5tZXNzYWdlIHx8IGlubmVyRXJyb3I/LnRvU3RyaW5nKCkpKVxuICAgICAgLmpvaW4oJ1xcbicpO1xuICAgIHJldHVybiBgQWdncmVnYXRlRXJyb3I6ICR7aW5uZXJNZXNzYWdlc31gO1xuICB9XG5cbiAgLy8gRmFsbGJhY2sgZm9yIHJlZ3VsYXIgRXJyb3Igb3Igb3RoZXIgdHlwZXNcbiAgcmV0dXJuIGVycm9yPy5tZXNzYWdlIHx8IGVycm9yPy50b1N0cmluZygpIHx8ICdVbmtub3duIGVycm9yJztcbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ export * from './archive';
2
+ export * from './arrays';
3
+ export * from './bool';
4
+ export * from './bytes';
5
+ export * from './cloudformation';
6
+ export * from './content-hash';
7
+ export * from './directories';
8
+ export * from './format-error';
9
+ export * from './json';
10
+ export * from './objects';
11
+ export * from './parallel';
12
+ export * from './package-info';
13
+ export * from './serialize';
14
+ export * from './string-manipulation';
15
+ export * from './type-brands';
16
+ export * from './types';
17
+ export * from './version-range';
18
+ export * from './yaml-cfn';
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./archive"), exports);
18
+ __exportStar(require("./arrays"), exports);
19
+ __exportStar(require("./bool"), exports);
20
+ __exportStar(require("./bytes"), exports);
21
+ __exportStar(require("./cloudformation"), exports);
22
+ __exportStar(require("./content-hash"), exports);
23
+ __exportStar(require("./directories"), exports);
24
+ __exportStar(require("./format-error"), exports);
25
+ __exportStar(require("./json"), exports);
26
+ __exportStar(require("./objects"), exports);
27
+ __exportStar(require("./parallel"), exports);
28
+ __exportStar(require("./package-info"), exports);
29
+ __exportStar(require("./serialize"), exports);
30
+ __exportStar(require("./string-manipulation"), exports);
31
+ __exportStar(require("./type-brands"), exports);
32
+ __exportStar(require("./types"), exports);
33
+ __exportStar(require("./version-range"), exports);
34
+ __exportStar(require("./yaml-cfn"), exports);
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQTBCO0FBQzFCLDJDQUF5QjtBQUN6Qix5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLG1EQUFpQztBQUNqQyxpREFBK0I7QUFDL0IsZ0RBQThCO0FBQzlCLGlEQUErQjtBQUMvQix5Q0FBdUI7QUFDdkIsNENBQTBCO0FBQzFCLDZDQUEyQjtBQUMzQixpREFBK0I7QUFDL0IsOENBQTRCO0FBQzVCLHdEQUFzQztBQUN0QyxnREFBOEI7QUFDOUIsMENBQXdCO0FBQ3hCLGtEQUFnQztBQUNoQyw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FyY2hpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hcnJheXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ib29sJztcbmV4cG9ydCAqIGZyb20gJy4vYnl0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jbG91ZGZvcm1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRlbnQtaGFzaCc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdG9yaWVzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LWVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vanNvbic7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJhbGxlbCc7XG5leHBvcnQgKiBmcm9tICcuL3BhY2thZ2UtaW5mbyc7XG5leHBvcnQgKiBmcm9tICcuL3NlcmlhbGl6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmluZy1tYW5pcHVsYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlLWJyYW5kcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdmVyc2lvbi1yYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL3lhbWwtY2ZuJztcbiJdfQ==