terraconstructs 0.0.24 → 0.1.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 (422) hide show
  1. package/.jsii +83665 -54911
  2. package/.mise.toml +1 -1
  3. package/.nvmrc +1 -1
  4. package/LICENSE +202 -674
  5. package/go.mod +9 -7
  6. package/go.sum +18 -14
  7. package/lib/asset-manager.d.ts +23 -0
  8. package/lib/asset-manager.js +3 -0
  9. package/lib/asset-staging.d.ts +178 -0
  10. package/lib/asset-staging.js +589 -0
  11. package/lib/assets.d.ts +359 -0
  12. package/lib/assets.js +55 -0
  13. package/lib/aws/arn.js +16 -15
  14. package/lib/aws/aws-asset-manager.d.ts +91 -0
  15. package/lib/aws/aws-asset-manager.js +244 -0
  16. package/lib/aws/aws-construct.js +1 -1
  17. package/lib/aws/aws-stack.d.ts +37 -0
  18. package/lib/aws/aws-stack.js +30 -9
  19. package/lib/aws/aws-tags.js +2 -2
  20. package/lib/aws/cloudwatch/actions/appscaling.d.ts +15 -0
  21. package/lib/aws/cloudwatch/actions/appscaling.js +24 -0
  22. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  23. package/lib/aws/cloudwatch/actions/index.d.ts +3 -0
  24. package/lib/aws/cloudwatch/actions/index.js +4 -4
  25. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  26. package/lib/aws/cloudwatch/actions/sns.d.ts +14 -0
  27. package/lib/aws/cloudwatch/actions/sns.js +23 -0
  28. package/lib/aws/cloudwatch/actions/ssm.d.ts +72 -0
  29. package/lib/aws/cloudwatch/actions/ssm.js +104 -0
  30. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  31. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  32. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  33. package/lib/aws/cloudwatch/alarm.js +1 -1
  34. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  35. package/lib/aws/cloudwatch/dashboard.js +1 -1
  36. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  37. package/lib/aws/cloudwatch/graph.js +8 -8
  38. package/lib/aws/cloudwatch/layout.js +3 -3
  39. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  40. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  41. package/lib/aws/cloudwatch/log-group.js +1 -1
  42. package/lib/aws/cloudwatch/log-query.js +1 -1
  43. package/lib/aws/cloudwatch/log-stream.js +1 -1
  44. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  45. package/lib/aws/cloudwatch/metric.js +2 -2
  46. package/lib/aws/cloudwatch/pattern.js +3 -3
  47. package/lib/aws/cloudwatch/policy.js +1 -1
  48. package/lib/aws/cloudwatch/query-definition.js +2 -2
  49. package/lib/aws/cloudwatch/stats.js +1 -1
  50. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  51. package/lib/aws/cloudwatch/text.js +1 -1
  52. package/lib/aws/cloudwatch/variable.js +3 -3
  53. package/lib/aws/cloudwatch/widget.js +1 -1
  54. package/lib/aws/compute/access-log.d.ts +478 -0
  55. package/lib/aws/compute/access-log.js +649 -0
  56. package/lib/aws/compute/activity.js +1 -1
  57. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  58. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  59. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  60. package/lib/aws/compute/alb/application-listener.js +1 -1
  61. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  62. package/lib/aws/compute/alb/application-target-group.js +1 -1
  63. package/lib/aws/compute/alb/conditions.js +1 -1
  64. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  65. package/lib/aws/compute/alb/trust-store.js +1 -1
  66. package/lib/aws/compute/api-definition.d.ts +106 -0
  67. package/lib/aws/compute/api-definition.js +200 -0
  68. package/lib/aws/compute/api-key.d.ts +184 -0
  69. package/lib/aws/compute/api-key.js +197 -0
  70. package/lib/aws/compute/apigateway-canned-metrics.generated.d.ts +169 -0
  71. package/lib/aws/compute/apigateway-canned-metrics.generated.js +63 -0
  72. package/lib/aws/compute/apigateway-util.d.ts +31 -0
  73. package/lib/aws/compute/apigateway-util.js +152 -0
  74. package/lib/aws/compute/architecture.js +1 -1
  75. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  76. package/lib/aws/compute/authorizer.d.ts +35 -0
  77. package/lib/aws/compute/authorizer.js +28 -0
  78. package/lib/aws/compute/authorizers/identity-source.d.ts +37 -0
  79. package/lib/aws/compute/authorizers/identity-source.js +61 -0
  80. package/lib/aws/compute/authorizers/index.d.ts +2 -0
  81. package/lib/aws/compute/authorizers/index.js +20 -0
  82. package/lib/aws/compute/authorizers/lambda.d.ts +140 -0
  83. package/lib/aws/compute/authorizers/lambda.js +208 -0
  84. package/lib/aws/compute/base-path-mapping.d.ts +49 -0
  85. package/lib/aws/compute/base-path-mapping.js +52 -0
  86. package/lib/aws/compute/base-scalable-attribute.js +3 -3
  87. package/lib/aws/compute/bastion-host.js +1 -1
  88. package/lib/aws/compute/chain.js +1 -1
  89. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  90. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  91. package/lib/aws/compute/client-vpn-route.js +2 -2
  92. package/lib/aws/compute/code.d.ts +415 -0
  93. package/lib/aws/compute/code.js +424 -0
  94. package/lib/aws/compute/condition.js +1 -1
  95. package/lib/aws/compute/connections.js +1 -1
  96. package/lib/aws/compute/cors.d.ts +102 -0
  97. package/lib/aws/compute/cors.js +33 -0
  98. package/lib/aws/compute/deployment.d.ts +83 -0
  99. package/lib/aws/compute/deployment.js +158 -0
  100. package/lib/aws/compute/domain-name.d.ts +153 -0
  101. package/lib/aws/compute/domain-name.js +158 -0
  102. package/lib/aws/compute/event-invoke-config.d.ts +2 -2
  103. package/lib/aws/compute/event-invoke-config.js +4 -4
  104. package/lib/aws/compute/event-source-filter.js +2 -2
  105. package/lib/aws/compute/event-source-mapping.d.ts +2 -2
  106. package/lib/aws/compute/event-source-mapping.js +9 -7
  107. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  108. package/lib/aws/compute/event-sources/s3.js +1 -1
  109. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  110. package/lib/aws/compute/event-sources/sqs.js +3 -2
  111. package/lib/aws/compute/fields.js +4 -4
  112. package/lib/aws/compute/function-alias.d.ts +1 -0
  113. package/lib/aws/compute/function-alias.js +8 -2
  114. package/lib/aws/compute/function-base.d.ts +15 -0
  115. package/lib/aws/compute/function-base.js +4 -4
  116. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  117. package/lib/aws/compute/function-destinations/function.js +1 -1
  118. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  119. package/lib/aws/compute/function-nodejs/bundling.d.ts +75 -0
  120. package/lib/aws/compute/function-nodejs/bundling.js +405 -0
  121. package/lib/aws/compute/function-nodejs/function.d.ts +99 -0
  122. package/lib/aws/compute/function-nodejs/function.js +175 -0
  123. package/lib/aws/compute/function-nodejs/index.d.ts +2 -0
  124. package/lib/aws/compute/function-nodejs/index.js +19 -0
  125. package/lib/aws/compute/function-nodejs/package-installation.d.ts +8 -0
  126. package/lib/aws/compute/function-nodejs/package-installation.js +36 -0
  127. package/lib/aws/compute/function-nodejs/package-manager.d.ts +33 -0
  128. package/lib/aws/compute/function-nodejs/package-manager.js +99 -0
  129. package/lib/aws/compute/function-nodejs/types.d.ts +410 -0
  130. package/lib/aws/compute/function-nodejs/types.js +81 -0
  131. package/lib/aws/compute/function-nodejs/util.d.ts +60 -0
  132. package/lib/aws/compute/function-nodejs/util.js +202 -0
  133. package/lib/aws/compute/function-url.d.ts +2 -2
  134. package/lib/aws/compute/function-url.js +4 -4
  135. package/lib/aws/compute/function.d.ts +34 -4
  136. package/lib/aws/compute/function.js +91 -17
  137. package/lib/aws/compute/gateway-response.d.ts +157 -0
  138. package/lib/aws/compute/gateway-response.js +156 -0
  139. package/lib/aws/compute/handler.d.ts +10 -0
  140. package/lib/aws/compute/handler.js +20 -0
  141. package/lib/aws/compute/index.d.ts +27 -0
  142. package/lib/aws/compute/index.js +29 -1
  143. package/lib/aws/compute/instance-types.js +1 -1
  144. package/lib/aws/compute/instance.js +1 -1
  145. package/lib/aws/compute/integration.d.ts +311 -0
  146. package/lib/aws/compute/integration.js +165 -0
  147. package/lib/aws/compute/integrations/aws.d.ts +72 -0
  148. package/lib/aws/compute/integrations/aws.js +55 -0
  149. package/lib/aws/compute/integrations/http.d.ts +37 -0
  150. package/lib/aws/compute/integrations/http.js +35 -0
  151. package/lib/aws/compute/integrations/index.d.ts +6 -0
  152. package/lib/aws/compute/integrations/index.js +24 -0
  153. package/lib/aws/compute/integrations/lambda.d.ts +40 -0
  154. package/lib/aws/compute/integrations/lambda.js +73 -0
  155. package/lib/aws/compute/integrations/mock.d.ts +16 -0
  156. package/lib/aws/compute/integrations/mock.js +30 -0
  157. package/lib/aws/compute/integrations/request-context.d.ts +144 -0
  158. package/lib/aws/compute/integrations/request-context.js +3 -0
  159. package/lib/aws/compute/integrations/stepfunctions.d.ts +102 -0
  160. package/lib/aws/compute/integrations/stepfunctions.js +268 -0
  161. package/lib/aws/compute/ip-addresses.js +2 -2
  162. package/lib/aws/compute/ipam.js +1 -1
  163. package/lib/aws/compute/json-schema.d.ts +75 -0
  164. package/lib/aws/compute/json-schema.js +23 -0
  165. package/lib/aws/compute/key-pair.js +1 -1
  166. package/lib/aws/compute/lambda-api.d.ts +46 -0
  167. package/lib/aws/compute/lambda-api.js +64 -0
  168. package/lib/aws/compute/launch-template.js +2 -2
  169. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  170. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  171. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  172. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  173. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  174. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  175. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  176. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  177. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  178. package/lib/aws/compute/load-balancer.js +3 -3
  179. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  180. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  181. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  182. package/lib/aws/compute/machine-image/common.js +1 -1
  183. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  184. package/lib/aws/compute/method.d.ts +219 -0
  185. package/lib/aws/compute/method.js +396 -0
  186. package/lib/aws/compute/methodresponse.d.ts +28 -0
  187. package/lib/aws/compute/methodresponse.js +3 -0
  188. package/lib/aws/compute/model.d.ts +143 -0
  189. package/lib/aws/compute/model.js +141 -0
  190. package/lib/aws/compute/nat.js +5 -5
  191. package/lib/aws/compute/network-acl-types.js +2 -2
  192. package/lib/aws/compute/network-acl.js +3 -3
  193. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  194. package/lib/aws/compute/nlb/network-listener.js +1 -1
  195. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  196. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  197. package/lib/aws/compute/peer.js +1 -1
  198. package/lib/aws/compute/placement-group.js +1 -1
  199. package/lib/aws/compute/port.js +1 -1
  200. package/lib/aws/compute/prefix-list.js +1 -1
  201. package/lib/aws/compute/requestvalidator.d.ts +50 -0
  202. package/lib/aws/compute/requestvalidator.js +59 -0
  203. package/lib/aws/compute/resource.d.ts +223 -0
  204. package/lib/aws/compute/resource.js +316 -0
  205. package/lib/aws/compute/restapi.d.ts +510 -0
  206. package/lib/aws/compute/restapi.js +626 -0
  207. package/lib/aws/compute/route.js +8 -8
  208. package/lib/aws/compute/runtime.d.ts +282 -0
  209. package/lib/aws/compute/runtime.js +337 -0
  210. package/lib/aws/compute/scalable-target.js +3 -3
  211. package/lib/aws/compute/schedule.js +3 -3
  212. package/lib/aws/compute/security-group.js +1 -1
  213. package/lib/aws/compute/stage.d.ts +350 -0
  214. package/lib/aws/compute/stage.js +304 -0
  215. package/lib/aws/compute/state-graph.js +1 -1
  216. package/lib/aws/compute/state-machine-fragment.js +1 -1
  217. package/lib/aws/compute/state-machine.js +4 -4
  218. package/lib/aws/compute/states/choice.js +1 -1
  219. package/lib/aws/compute/states/custom-state.js +1 -1
  220. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  221. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  222. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  223. package/lib/aws/compute/states/distributed-map.js +1 -1
  224. package/lib/aws/compute/states/fail.js +1 -1
  225. package/lib/aws/compute/states/map-base.js +1 -1
  226. package/lib/aws/compute/states/map.js +1 -1
  227. package/lib/aws/compute/states/parallel.js +1 -1
  228. package/lib/aws/compute/states/pass.js +2 -2
  229. package/lib/aws/compute/states/state.js +1 -1
  230. package/lib/aws/compute/states/succeed.js +1 -1
  231. package/lib/aws/compute/states/task-base.js +2 -2
  232. package/lib/aws/compute/states/task.js +1 -1
  233. package/lib/aws/compute/states/wait.js +2 -2
  234. package/lib/aws/compute/step-scaling-action.js +3 -3
  235. package/lib/aws/compute/step-scaling-policy.js +1 -1
  236. package/lib/aws/compute/stepfunctions-api.d.ts +103 -0
  237. package/lib/aws/compute/stepfunctions-api.js +39 -0
  238. package/lib/aws/compute/subnet-v2.js +2 -2
  239. package/lib/aws/compute/subnet.js +1 -1
  240. package/lib/aws/compute/target-tracking-scaling-policy.js +3 -3
  241. package/lib/aws/compute/task-credentials.js +1 -1
  242. package/lib/aws/compute/task-input.js +1 -1
  243. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  244. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  245. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  246. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  247. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  248. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  249. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  250. package/lib/aws/compute/types.js +1 -1
  251. package/lib/aws/compute/usage-plan.d.ts +194 -0
  252. package/lib/aws/compute/usage-plan.js +174 -0
  253. package/lib/aws/compute/user-data.js +3 -3
  254. package/lib/aws/compute/volume.js +2 -2
  255. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  256. package/lib/aws/compute/vpc-endpoint.js +6 -6
  257. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  258. package/lib/aws/compute/vpc-link.d.ts +104 -0
  259. package/lib/aws/compute/vpc-link.js +137 -0
  260. package/lib/aws/compute/vpc-v2-base.js +1 -1
  261. package/lib/aws/compute/vpc-v2.js +2 -2
  262. package/lib/aws/compute/vpc.js +4 -4
  263. package/lib/aws/compute/vpn.js +3 -3
  264. package/lib/aws/edge/certificate.js +1 -1
  265. package/lib/aws/edge/distribution.js +3 -3
  266. package/lib/aws/edge/dns-alias-record-targets.js +3 -3
  267. package/lib/aws/edge/dns-record.js +13 -13
  268. package/lib/aws/edge/dns-zone.js +1 -1
  269. package/lib/aws/edge/function.js +2 -2
  270. package/lib/aws/edge/key-value-store.js +4 -4
  271. package/lib/aws/edge/origin.js +3 -3
  272. package/lib/aws/edge/response-headers-policy.js +1 -1
  273. package/lib/aws/encryption/alias.js +1 -1
  274. package/lib/aws/encryption/key.js +1 -1
  275. package/lib/aws/encryption/via-service-principal.js +1 -1
  276. package/lib/aws/iam/grant.js +2 -2
  277. package/lib/aws/iam/group.js +1 -1
  278. package/lib/aws/iam/instance-profile.js +1 -1
  279. package/lib/aws/iam/managed-policy.js +1 -1
  280. package/lib/aws/iam/oidc-provider.js +1 -1
  281. package/lib/aws/iam/policy-document.js +1 -1
  282. package/lib/aws/iam/policy-statement.js +1 -1
  283. package/lib/aws/iam/policy.js +1 -1
  284. package/lib/aws/iam/principals.js +20 -20
  285. package/lib/aws/iam/role.js +1 -1
  286. package/lib/aws/iam/saml-provider.js +2 -2
  287. package/lib/aws/iam/unknown-principal.js +1 -1
  288. package/lib/aws/iam/user.js +5 -5
  289. package/lib/aws/index.d.ts +1 -0
  290. package/lib/aws/index.js +4 -1
  291. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  292. package/lib/aws/network/subnet-group.js +3 -3
  293. package/lib/aws/network/subnet.js +4 -4
  294. package/lib/aws/notify/archive.js +1 -1
  295. package/lib/aws/notify/connection.js +3 -3
  296. package/lib/aws/notify/event-bus.js +3 -3
  297. package/lib/aws/notify/event-pattern.js +1 -1
  298. package/lib/aws/notify/input.js +2 -2
  299. package/lib/aws/notify/kinesis-stream.js +1 -1
  300. package/lib/aws/notify/notification-rule.d.ts +1 -1
  301. package/lib/aws/notify/notification-rule.js +5 -5
  302. package/lib/aws/notify/policy.js +1 -1
  303. package/lib/aws/notify/queue-policy.js +1 -1
  304. package/lib/aws/notify/queue.js +1 -1
  305. package/lib/aws/notify/resource-policy.js +1 -1
  306. package/lib/aws/notify/rule.js +1 -1
  307. package/lib/aws/notify/schedule.js +1 -1
  308. package/lib/aws/notify/subscription-filter.js +1 -1
  309. package/lib/aws/notify/subscription.js +4 -4
  310. package/lib/aws/notify/subscriptions/email.js +1 -1
  311. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  312. package/lib/aws/notify/subscriptions/sms.js +1 -1
  313. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  314. package/lib/aws/notify/subscriptions/url.js +1 -1
  315. package/lib/aws/notify/targets/event-bus.js +1 -1
  316. package/lib/aws/notify/targets/function.js +1 -1
  317. package/lib/aws/notify/targets/log-group.js +2 -2
  318. package/lib/aws/notify/targets/sqs.js +1 -1
  319. package/lib/aws/notify/targets/state-machine.js +1 -1
  320. package/lib/aws/notify/topic-base.js +1 -1
  321. package/lib/aws/notify/topic.js +6 -5
  322. package/lib/aws/partition.d.ts +21 -0
  323. package/lib/aws/partition.js +42 -0
  324. package/lib/aws/storage/assets/image-asset.d.ts +379 -0
  325. package/lib/aws/storage/assets/image-asset.js +247 -0
  326. package/lib/aws/storage/assets/index.d.ts +2 -0
  327. package/lib/aws/storage/assets/index.js +21 -0
  328. package/lib/aws/storage/assets/s3.d.ts +125 -0
  329. package/lib/aws/storage/assets/s3.js +80 -0
  330. package/lib/aws/storage/auth-token.d.ts +25 -0
  331. package/lib/aws/storage/auth-token.js +54 -0
  332. package/lib/aws/storage/billing.js +1 -1
  333. package/lib/aws/storage/bucket-notifications.js +1 -1
  334. package/lib/aws/storage/bucket-policy.js +1 -1
  335. package/lib/aws/storage/bucket-source.d.ts +1 -1
  336. package/lib/aws/storage/bucket-source.js +4 -4
  337. package/lib/aws/storage/bucket.d.ts +14 -6
  338. package/lib/aws/storage/bucket.js +48 -40
  339. package/lib/aws/storage/capacity.js +1 -1
  340. package/lib/aws/storage/ecr-lifecycle.d.ts +88 -0
  341. package/lib/aws/storage/ecr-lifecycle.js +23 -0
  342. package/lib/aws/storage/ecr-repository.d.ts +446 -0
  343. package/lib/aws/storage/ecr-repository.js +685 -0
  344. package/lib/aws/storage/encryption.js +1 -1
  345. package/lib/aws/storage/index.d.ts +5 -0
  346. package/lib/aws/storage/index.js +10 -3
  347. package/lib/aws/storage/location.d.ts +17 -0
  348. package/lib/aws/storage/location.js +4 -0
  349. package/lib/aws/storage/notification-targets/function.js +1 -1
  350. package/lib/aws/storage/notification-targets/queue.js +1 -1
  351. package/lib/aws/storage/origin-access-identity.js +1 -1
  352. package/lib/aws/storage/parameter.js +2 -2
  353. package/lib/aws/storage/table.js +3 -3
  354. package/lib/aws/storage/util.d.ts +8 -20
  355. package/lib/aws/storage/util.js +56 -34
  356. package/lib/aws/util.d.ts +1 -0
  357. package/lib/aws/util.js +6 -1
  358. package/lib/bundling.d.ts +434 -0
  359. package/lib/bundling.js +368 -0
  360. package/lib/construct-base.js +2 -2
  361. package/lib/duration.js +1 -1
  362. package/lib/expiration.js +1 -1
  363. package/lib/fs/copy.d.ts +2 -0
  364. package/lib/fs/copy.js +57 -0
  365. package/lib/fs/fingerprint.d.ts +21 -0
  366. package/lib/fs/fingerprint.js +165 -0
  367. package/lib/fs/ignore.d.ts +107 -0
  368. package/lib/fs/ignore.js +190 -0
  369. package/lib/fs/index.d.ts +47 -0
  370. package/lib/fs/index.js +88 -0
  371. package/lib/fs/options.d.ts +110 -0
  372. package/lib/fs/options.js +60 -0
  373. package/lib/fs/utils.d.ts +11 -0
  374. package/lib/fs/utils.js +34 -0
  375. package/lib/index.d.ts +5 -0
  376. package/lib/index.js +7 -1
  377. package/lib/private/asset-staging.d.ts +83 -0
  378. package/lib/private/asset-staging.js +205 -0
  379. package/lib/private/cache.d.ts +17 -0
  380. package/lib/private/cache.js +35 -0
  381. package/lib/private/jsii-deprecated.d.ts +2 -0
  382. package/lib/private/jsii-deprecated.js +19 -0
  383. package/lib/private/unique-resource-name.js +3 -2
  384. package/lib/size.js +1 -1
  385. package/lib/stack-base.js +1 -1
  386. package/lib/terra-func.js +2 -2
  387. package/lib/time-zone.js +1 -1
  388. package/node_modules/@balena/dockerignore/CHANGELOG.md +31 -0
  389. package/node_modules/@balena/dockerignore/LICENSE.md +206 -0
  390. package/node_modules/@balena/dockerignore/README.md +261 -0
  391. package/node_modules/@balena/dockerignore/ignore.js +363 -0
  392. package/node_modules/@balena/dockerignore/index.d.ts +45 -0
  393. package/node_modules/@balena/dockerignore/package.json +49 -0
  394. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  395. package/node_modules/balanced-match/LICENSE.md +21 -0
  396. package/node_modules/balanced-match/README.md +97 -0
  397. package/node_modules/balanced-match/index.js +62 -0
  398. package/node_modules/balanced-match/package.json +48 -0
  399. package/node_modules/concat-map/.travis.yml +4 -0
  400. package/node_modules/concat-map/LICENSE +18 -0
  401. package/node_modules/concat-map/README.markdown +62 -0
  402. package/node_modules/concat-map/example/map.js +6 -0
  403. package/node_modules/concat-map/index.js +13 -0
  404. package/node_modules/concat-map/package.json +43 -0
  405. package/node_modules/concat-map/test/map.js +39 -0
  406. package/node_modules/ignore/LICENSE-MIT +21 -0
  407. package/node_modules/ignore/README.md +412 -0
  408. package/node_modules/ignore/index.d.ts +61 -0
  409. package/node_modules/ignore/index.js +636 -0
  410. package/node_modules/ignore/legacy.js +559 -0
  411. package/node_modules/ignore/package.json +74 -0
  412. package/node_modules/minimatch/LICENSE +15 -0
  413. package/node_modules/minimatch/README.md +230 -0
  414. package/node_modules/minimatch/minimatch.js +947 -0
  415. package/node_modules/minimatch/node_modules/brace-expansion/LICENSE +21 -0
  416. package/node_modules/minimatch/node_modules/brace-expansion/README.md +129 -0
  417. package/node_modules/minimatch/node_modules/brace-expansion/index.js +201 -0
  418. package/node_modules/minimatch/node_modules/brace-expansion/package.json +47 -0
  419. package/node_modules/minimatch/package.json +33 -0
  420. package/package.json +14 -5
  421. package/lib/aws/compute/function-nodejs.d.ts +0 -55
  422. package/lib/aws/compute/function-nodejs.js +0 -70
@@ -0,0 +1,410 @@
1
+ import { BundlingFileAccess, DockerImage, DockerRunOptions } from "../../../bundling";
2
+ /**
3
+ * Bundling options
4
+ */
5
+ export interface BundlingOptions extends DockerRunOptions {
6
+ /**
7
+ * Whether to minify files when bundling.
8
+ *
9
+ * @default false
10
+ */
11
+ readonly minify?: boolean;
12
+ /**
13
+ * Whether to include source maps when bundling.
14
+ *
15
+ * @default false
16
+ */
17
+ readonly sourceMap?: boolean;
18
+ /**
19
+ * Source map mode to be used when bundling.
20
+ * @see https://esbuild.github.io/api/#sourcemap
21
+ *
22
+ * @default SourceMapMode.DEFAULT
23
+ */
24
+ readonly sourceMapMode?: SourceMapMode;
25
+ /**
26
+ * Whether to include original source code in source maps when bundling.
27
+ *
28
+ * @see https://esbuild.github.io/api/#sources-content
29
+ *
30
+ * @default true
31
+ */
32
+ readonly sourcesContent?: boolean;
33
+ /**
34
+ * Target environment for the generated JavaScript code.
35
+ *
36
+ * @see https://esbuild.github.io/api/#target
37
+ *
38
+ * @default - the node version of the runtime
39
+ */
40
+ readonly target?: string;
41
+ /**
42
+ * Use loaders to change how a given input file is interpreted.
43
+ *
44
+ * Configuring a loader for a given file type lets you load that file type with
45
+ * an `import` statement or a `require` call.
46
+ *
47
+ * For example, `{ '.png': 'dataurl' }`.
48
+ *
49
+ * @see https://esbuild.github.io/api/#loader
50
+ *
51
+ * @default - use esbuild default loaders
52
+ */
53
+ readonly loader?: {
54
+ [ext: string]: string;
55
+ };
56
+ /**
57
+ * Log level for esbuild. This is also propagated to the package manager and
58
+ * applies to its specific install command.
59
+ *
60
+ * @default LogLevel.WARNING
61
+ */
62
+ readonly logLevel?: EsbuildLogLevel;
63
+ /**
64
+ * Whether to preserve the original `name` values even in minified code.
65
+ *
66
+ * In JavaScript the `name` property on functions and classes defaults to a
67
+ * nearby identifier in the source code.
68
+ *
69
+ * However, minification renames symbols to reduce code size and bundling
70
+ * sometimes need to rename symbols to avoid collisions. That changes value of
71
+ * the `name` property for many of these cases. This is usually fine because
72
+ * the `name` property is normally only used for debugging. However, some
73
+ * frameworks rely on the `name` property for registration and binding purposes.
74
+ * If this is the case, you can enable this option to preserve the original
75
+ * `name` values even in minified code.
76
+ *
77
+ * @default false
78
+ */
79
+ readonly keepNames?: boolean;
80
+ /**
81
+ * Normally the esbuild automatically discovers `tsconfig.json` files and reads their contents during a build.
82
+ *
83
+ * However, you can also configure a custom `tsconfig.json` file to use instead.
84
+ *
85
+ * This is similar to entry path, you need to provide path to your custom `tsconfig.json`.
86
+ *
87
+ * This can be useful if you need to do multiple builds of the same code with different settings.
88
+ *
89
+ * For example, `{ 'tsconfig': 'path/custom.tsconfig.json' }`.
90
+ *
91
+ * @default - automatically discovered by `esbuild`
92
+ */
93
+ readonly tsconfig?: string;
94
+ /**
95
+ * This option tells esbuild to write out a JSON file relative to output directory with metadata about the build.
96
+ *
97
+ * The metadata in this JSON file follows this schema (specified using TypeScript syntax):
98
+ *
99
+ * ```text
100
+ * {
101
+ * outputs: {
102
+ * [path: string]: {
103
+ * bytes: number
104
+ * inputs: {
105
+ * [path: string]: { bytesInOutput: number }
106
+ * }
107
+ * imports: { path: string }[]
108
+ * exports: string[]
109
+ * }
110
+ * }
111
+ * }
112
+ * ```
113
+ * This data can then be analyzed by other tools. For example,
114
+ * bundle buddy can consume esbuild's metadata format and generates a treemap visualization
115
+ * of the modules in your bundle and how much space each one takes up.
116
+ * @see https://esbuild.github.io/api/#metafile
117
+ * @default false
118
+ */
119
+ readonly metafile?: boolean;
120
+ /**
121
+ * Use this to insert an arbitrary string at the beginning of generated JavaScript files.
122
+ *
123
+ * This is similar to footer which inserts at the end instead of the beginning.
124
+ *
125
+ * This is commonly used to insert comments:
126
+ *
127
+ * @default - no comments are passed
128
+ */
129
+ readonly banner?: string;
130
+ /**
131
+ * Use this to insert an arbitrary string at the end of generated JavaScript files.
132
+ *
133
+ * This is similar to banner which inserts at the beginning instead of the end.
134
+ *
135
+ * This is commonly used to insert comments
136
+ *
137
+ * @default - no comments are passed
138
+ */
139
+ readonly footer?: string;
140
+ /**
141
+ * The charset to use for esbuild's output.
142
+ *
143
+ * By default esbuild's output is ASCII-only. Any non-ASCII characters are escaped
144
+ * using backslash escape sequences. Using escape sequences makes the generated output
145
+ * slightly bigger, and also makes it harder to read. If you would like for esbuild to print
146
+ * the original characters without using escape sequences, use `Charset.UTF8`.
147
+ *
148
+ * @see https://esbuild.github.io/api/#charset
149
+ * @default Charset.ASCII
150
+ */
151
+ readonly charset?: Charset;
152
+ /**
153
+ * Replace global identifiers with constant expressions.
154
+ *
155
+ * For example, `{ 'process.env.DEBUG': 'true' }`.
156
+ *
157
+ * Another example, `{ 'process.env.API_KEY': JSON.stringify('xxx-xxxx-xxx') }`.
158
+ *
159
+ * @default - no replacements are made
160
+ */
161
+ readonly define?: {
162
+ [key: string]: string;
163
+ };
164
+ /**
165
+ * A list of modules that should be considered as externals (already available
166
+ * in the runtime).
167
+ *
168
+ * @default - no replacements are made
169
+ */
170
+ readonly externalModules?: string[];
171
+ /**
172
+ * Includes AWS SDK in the bundle asset.
173
+ *
174
+ * @default - false
175
+ * if `true` the `aws-sdk` will be included in the asset bundle and not be
176
+ * resolved to the Lambda provided sdk.
177
+ */
178
+ readonly bundleAwsSDK?: boolean;
179
+ /**
180
+ * A list of modules that should be installed instead of bundled. Modules are
181
+ * installed in a Lambda compatible environment only when bundling runs in
182
+ * Docker.
183
+ *
184
+ * @default - all modules are bundled
185
+ */
186
+ readonly nodeModules?: string[];
187
+ /**
188
+ * The version of esbuild to use when running in a Docker container.
189
+ *
190
+ * @default - latest v0
191
+ */
192
+ readonly esbuildVersion?: string;
193
+ /**
194
+ * Build arguments to pass into esbuild.
195
+ *
196
+ * For example, to add the [--log-limit](https://esbuild.github.io/api/#log-limit) flag:
197
+ *
198
+ * ```text
199
+ * new NodejsFunction(scope, id, {
200
+ * ...
201
+ * bundling: {
202
+ * esbuildArgs: {
203
+ * "--log-limit": "0",
204
+ * }
205
+ * }
206
+ * });
207
+ * ```
208
+ *
209
+ * @default - no additional esbuild arguments are passed
210
+ */
211
+ readonly esbuildArgs?: {
212
+ [key: string]: string | boolean;
213
+ };
214
+ /**
215
+ * Build arguments to pass when building the bundling image.
216
+ *
217
+ * @default - no build arguments are passed
218
+ */
219
+ readonly buildArgs?: {
220
+ [key: string]: string;
221
+ };
222
+ /**
223
+ * Force bundling in a Docker container even if local bundling is
224
+ * possible. This is useful if your function relies on node modules
225
+ * that should be installed (`nodeModules`) in a Lambda compatible
226
+ * environment.
227
+ *
228
+ * @default false
229
+ */
230
+ readonly forceDockerBundling?: boolean;
231
+ /**
232
+ * Run compilation using tsc before running file through bundling step.
233
+ * This usually is not required unless you are using new experimental features that
234
+ * are only supported by typescript's `tsc` compiler.
235
+ * One example of such feature is `emitDecoratorMetadata`.
236
+ *
237
+ * @default false
238
+ */
239
+ readonly preCompilation?: boolean;
240
+ /**
241
+ * A custom bundling Docker image.
242
+ *
243
+ * This image should have esbuild installed globally. If you plan to use `nodeModules`
244
+ * it should also have `npm`, `yarn`, `bun` or `pnpm` depending on the lock file you're using.
245
+ *
246
+ * See https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/aws-lambda-nodejs/lib/Dockerfile
247
+ * for the default image provided by aws-cdk-lib/aws-lambda-nodejs.
248
+ *
249
+ * @default - use the Docker image provided by aws-cdk-lib/aws-lambda-nodejs
250
+ */
251
+ readonly dockerImage?: DockerImage;
252
+ /**
253
+ * Command hooks
254
+ *
255
+ * @default - do not run additional commands
256
+ */
257
+ readonly commandHooks?: ICommandHooks;
258
+ /**
259
+ * Specify a custom hash for this asset. For consistency, this custom hash will
260
+ * be SHA256 hashed and encoded as hex. The resulting hash will be the asset
261
+ * hash.
262
+ *
263
+ * NOTE: the hash is used in order to identify a specific revision of the asset, and
264
+ * used for optimizing and caching deployment activities related to this asset such as
265
+ * packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will
266
+ * need to make sure it is updated every time the asset changes, or otherwise it is
267
+ * possible that some deployments will not be invalidated.
268
+ *
269
+ * @default - asset hash is calculated based on the bundled output
270
+ */
271
+ readonly assetHash?: string;
272
+ /**
273
+ * Output format for the generated JavaScript files
274
+ *
275
+ * @default OutputFormat.CJS
276
+ */
277
+ readonly format?: OutputFormat;
278
+ /**
279
+ * How to determine the entry point for modules.
280
+ * Try ['module', 'main'] to default to ES module versions.
281
+ *
282
+ * @default []
283
+ */
284
+ readonly mainFields?: string[];
285
+ /**
286
+ * This option allows you to automatically replace a global variable with an
287
+ * import from another file.
288
+ *
289
+ * @see https://esbuild.github.io/api/#inject
290
+ * @default - no code is injected
291
+ */
292
+ readonly inject?: string[];
293
+ /**
294
+ * Which option to use to copy the source files to the docker container and output files back
295
+ * @default - BundlingFileAccess.BIND_MOUNT
296
+ */
297
+ readonly bundlingFileAccess?: BundlingFileAccess;
298
+ }
299
+ /**
300
+ * Output format for the generated JavaScript files
301
+ */
302
+ export declare enum OutputFormat {
303
+ /**
304
+ * CommonJS
305
+ */
306
+ CJS = "cjs",
307
+ /**
308
+ * ECMAScript module
309
+ *
310
+ * Requires a running environment that supports `import` and `export` syntax.
311
+ */
312
+ ESM = "esm"
313
+ }
314
+ /**
315
+ * Command hooks
316
+ *
317
+ * These commands will run in the environment in which bundling occurs: inside
318
+ * the container for Docker bundling or on the host OS for local bundling.
319
+ *
320
+ * Commands are chained with `&&`.
321
+ *
322
+ * The following example (specified in TypeScript) copies a file from the input
323
+ * directory to the output directory to include it in the bundled asset:
324
+ *
325
+ * ```text
326
+ * afterBundling(inputDir: string, outputDir: string): string[]{
327
+ * return [`cp ${inputDir}/my-binary.node ${outputDir}`];
328
+ * }
329
+ * ```
330
+ */
331
+ export interface ICommandHooks {
332
+ /**
333
+ * Returns commands to run before bundling.
334
+ *
335
+ * Commands are chained with `&&`.
336
+ */
337
+ beforeBundling(inputDir: string, outputDir: string): string[];
338
+ /**
339
+ * Returns commands to run before installing node modules.
340
+ *
341
+ * This hook only runs when node modules are installed.
342
+ *
343
+ * Commands are chained with `&&`.
344
+ */
345
+ beforeInstall(inputDir: string, outputDir: string): string[];
346
+ /**
347
+ * Returns commands to run after bundling.
348
+ *
349
+ * Commands are chained with `&&`.
350
+ */
351
+ afterBundling(inputDir: string, outputDir: string): string[];
352
+ }
353
+ /**
354
+ * Log levels for esbuild and package managers' install commands.
355
+ */
356
+ export declare enum EsbuildLogLevel {
357
+ /** Show everything */
358
+ VERBOSE = "verbose",
359
+ /** Show everything from info and some additional messages for debugging */
360
+ DEBUG = "debug",
361
+ /** Show warnings, errors, and an output file summary */
362
+ INFO = "info",
363
+ /** Show warnings and errors */
364
+ WARNING = "warning",
365
+ /** Show errors only */
366
+ ERROR = "error",
367
+ /** Show nothing */
368
+ SILENT = "silent"
369
+ }
370
+ /**
371
+ * SourceMap mode for esbuild
372
+ * @see https://esbuild.github.io/api/#sourcemap
373
+ */
374
+ export declare enum SourceMapMode {
375
+ /**
376
+ * Default sourceMap mode - will generate a .js.map file alongside any generated .js file and add a special //# sourceMappingURL=
377
+ * comment to the bottom of the .js file pointing to the .js.map file
378
+ */
379
+ DEFAULT = "default",
380
+ /**
381
+ * External sourceMap mode - If you want to omit the special //# sourceMappingURL= comment from the generated .js file but you still
382
+ * want to generate the .js.map files
383
+ */
384
+ EXTERNAL = "external",
385
+ /**
386
+ * Inline sourceMap mode - If you want to insert the entire source map into the .js file instead of generating a separate .js.map file
387
+ */
388
+ INLINE = "inline",
389
+ /**
390
+ * Both sourceMap mode - If you want to have the effect of both inline and external simultaneously
391
+ */
392
+ BOTH = "both"
393
+ }
394
+ /**
395
+ * Charset for esbuild's output
396
+ */
397
+ export declare enum Charset {
398
+ /**
399
+ * ASCII
400
+ *
401
+ * Any non-ASCII characters are escaped using backslash escape sequences
402
+ */
403
+ ASCII = "ascii",
404
+ /**
405
+ * UTF-8
406
+ *
407
+ * Keep original characters without using escape sequences
408
+ */
409
+ UTF8 = "utf8"
410
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Charset = exports.SourceMapMode = exports.EsbuildLogLevel = exports.OutputFormat = void 0;
4
+ /**
5
+ * Output format for the generated JavaScript files
6
+ */
7
+ var OutputFormat;
8
+ (function (OutputFormat) {
9
+ /**
10
+ * CommonJS
11
+ */
12
+ OutputFormat["CJS"] = "cjs";
13
+ /**
14
+ * ECMAScript module
15
+ *
16
+ * Requires a running environment that supports `import` and `export` syntax.
17
+ */
18
+ OutputFormat["ESM"] = "esm";
19
+ })(OutputFormat || (exports.OutputFormat = OutputFormat = {}));
20
+ /**
21
+ * Log levels for esbuild and package managers' install commands.
22
+ */
23
+ var EsbuildLogLevel;
24
+ (function (EsbuildLogLevel) {
25
+ /** Show everything */
26
+ EsbuildLogLevel["VERBOSE"] = "verbose";
27
+ /** Show everything from info and some additional messages for debugging */
28
+ EsbuildLogLevel["DEBUG"] = "debug";
29
+ /** Show warnings, errors, and an output file summary */
30
+ EsbuildLogLevel["INFO"] = "info";
31
+ /** Show warnings and errors */
32
+ EsbuildLogLevel["WARNING"] = "warning";
33
+ /** Show errors only */
34
+ EsbuildLogLevel["ERROR"] = "error";
35
+ /** Show nothing */
36
+ EsbuildLogLevel["SILENT"] = "silent";
37
+ })(EsbuildLogLevel || (exports.EsbuildLogLevel = EsbuildLogLevel = {}));
38
+ /**
39
+ * SourceMap mode for esbuild
40
+ * @see https://esbuild.github.io/api/#sourcemap
41
+ */
42
+ var SourceMapMode;
43
+ (function (SourceMapMode) {
44
+ /**
45
+ * Default sourceMap mode - will generate a .js.map file alongside any generated .js file and add a special //# sourceMappingURL=
46
+ * comment to the bottom of the .js file pointing to the .js.map file
47
+ */
48
+ SourceMapMode["DEFAULT"] = "default";
49
+ /**
50
+ * External sourceMap mode - If you want to omit the special //# sourceMappingURL= comment from the generated .js file but you still
51
+ * want to generate the .js.map files
52
+ */
53
+ SourceMapMode["EXTERNAL"] = "external";
54
+ /**
55
+ * Inline sourceMap mode - If you want to insert the entire source map into the .js file instead of generating a separate .js.map file
56
+ */
57
+ SourceMapMode["INLINE"] = "inline";
58
+ /**
59
+ * Both sourceMap mode - If you want to have the effect of both inline and external simultaneously
60
+ */
61
+ SourceMapMode["BOTH"] = "both";
62
+ })(SourceMapMode || (exports.SourceMapMode = SourceMapMode = {}));
63
+ /**
64
+ * Charset for esbuild's output
65
+ */
66
+ var Charset;
67
+ (function (Charset) {
68
+ /**
69
+ * ASCII
70
+ *
71
+ * Any non-ASCII characters are escaped using backslash escape sequences
72
+ */
73
+ Charset["ASCII"] = "ascii";
74
+ /**
75
+ * UTF-8
76
+ *
77
+ * Keep original characters without using escape sequences
78
+ */
79
+ Charset["UTF8"] = "utf8";
80
+ })(Charset || (exports.Charset = Charset = {}));
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvZnVuY3Rpb24tbm9kZWpzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW9VQTs7R0FFRztBQUNILElBQVksWUFZWDtBQVpELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILDJCQUFXLENBQUE7SUFFWDs7OztPQUlHO0lBQ0gsMkJBQVcsQ0FBQTtBQUNiLENBQUMsRUFaVyxZQUFZLDRCQUFaLFlBQVksUUFZdkI7QUE0Q0Q7O0dBRUc7QUFDSCxJQUFZLGVBYVg7QUFiRCxXQUFZLGVBQWU7SUFDekIsc0JBQXNCO0lBQ3RCLHNDQUFtQixDQUFBO0lBQ25CLDJFQUEyRTtJQUMzRSxrQ0FBZSxDQUFBO0lBQ2Ysd0RBQXdEO0lBQ3hELGdDQUFhLENBQUE7SUFDYiwrQkFBK0I7SUFDL0Isc0NBQW1CLENBQUE7SUFDbkIsdUJBQXVCO0lBQ3ZCLGtDQUFlLENBQUE7SUFDZixtQkFBbUI7SUFDbkIsb0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQWJXLGVBQWUsK0JBQWYsZUFBZSxRQWExQjtBQUVEOzs7R0FHRztBQUNILElBQVksYUFtQlg7QUFuQkQsV0FBWSxhQUFhO0lBQ3ZCOzs7T0FHRztJQUNILG9DQUFtQixDQUFBO0lBQ25COzs7T0FHRztJQUNILHNDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQW5CVyxhQUFhLDZCQUFiLGFBQWEsUUFtQnhCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLE9BY1g7QUFkRCxXQUFZLE9BQU87SUFDakI7Ozs7T0FJRztJQUNILDBCQUFlLENBQUE7SUFFZjs7OztPQUlHO0lBQ0gsd0JBQWEsQ0FBQTtBQUNmLENBQUMsRUFkVyxPQUFPLHVCQUFQLE9BQU8sUUFjbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCdW5kbGluZ0ZpbGVBY2Nlc3MsXG4gIERvY2tlckltYWdlLFxuICBEb2NrZXJSdW5PcHRpb25zLFxufSBmcm9tIFwiLi4vLi4vLi4vYnVuZGxpbmdcIjtcblxuLyoqXG4gKiBCdW5kbGluZyBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVuZGxpbmdPcHRpb25zIGV4dGVuZHMgRG9ja2VyUnVuT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG1pbmlmeSBmaWxlcyB3aGVuIGJ1bmRsaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbWluaWZ5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmNsdWRlIHNvdXJjZSBtYXBzIHdoZW4gYnVuZGxpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VNYXA/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTb3VyY2UgbWFwIG1vZGUgdG8gYmUgdXNlZCB3aGVuIGJ1bmRsaW5nLlxuICAgKiBAc2VlIGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2VtYXBcbiAgICpcbiAgICogQGRlZmF1bHQgU291cmNlTWFwTW9kZS5ERUZBVUxUXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VNYXBNb2RlPzogU291cmNlTWFwTW9kZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmNsdWRlIG9yaWdpbmFsIHNvdXJjZSBjb2RlIGluIHNvdXJjZSBtYXBzIHdoZW4gYnVuZGxpbmcuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZXMtY29udGVudFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VzQ29udGVudD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRhcmdldCBlbnZpcm9ubWVudCBmb3IgdGhlIGdlbmVyYXRlZCBKYXZhU2NyaXB0IGNvZGUuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RhcmdldFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBub2RlIHZlcnNpb24gb2YgdGhlIHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldD86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIGxvYWRlcnMgdG8gY2hhbmdlIGhvdyBhIGdpdmVuIGlucHV0IGZpbGUgaXMgaW50ZXJwcmV0ZWQuXG4gICAqXG4gICAqIENvbmZpZ3VyaW5nIGEgbG9hZGVyIGZvciBhIGdpdmVuIGZpbGUgdHlwZSBsZXRzIHlvdSBsb2FkIHRoYXQgZmlsZSB0eXBlIHdpdGhcbiAgICogYW4gYGltcG9ydGAgc3RhdGVtZW50IG9yIGEgYHJlcXVpcmVgIGNhbGwuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBgeyAnLnBuZyc6ICdkYXRhdXJsJyB9YC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9hZGVyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIGVzYnVpbGQgZGVmYXVsdCBsb2FkZXJzXG4gICAqL1xuICByZWFkb25seSBsb2FkZXI/OiB7IFtleHQ6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBMb2cgbGV2ZWwgZm9yIGVzYnVpbGQuIFRoaXMgaXMgYWxzbyBwcm9wYWdhdGVkIHRvIHRoZSBwYWNrYWdlIG1hbmFnZXIgYW5kXG4gICAqIGFwcGxpZXMgdG8gaXRzIHNwZWNpZmljIGluc3RhbGwgY29tbWFuZC5cbiAgICpcbiAgICogQGRlZmF1bHQgTG9nTGV2ZWwuV0FSTklOR1xuICAgKi9cbiAgcmVhZG9ubHkgbG9nTGV2ZWw/OiBFc2J1aWxkTG9nTGV2ZWw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHJlc2VydmUgdGhlIG9yaWdpbmFsIGBuYW1lYCB2YWx1ZXMgZXZlbiBpbiBtaW5pZmllZCBjb2RlLlxuICAgKlxuICAgKiBJbiBKYXZhU2NyaXB0IHRoZSBgbmFtZWAgcHJvcGVydHkgb24gZnVuY3Rpb25zIGFuZCBjbGFzc2VzIGRlZmF1bHRzIHRvIGFcbiAgICogbmVhcmJ5IGlkZW50aWZpZXIgaW4gdGhlIHNvdXJjZSBjb2RlLlxuICAgKlxuICAgKiBIb3dldmVyLCBtaW5pZmljYXRpb24gcmVuYW1lcyBzeW1ib2xzIHRvIHJlZHVjZSBjb2RlIHNpemUgYW5kIGJ1bmRsaW5nXG4gICAqIHNvbWV0aW1lcyBuZWVkIHRvIHJlbmFtZSBzeW1ib2xzIHRvIGF2b2lkIGNvbGxpc2lvbnMuIFRoYXQgY2hhbmdlcyB2YWx1ZSBvZlxuICAgKiB0aGUgYG5hbWVgIHByb3BlcnR5IGZvciBtYW55IG9mIHRoZXNlIGNhc2VzLiBUaGlzIGlzIHVzdWFsbHkgZmluZSBiZWNhdXNlXG4gICAqIHRoZSBgbmFtZWAgcHJvcGVydHkgaXMgbm9ybWFsbHkgb25seSB1c2VkIGZvciBkZWJ1Z2dpbmcuIEhvd2V2ZXIsIHNvbWVcbiAgICogZnJhbWV3b3JrcyByZWx5IG9uIHRoZSBgbmFtZWAgcHJvcGVydHkgZm9yIHJlZ2lzdHJhdGlvbiBhbmQgYmluZGluZyBwdXJwb3Nlcy5cbiAgICogSWYgdGhpcyBpcyB0aGUgY2FzZSwgeW91IGNhbiBlbmFibGUgdGhpcyBvcHRpb24gdG8gcHJlc2VydmUgdGhlIG9yaWdpbmFsXG4gICAqIGBuYW1lYCB2YWx1ZXMgZXZlbiBpbiBtaW5pZmllZCBjb2RlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkga2VlcE5hbWVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTm9ybWFsbHkgdGhlIGVzYnVpbGQgYXV0b21hdGljYWxseSBkaXNjb3ZlcnMgYHRzY29uZmlnLmpzb25gIGZpbGVzIGFuZCByZWFkcyB0aGVpciBjb250ZW50cyBkdXJpbmcgYSBidWlsZC5cbiAgICpcbiAgICogSG93ZXZlciwgeW91IGNhbiBhbHNvIGNvbmZpZ3VyZSBhIGN1c3RvbSBgdHNjb25maWcuanNvbmAgZmlsZSB0byB1c2UgaW5zdGVhZC5cbiAgICpcbiAgICogVGhpcyBpcyBzaW1pbGFyIHRvIGVudHJ5IHBhdGgsIHlvdSBuZWVkIHRvIHByb3ZpZGUgcGF0aCB0byB5b3VyIGN1c3RvbSBgdHNjb25maWcuanNvbmAuXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3UgbmVlZCB0byBkbyBtdWx0aXBsZSBidWlsZHMgb2YgdGhlIHNhbWUgY29kZSB3aXRoIGRpZmZlcmVudCBzZXR0aW5ncy5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGB7ICd0c2NvbmZpZyc6ICdwYXRoL2N1c3RvbS50c2NvbmZpZy5qc29uJyB9YC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvbWF0aWNhbGx5IGRpc2NvdmVyZWQgYnkgYGVzYnVpbGRgXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhpcyBvcHRpb24gdGVsbHMgZXNidWlsZCB0byB3cml0ZSBvdXQgYSBKU09OIGZpbGUgcmVsYXRpdmUgdG8gb3V0cHV0IGRpcmVjdG9yeSB3aXRoIG1ldGFkYXRhIGFib3V0IHRoZSBidWlsZC5cbiAgICpcbiAgICogVGhlIG1ldGFkYXRhIGluIHRoaXMgSlNPTiBmaWxlIGZvbGxvd3MgdGhpcyBzY2hlbWEgKHNwZWNpZmllZCB1c2luZyBUeXBlU2NyaXB0IHN5bnRheCk6XG4gICAqXG4gICAqIGBgYHRleHRcbiAgICoge1xuICAgKiAgIG91dHB1dHM6IHtcbiAgICogICAgIFtwYXRoOiBzdHJpbmddOiB7XG4gICAqICAgICAgIGJ5dGVzOiBudW1iZXJcbiAgICogICAgICAgaW5wdXRzOiB7XG4gICAqICAgICAgICAgW3BhdGg6IHN0cmluZ106IHsgYnl0ZXNJbk91dHB1dDogbnVtYmVyIH1cbiAgICogICAgICAgfVxuICAgKiAgICAgICBpbXBvcnRzOiB7IHBhdGg6IHN0cmluZyB9W11cbiAgICogICAgICAgZXhwb3J0czogc3RyaW5nW11cbiAgICogICAgIH1cbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIFRoaXMgZGF0YSBjYW4gdGhlbiBiZSBhbmFseXplZCBieSBvdGhlciB0b29scy4gRm9yIGV4YW1wbGUsXG4gICAqIGJ1bmRsZSBidWRkeSBjYW4gY29uc3VtZSBlc2J1aWxkJ3MgbWV0YWRhdGEgZm9ybWF0IGFuZCBnZW5lcmF0ZXMgYSB0cmVlbWFwIHZpc3VhbGl6YXRpb25cbiAgICogb2YgdGhlIG1vZHVsZXMgaW4geW91ciBidW5kbGUgYW5kIGhvdyBtdWNoIHNwYWNlIGVhY2ggb25lIHRha2VzIHVwLlxuICAgKiBAc2VlIGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtZXRhZmlsZVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWZpbGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgdGhpcyB0byBpbnNlcnQgYW4gYXJiaXRyYXJ5IHN0cmluZyBhdCB0aGUgYmVnaW5uaW5nIG9mIGdlbmVyYXRlZCBKYXZhU2NyaXB0IGZpbGVzLlxuICAgKlxuICAgKiBUaGlzIGlzIHNpbWlsYXIgdG8gZm9vdGVyIHdoaWNoIGluc2VydHMgYXQgdGhlIGVuZCBpbnN0ZWFkIG9mIHRoZSBiZWdpbm5pbmcuXG4gICAqXG4gICAqIFRoaXMgaXMgY29tbW9ubHkgdXNlZCB0byBpbnNlcnQgY29tbWVudHM6XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29tbWVudHMgYXJlIHBhc3NlZFxuICAgKi9cbiAgcmVhZG9ubHkgYmFubmVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2UgdGhpcyB0byBpbnNlcnQgYW4gYXJiaXRyYXJ5IHN0cmluZyBhdCB0aGUgZW5kIG9mIGdlbmVyYXRlZCBKYXZhU2NyaXB0IGZpbGVzLlxuICAgKlxuICAgKiBUaGlzIGlzIHNpbWlsYXIgdG8gYmFubmVyIHdoaWNoIGluc2VydHMgYXQgdGhlIGJlZ2lubmluZyBpbnN0ZWFkIG9mIHRoZSBlbmQuXG4gICAqXG4gICAqIFRoaXMgaXMgY29tbW9ubHkgdXNlZCB0byBpbnNlcnQgY29tbWVudHNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb21tZW50cyBhcmUgcGFzc2VkXG4gICAqL1xuICByZWFkb25seSBmb290ZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjaGFyc2V0IHRvIHVzZSBmb3IgZXNidWlsZCdzIG91dHB1dC5cbiAgICpcbiAgICogQnkgZGVmYXVsdCBlc2J1aWxkJ3Mgb3V0cHV0IGlzIEFTQ0lJLW9ubHkuIEFueSBub24tQVNDSUkgY2hhcmFjdGVycyBhcmUgZXNjYXBlZFxuICAgKiB1c2luZyBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcy4gVXNpbmcgZXNjYXBlIHNlcXVlbmNlcyBtYWtlcyB0aGUgZ2VuZXJhdGVkIG91dHB1dFxuICAgKiBzbGlnaHRseSBiaWdnZXIsIGFuZCBhbHNvIG1ha2VzIGl0IGhhcmRlciB0byByZWFkLiBJZiB5b3Ugd291bGQgbGlrZSBmb3IgZXNidWlsZCB0byBwcmludFxuICAgKiB0aGUgb3JpZ2luYWwgY2hhcmFjdGVycyB3aXRob3V0IHVzaW5nIGVzY2FwZSBzZXF1ZW5jZXMsIHVzZSBgQ2hhcnNldC5VVEY4YC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY2hhcnNldFxuICAgKiBAZGVmYXVsdCBDaGFyc2V0LkFTQ0lJXG4gICAqL1xuICByZWFkb25seSBjaGFyc2V0PzogQ2hhcnNldDtcblxuICAvKipcbiAgICogUmVwbGFjZSBnbG9iYWwgaWRlbnRpZmllcnMgd2l0aCBjb25zdGFudCBleHByZXNzaW9ucy5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGB7ICdwcm9jZXNzLmVudi5ERUJVRyc6ICd0cnVlJyB9YC5cbiAgICpcbiAgICogQW5vdGhlciBleGFtcGxlLCBgeyAncHJvY2Vzcy5lbnYuQVBJX0tFWSc6IEpTT04uc3RyaW5naWZ5KCd4eHgteHh4eC14eHgnKSB9YC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXBsYWNlbWVudHMgYXJlIG1hZGVcbiAgICovXG4gIHJlYWRvbmx5IGRlZmluZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBtb2R1bGVzIHRoYXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgZXh0ZXJuYWxzIChhbHJlYWR5IGF2YWlsYWJsZVxuICAgKiBpbiB0aGUgcnVudGltZSkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVwbGFjZW1lbnRzIGFyZSBtYWRlXG4gICAqL1xuICByZWFkb25seSBleHRlcm5hbE1vZHVsZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogSW5jbHVkZXMgQVdTIFNESyBpbiB0aGUgYnVuZGxlIGFzc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqIGlmIGB0cnVlYCB0aGUgYGF3cy1zZGtgIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGFzc2V0IGJ1bmRsZSBhbmQgbm90IGJlXG4gICAqIHJlc29sdmVkIHRvIHRoZSBMYW1iZGEgcHJvdmlkZWQgc2RrLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVuZGxlQXdzU0RLPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIG1vZHVsZXMgdGhhdCBzaG91bGQgYmUgaW5zdGFsbGVkIGluc3RlYWQgb2YgYnVuZGxlZC4gTW9kdWxlcyBhcmVcbiAgICogaW5zdGFsbGVkIGluIGEgTGFtYmRhIGNvbXBhdGlibGUgZW52aXJvbm1lbnQgb25seSB3aGVuIGJ1bmRsaW5nIHJ1bnMgaW5cbiAgICogRG9ja2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBtb2R1bGVzIGFyZSBidW5kbGVkXG4gICAqL1xuICByZWFkb25seSBub2RlTW9kdWxlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiBlc2J1aWxkIHRvIHVzZSB3aGVuIHJ1bm5pbmcgaW4gYSBEb2NrZXIgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGxhdGVzdCB2MFxuICAgKi9cbiAgcmVhZG9ubHkgZXNidWlsZFZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFyZ3VtZW50cyB0byBwYXNzIGludG8gZXNidWlsZC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIHRvIGFkZCB0aGUgWy0tbG9nLWxpbWl0XShodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9nLWxpbWl0KSBmbGFnOlxuICAgKlxuICAgKiBgYGB0ZXh0XG4gICAqIG5ldyBOb2RlanNGdW5jdGlvbihzY29wZSwgaWQsIHtcbiAgICogICAuLi5cbiAgICogICBidW5kbGluZzoge1xuICAgKiAgICAgZXNidWlsZEFyZ3M6IHtcbiAgICogICAgICAgXCItLWxvZy1saW1pdFwiOiBcIjBcIixcbiAgICogICAgIH1cbiAgICogICB9XG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGVzYnVpbGQgYXJndW1lbnRzIGFyZSBwYXNzZWRcbiAgICovXG4gIHJlYWRvbmx5IGVzYnVpbGRBcmdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuIH07XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFyZ3VtZW50cyB0byBwYXNzIHdoZW4gYnVpbGRpbmcgdGhlIGJ1bmRsaW5nIGltYWdlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGJ1aWxkIGFyZ3VtZW50cyBhcmUgcGFzc2VkXG4gICAqL1xuICByZWFkb25seSBidWlsZEFyZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBGb3JjZSBidW5kbGluZyBpbiBhIERvY2tlciBjb250YWluZXIgZXZlbiBpZiBsb2NhbCBidW5kbGluZyBpc1xuICAgKiBwb3NzaWJsZS4gVGhpcyBpcyB1c2VmdWwgaWYgeW91ciBmdW5jdGlvbiByZWxpZXMgb24gbm9kZSBtb2R1bGVzXG4gICAqIHRoYXQgc2hvdWxkIGJlIGluc3RhbGxlZCAoYG5vZGVNb2R1bGVzYCkgaW4gYSBMYW1iZGEgY29tcGF0aWJsZVxuICAgKiBlbnZpcm9ubWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlRG9ja2VyQnVuZGxpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSdW4gY29tcGlsYXRpb24gdXNpbmcgdHNjIGJlZm9yZSBydW5uaW5nIGZpbGUgdGhyb3VnaCBidW5kbGluZyBzdGVwLlxuICAgKiBUaGlzIHVzdWFsbHkgaXMgbm90IHJlcXVpcmVkIHVubGVzcyB5b3UgYXJlIHVzaW5nIG5ldyBleHBlcmltZW50YWwgZmVhdHVyZXMgdGhhdFxuICAgKiBhcmUgb25seSBzdXBwb3J0ZWQgYnkgdHlwZXNjcmlwdCdzIGB0c2NgIGNvbXBpbGVyLlxuICAgKiBPbmUgZXhhbXBsZSBvZiBzdWNoIGZlYXR1cmUgaXMgYGVtaXREZWNvcmF0b3JNZXRhZGF0YWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcmVDb21waWxhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgY3VzdG9tIGJ1bmRsaW5nIERvY2tlciBpbWFnZS5cbiAgICpcbiAgICogVGhpcyBpbWFnZSBzaG91bGQgaGF2ZSBlc2J1aWxkIGluc3RhbGxlZCBnbG9iYWxseS4gSWYgeW91IHBsYW4gdG8gdXNlIGBub2RlTW9kdWxlc2BcbiAgICogaXQgc2hvdWxkIGFsc28gaGF2ZSBgbnBtYCwgYHlhcm5gLCBgYnVuYCBvciBgcG5wbWAgZGVwZW5kaW5nIG9uIHRoZSBsb2NrIGZpbGUgeW91J3JlIHVzaW5nLlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvbWFpbi9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqcy9saWIvRG9ja2VyZmlsZVxuICAgKiBmb3IgdGhlIGRlZmF1bHQgaW1hZ2UgcHJvdmlkZWQgYnkgYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBEb2NrZXIgaW1hZ2UgcHJvdmlkZWQgYnkgYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlckltYWdlPzogRG9ja2VySW1hZ2U7XG5cbiAgLyoqXG4gICAqIENvbW1hbmQgaG9va3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkbyBub3QgcnVuIGFkZGl0aW9uYWwgY29tbWFuZHNcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmRIb29rcz86IElDb21tYW5kSG9va3M7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBjdXN0b20gaGFzaCBmb3IgdGhpcyBhc3NldC4gRm9yIGNvbnNpc3RlbmN5LCB0aGlzIGN1c3RvbSBoYXNoIHdpbGxcbiAgICogYmUgU0hBMjU2IGhhc2hlZCBhbmQgZW5jb2RlZCBhcyBoZXguIFRoZSByZXN1bHRpbmcgaGFzaCB3aWxsIGJlIHRoZSBhc3NldFxuICAgKiBoYXNoLlxuICAgKlxuICAgKiBOT1RFOiB0aGUgaGFzaCBpcyB1c2VkIGluIG9yZGVyIHRvIGlkZW50aWZ5IGEgc3BlY2lmaWMgcmV2aXNpb24gb2YgdGhlIGFzc2V0LCBhbmRcbiAgICogdXNlZCBmb3Igb3B0aW1pemluZyBhbmQgY2FjaGluZyBkZXBsb3ltZW50IGFjdGl2aXRpZXMgcmVsYXRlZCB0byB0aGlzIGFzc2V0IHN1Y2ggYXNcbiAgICogcGFja2FnaW5nLCB1cGxvYWRpbmcgdG8gQW1hem9uIFMzLCBldGMuIElmIHlvdSBjaG9zZSB0byBjdXN0b21pemUgdGhlIGhhc2gsIHlvdSB3aWxsXG4gICAqIG5lZWQgdG8gbWFrZSBzdXJlIGl0IGlzIHVwZGF0ZWQgZXZlcnkgdGltZSB0aGUgYXNzZXQgY2hhbmdlcywgb3Igb3RoZXJ3aXNlIGl0IGlzXG4gICAqIHBvc3NpYmxlIHRoYXQgc29tZSBkZXBsb3ltZW50cyB3aWxsIG5vdCBiZSBpbnZhbGlkYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhc3NldCBoYXNoIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGJ1bmRsZWQgb3V0cHV0XG4gICAqL1xuICByZWFkb25seSBhc3NldEhhc2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE91dHB1dCBmb3JtYXQgZm9yIHRoZSBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBmaWxlc1xuICAgKlxuICAgKiBAZGVmYXVsdCBPdXRwdXRGb3JtYXQuQ0pTXG4gICAqL1xuICByZWFkb25seSBmb3JtYXQ/OiBPdXRwdXRGb3JtYXQ7XG5cbiAgLyoqXG4gICAqIEhvdyB0byBkZXRlcm1pbmUgdGhlIGVudHJ5IHBvaW50IGZvciBtb2R1bGVzLlxuICAgKiBUcnkgWydtb2R1bGUnLCAnbWFpbiddIHRvIGRlZmF1bHQgdG8gRVMgbW9kdWxlIHZlcnNpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgbWFpbkZpZWxkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGlzIG9wdGlvbiBhbGxvd3MgeW91IHRvIGF1dG9tYXRpY2FsbHkgcmVwbGFjZSBhIGdsb2JhbCB2YXJpYWJsZSB3aXRoIGFuXG4gICAqIGltcG9ydCBmcm9tIGFub3RoZXIgZmlsZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5qZWN0XG4gICAqIEBkZWZhdWx0IC0gbm8gY29kZSBpcyBpbmplY3RlZFxuICAgKi9cbiAgcmVhZG9ubHkgaW5qZWN0Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoaWNoIG9wdGlvbiB0byB1c2UgdG8gY29weSB0aGUgc291cmNlIGZpbGVzIHRvIHRoZSBkb2NrZXIgY29udGFpbmVyIGFuZCBvdXRwdXQgZmlsZXMgYmFja1xuICAgKiBAZGVmYXVsdCAtIEJ1bmRsaW5nRmlsZUFjY2Vzcy5CSU5EX01PVU5UXG4gICAqL1xuICByZWFkb25seSBidW5kbGluZ0ZpbGVBY2Nlc3M/OiBCdW5kbGluZ0ZpbGVBY2Nlc3M7XG59XG5cbi8qKlxuICogT3V0cHV0IGZvcm1hdCBmb3IgdGhlIGdlbmVyYXRlZCBKYXZhU2NyaXB0IGZpbGVzXG4gKi9cbmV4cG9ydCBlbnVtIE91dHB1dEZvcm1hdCB7XG4gIC8qKlxuICAgKiBDb21tb25KU1xuICAgKi9cbiAgQ0pTID0gXCJjanNcIixcblxuICAvKipcbiAgICogRUNNQVNjcmlwdCBtb2R1bGVcbiAgICpcbiAgICogUmVxdWlyZXMgYSBydW5uaW5nIGVudmlyb25tZW50IHRoYXQgc3VwcG9ydHMgYGltcG9ydGAgYW5kIGBleHBvcnRgIHN5bnRheC5cbiAgICovXG4gIEVTTSA9IFwiZXNtXCIsXG59XG5cbi8qKlxuICogQ29tbWFuZCBob29rc1xuICpcbiAqIFRoZXNlIGNvbW1hbmRzIHdpbGwgcnVuIGluIHRoZSBlbnZpcm9ubWVudCBpbiB3aGljaCBidW5kbGluZyBvY2N1cnM6IGluc2lkZVxuICogdGhlIGNvbnRhaW5lciBmb3IgRG9ja2VyIGJ1bmRsaW5nIG9yIG9uIHRoZSBob3N0IE9TIGZvciBsb2NhbCBidW5kbGluZy5cbiAqXG4gKiBDb21tYW5kcyBhcmUgY2hhaW5lZCB3aXRoIGAmJmAuXG4gKlxuICogVGhlIGZvbGxvd2luZyBleGFtcGxlIChzcGVjaWZpZWQgaW4gVHlwZVNjcmlwdCkgY29waWVzIGEgZmlsZSBmcm9tIHRoZSBpbnB1dFxuICogZGlyZWN0b3J5IHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5IHRvIGluY2x1ZGUgaXQgaW4gdGhlIGJ1bmRsZWQgYXNzZXQ6XG4gKlxuICogYGBgdGV4dFxuICogYWZ0ZXJCdW5kbGluZyhpbnB1dERpcjogc3RyaW5nLCBvdXRwdXREaXI6IHN0cmluZyk6IHN0cmluZ1tde1xuICogICByZXR1cm4gW2BjcCAke2lucHV0RGlyfS9teS1iaW5hcnkubm9kZSAke291dHB1dERpcn1gXTtcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDb21tYW5kSG9va3Mge1xuICAvKipcbiAgICogUmV0dXJucyBjb21tYW5kcyB0byBydW4gYmVmb3JlIGJ1bmRsaW5nLlxuICAgKlxuICAgKiBDb21tYW5kcyBhcmUgY2hhaW5lZCB3aXRoIGAmJmAuXG4gICAqL1xuICBiZWZvcmVCdW5kbGluZyhpbnB1dERpcjogc3RyaW5nLCBvdXRwdXREaXI6IHN0cmluZyk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGNvbW1hbmRzIHRvIHJ1biBiZWZvcmUgaW5zdGFsbGluZyBub2RlIG1vZHVsZXMuXG4gICAqXG4gICAqIFRoaXMgaG9vayBvbmx5IHJ1bnMgd2hlbiBub2RlIG1vZHVsZXMgYXJlIGluc3RhbGxlZC5cbiAgICpcbiAgICogQ29tbWFuZHMgYXJlIGNoYWluZWQgd2l0aCBgJiZgLlxuICAgKi9cbiAgYmVmb3JlSW5zdGFsbChpbnB1dERpcjogc3RyaW5nLCBvdXRwdXREaXI6IHN0cmluZyk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGNvbW1hbmRzIHRvIHJ1biBhZnRlciBidW5kbGluZy5cbiAgICpcbiAgICogQ29tbWFuZHMgYXJlIGNoYWluZWQgd2l0aCBgJiZgLlxuICAgKi9cbiAgYWZ0ZXJCdW5kbGluZyhpbnB1dERpcjogc3RyaW5nLCBvdXRwdXREaXI6IHN0cmluZyk6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIExvZyBsZXZlbHMgZm9yIGVzYnVpbGQgYW5kIHBhY2thZ2UgbWFuYWdlcnMnIGluc3RhbGwgY29tbWFuZHMuXG4gKi9cbmV4cG9ydCBlbnVtIEVzYnVpbGRMb2dMZXZlbCB7XG4gIC8qKiBTaG93IGV2ZXJ5dGhpbmcgKi9cbiAgVkVSQk9TRSA9IFwidmVyYm9zZVwiLFxuICAvKiogU2hvdyBldmVyeXRoaW5nIGZyb20gaW5mbyBhbmQgc29tZSBhZGRpdGlvbmFsIG1lc3NhZ2VzIGZvciBkZWJ1Z2dpbmcgKi9cbiAgREVCVUcgPSBcImRlYnVnXCIsXG4gIC8qKiBTaG93IHdhcm5pbmdzLCBlcnJvcnMsIGFuZCBhbiBvdXRwdXQgZmlsZSBzdW1tYXJ5ICovXG4gIElORk8gPSBcImluZm9cIixcbiAgLyoqIFNob3cgd2FybmluZ3MgYW5kIGVycm9ycyAqL1xuICBXQVJOSU5HID0gXCJ3YXJuaW5nXCIsXG4gIC8qKiBTaG93IGVycm9ycyBvbmx5ICovXG4gIEVSUk9SID0gXCJlcnJvclwiLFxuICAvKiogU2hvdyBub3RoaW5nICovXG4gIFNJTEVOVCA9IFwic2lsZW50XCIsXG59XG5cbi8qKlxuICogU291cmNlTWFwIG1vZGUgZm9yIGVzYnVpbGRcbiAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZW1hcFxuICovXG5leHBvcnQgZW51bSBTb3VyY2VNYXBNb2RlIHtcbiAgLyoqXG4gICAqIERlZmF1bHQgc291cmNlTWFwIG1vZGUgLSB3aWxsIGdlbmVyYXRlIGEgLmpzLm1hcCBmaWxlIGFsb25nc2lkZSBhbnkgZ2VuZXJhdGVkIC5qcyBmaWxlIGFuZCBhZGQgYSBzcGVjaWFsIC8vIyBzb3VyY2VNYXBwaW5nVVJMPVxuICAgKiBjb21tZW50IHRvIHRoZSBib3R0b20gb2YgdGhlIC5qcyBmaWxlIHBvaW50aW5nIHRvIHRoZSAuanMubWFwIGZpbGVcbiAgICovXG4gIERFRkFVTFQgPSBcImRlZmF1bHRcIixcbiAgLyoqXG4gICAqICBFeHRlcm5hbCBzb3VyY2VNYXAgbW9kZSAtIElmIHlvdSB3YW50IHRvIG9taXQgdGhlIHNwZWNpYWwgLy8jIHNvdXJjZU1hcHBpbmdVUkw9IGNvbW1lbnQgZnJvbSB0aGUgZ2VuZXJhdGVkIC5qcyBmaWxlIGJ1dCB5b3Ugc3RpbGxcbiAgICogIHdhbnQgdG8gZ2VuZXJhdGUgdGhlIC5qcy5tYXAgZmlsZXNcbiAgICovXG4gIEVYVEVSTkFMID0gXCJleHRlcm5hbFwiLFxuICAvKipcbiAgICogSW5saW5lIHNvdXJjZU1hcCBtb2RlIC0gSWYgeW91IHdhbnQgdG8gaW5zZXJ0IHRoZSBlbnRpcmUgc291cmNlIG1hcCBpbnRvIHRoZSAuanMgZmlsZSBpbnN0ZWFkIG9mIGdlbmVyYXRpbmcgYSBzZXBhcmF0ZSAuanMubWFwIGZpbGVcbiAgICovXG4gIElOTElORSA9IFwiaW5saW5lXCIsXG4gIC8qKlxuICAgKiBCb3RoIHNvdXJjZU1hcCBtb2RlIC0gSWYgeW91IHdhbnQgdG8gaGF2ZSB0aGUgZWZmZWN0IG9mIGJvdGggaW5saW5lIGFuZCBleHRlcm5hbCBzaW11bHRhbmVvdXNseVxuICAgKi9cbiAgQk9USCA9IFwiYm90aFwiLFxufVxuXG4vKipcbiAqIENoYXJzZXQgZm9yIGVzYnVpbGQncyBvdXRwdXRcbiAqL1xuZXhwb3J0IGVudW0gQ2hhcnNldCB7XG4gIC8qKlxuICAgKiBBU0NJSVxuICAgKlxuICAgKiBBbnkgbm9uLUFTQ0lJIGNoYXJhY3RlcnMgYXJlIGVzY2FwZWQgdXNpbmcgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXNcbiAgICovXG4gIEFTQ0lJID0gXCJhc2NpaVwiLFxuXG4gIC8qKlxuICAgKiBVVEYtOFxuICAgKlxuICAgKiBLZWVwIG9yaWdpbmFsIGNoYXJhY3RlcnMgd2l0aG91dCB1c2luZyBlc2NhcGUgc2VxdWVuY2VzXG4gICAqL1xuICBVVEY4ID0gXCJ1dGY4XCIsXG59XG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { SpawnSyncOptions } from "child_process";
2
+ import { Runtime } from "../runtime";
3
+ export interface CallSite {
4
+ getThis(): any;
5
+ getTypeName(): string;
6
+ getFunctionName(): string;
7
+ getMethodName(): string;
8
+ getFileName(): string;
9
+ getLineNumber(): number;
10
+ getColumnNumber(): number;
11
+ getFunction(): Function;
12
+ getEvalOrigin(): string;
13
+ isNative(): boolean;
14
+ isToplevel(): boolean;
15
+ isEval(): boolean;
16
+ isConstructor(): boolean;
17
+ }
18
+ /**
19
+ * Get callsites from the V8 stack trace API
20
+ *
21
+ * https://github.com/sindresorhus/callsites
22
+ */
23
+ export declare function callsites(): CallSite[];
24
+ /**
25
+ * Find a file by walking up parent directories
26
+ */
27
+ export declare function findUp(name: string, directory?: string): string | undefined;
28
+ /**
29
+ * Find the lowest of multiple files by walking up parent directories. If
30
+ * multiple files exist at the same level, they will all be returned.
31
+ */
32
+ export declare function findUpMultiple(names: string[], directory?: string): string[];
33
+ /**
34
+ * Spawn sync with error handling
35
+ */
36
+ export declare function exec(cmd: string, args: string[], options?: SpawnSyncOptions): import("child_process").SpawnSyncReturns<string | Buffer<ArrayBufferLike>>;
37
+ /**
38
+ * Returns a module version by requiring its package.json file
39
+ */
40
+ export declare function tryGetModuleVersionFromRequire(mod: string): string | undefined;
41
+ /**
42
+ * Gets module version from package.json content
43
+ */
44
+ export declare function tryGetModuleVersionFromPkg(mod: string, pkgJson: {
45
+ [key: string]: any;
46
+ }, pkgPath: string): string | undefined;
47
+ /**
48
+ * Extract versions for a list of modules.
49
+ *
50
+ * First lookup the version in the package.json and then fallback to requiring
51
+ * the module's package.json. The fallback is needed for transitive dependencies.
52
+ */
53
+ export declare function extractDependencies(pkgPath: string, modules: string[]): {
54
+ [key: string]: string;
55
+ };
56
+ export declare function getTsconfigCompilerOptions(tsconfigPath: string): string;
57
+ /**
58
+ * Detect if a given Node.js runtime uses SDKv2
59
+ */
60
+ export declare function isSdkV2Runtime(runtime: Runtime): boolean;