@remotion/lambda 4.0.0-imgloading.2 → 4.0.0-jshmr2.1

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 (401) hide show
  1. package/LICENSE.md +8 -8
  2. package/dist/admin/bundle-lambda.d.ts +0 -0
  3. package/dist/admin/bundle-lambda.js +21 -4
  4. package/dist/admin/generate-etag-list.d.ts +1 -0
  5. package/dist/admin/generate-etag-list.js +14 -0
  6. package/dist/admin/make-layer-public.d.ts +0 -0
  7. package/dist/admin/make-layer-public.js +30 -8
  8. package/dist/api/bucket-exists.d.ts +1 -1
  9. package/dist/api/bucket-exists.js +1 -1
  10. package/dist/api/clean-items.d.ts +1 -1
  11. package/dist/api/clean-items.js +1 -1
  12. package/dist/api/create-bucket.d.ts +1 -1
  13. package/dist/api/create-bucket.js +1 -1
  14. package/dist/api/create-function.d.ts +4 -3
  15. package/dist/api/create-function.js +27 -4
  16. package/dist/api/delete-function.d.ts +2 -2
  17. package/dist/api/delete-function.js +1 -1
  18. package/dist/api/delete-render.d.ts +19 -0
  19. package/dist/api/delete-render.js +66 -0
  20. package/dist/api/delete-site.d.ts +2 -2
  21. package/dist/api/delete-site.js +1 -6
  22. package/dist/api/deploy-function.d.ts +4 -3
  23. package/dist/api/deploy-function.js +11 -4
  24. package/dist/api/deploy-site.d.ts +13 -4
  25. package/dist/api/deploy-site.js +50 -22
  26. package/dist/api/download-media.d.ts +15 -2
  27. package/dist/api/download-media.js +15 -3
  28. package/dist/api/estimate-price.d.ts +3 -3
  29. package/dist/api/estimate-price.js +1 -1
  30. package/dist/api/get-aws-client.d.ts +8 -4
  31. package/dist/api/get-aws-client.js +15 -4
  32. package/dist/api/get-buckets.d.ts +1 -1
  33. package/dist/api/get-buckets.js +27 -10
  34. package/dist/api/get-compositions-on-lambda.d.ts +29 -0
  35. package/dist/api/get-compositions-on-lambda.js +54 -0
  36. package/dist/api/get-function-info.d.ts +3 -4
  37. package/dist/api/get-function-info.js +1 -1
  38. package/dist/api/get-functions.d.ts +3 -5
  39. package/dist/api/get-functions.js +3 -4
  40. package/dist/api/get-or-create-bucket.d.ts +2 -2
  41. package/dist/api/get-or-create-bucket.js +4 -9
  42. package/dist/api/get-regions.d.ts +7 -3
  43. package/dist/api/get-regions.js +6 -3
  44. package/dist/api/get-render-progress.d.ts +7 -4
  45. package/dist/api/get-render-progress.js +6 -2
  46. package/dist/api/get-sites.d.ts +4 -4
  47. package/dist/api/get-sites.js +1 -2
  48. package/dist/api/iam-validation/role-permissions.d.ts +2 -1
  49. package/dist/api/iam-validation/role-permissions.js +0 -0
  50. package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
  51. package/dist/api/iam-validation/simulate-rule.js +0 -22
  52. package/dist/api/iam-validation/simulate.d.ts +3 -3
  53. package/dist/api/iam-validation/simulate.js +25 -6
  54. package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
  55. package/dist/api/iam-validation/suggested-policy.js +0 -0
  56. package/dist/api/iam-validation/user-permissions.d.ts +1 -1
  57. package/dist/api/iam-validation/user-permissions.js +1 -8
  58. package/dist/api/mock-functions.d.ts +6 -7
  59. package/dist/api/mock-functions.js +0 -0
  60. package/dist/api/presign-url.d.ts +5 -5
  61. package/dist/api/presign-url.js +9 -4
  62. package/dist/api/render-media-on-lambda.d.ts +38 -17
  63. package/dist/api/render-media-on-lambda.js +88 -38
  64. package/dist/api/render-still-on-lambda.d.ts +12 -7
  65. package/dist/api/render-still-on-lambda.js +58 -31
  66. package/dist/api/upload-dir.d.ts +6 -5
  67. package/dist/api/upload-dir.js +58 -50
  68. package/dist/api/validate-webhook-signature.d.ts +13 -0
  69. package/dist/api/validate-webhook-signature.js +32 -0
  70. package/dist/cli/args.d.ts +13 -5
  71. package/dist/cli/args.js +1 -5
  72. package/dist/cli/commands/compositions/index.d.ts +2 -0
  73. package/dist/cli/commands/compositions/index.js +44 -0
  74. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  75. package/dist/cli/commands/functions/deploy.js +10 -6
  76. package/dist/cli/commands/functions/index.d.ts +0 -0
  77. package/dist/cli/commands/functions/index.js +16 -17
  78. package/dist/cli/commands/functions/ls.d.ts +0 -0
  79. package/dist/cli/commands/functions/ls.js +5 -6
  80. package/dist/cli/commands/functions/rm.d.ts +0 -0
  81. package/dist/cli/commands/functions/rm.js +0 -0
  82. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  83. package/dist/cli/commands/functions/rmall.js +0 -0
  84. package/dist/cli/commands/policies/policies.d.ts +0 -0
  85. package/dist/cli/commands/policies/policies.js +0 -0
  86. package/dist/cli/commands/policies/role.d.ts +0 -0
  87. package/dist/cli/commands/policies/role.js +0 -0
  88. package/dist/cli/commands/policies/user.d.ts +0 -0
  89. package/dist/cli/commands/policies/user.js +0 -0
  90. package/dist/cli/commands/policies/validate.d.ts +0 -0
  91. package/dist/cli/commands/policies/validate.js +0 -0
  92. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  93. package/dist/cli/commands/quotas/increase.js +6 -6
  94. package/dist/cli/commands/quotas/index.d.ts +0 -0
  95. package/dist/cli/commands/quotas/index.js +8 -9
  96. package/dist/cli/commands/quotas/list.d.ts +0 -0
  97. package/dist/cli/commands/quotas/list.js +0 -0
  98. package/dist/cli/commands/regions.d.ts +0 -0
  99. package/dist/cli/commands/regions.js +6 -2
  100. package/dist/cli/commands/render/progress.d.ts +11 -7
  101. package/dist/cli/commands/render/progress.js +66 -48
  102. package/dist/cli/commands/render/render.d.ts +1 -1
  103. package/dist/cli/commands/render/render.js +80 -25
  104. package/dist/cli/commands/sites/create.d.ts +1 -1
  105. package/dist/cli/commands/sites/create.js +25 -26
  106. package/dist/cli/commands/sites/index.d.ts +1 -1
  107. package/dist/cli/commands/sites/index.js +15 -16
  108. package/dist/cli/commands/sites/ls.d.ts +0 -0
  109. package/dist/cli/commands/sites/ls.js +10 -12
  110. package/dist/cli/commands/sites/rm.d.ts +0 -0
  111. package/dist/cli/commands/sites/rm.js +8 -19
  112. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  113. package/dist/cli/commands/sites/rmall.js +7 -19
  114. package/dist/cli/commands/still.d.ts +1 -1
  115. package/dist/cli/commands/still.js +34 -27
  116. package/dist/cli/get-aws-region.d.ts +1 -1
  117. package/dist/cli/get-aws-region.js +2 -1
  118. package/dist/cli/help.d.ts +0 -0
  119. package/dist/cli/help.js +0 -0
  120. package/dist/cli/helpers/confirm.d.ts +0 -0
  121. package/dist/cli/helpers/confirm.js +0 -0
  122. package/dist/cli/helpers/date-string.d.ts +0 -0
  123. package/dist/cli/helpers/date-string.js +0 -0
  124. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  125. package/dist/cli/helpers/find-function-name.js +37 -7
  126. package/dist/cli/helpers/progress-bar.d.ts +9 -3
  127. package/dist/cli/helpers/progress-bar.js +20 -8
  128. package/dist/cli/helpers/quit.d.ts +0 -0
  129. package/dist/cli/helpers/quit.js +0 -0
  130. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  131. package/dist/cli/helpers/yes-or-no.js +0 -0
  132. package/dist/cli/index.d.ts +1 -1
  133. package/dist/cli/index.js +30 -9
  134. package/dist/cli/is-cli.d.ts +0 -0
  135. package/dist/cli/is-cli.js +0 -0
  136. package/dist/cli/log.d.ts +0 -0
  137. package/dist/cli/log.js +0 -0
  138. package/dist/client.d.ts +8 -2
  139. package/dist/client.js +9 -1
  140. package/dist/defaults.d.ts +0 -0
  141. package/dist/defaults.js +5 -1
  142. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +3 -10
  143. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -19
  144. package/dist/functions/chunk-optimization/types.d.ts +0 -11
  145. package/dist/functions/chunk-optimization/types.js +0 -0
  146. package/dist/functions/compositions.d.ts +8 -0
  147. package/dist/functions/compositions.js +58 -0
  148. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  149. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  150. package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
  151. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  152. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
  153. package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
  154. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  155. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  156. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  157. package/dist/functions/helpers/clean-tmpdir.js +1 -1
  158. package/dist/functions/helpers/concat-videos.d.ts +19 -7
  159. package/dist/functions/helpers/concat-videos.js +41 -33
  160. package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
  161. package/dist/functions/helpers/create-post-render-data.js +5 -12
  162. package/dist/functions/helpers/delete-chunks.d.ts +3 -3
  163. package/dist/functions/helpers/delete-chunks.js +0 -0
  164. package/dist/functions/helpers/expected-out-name.d.ts +4 -2
  165. package/dist/functions/helpers/expected-out-name.js +27 -6
  166. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +5 -3
  167. package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
  168. package/dist/functions/helpers/format-costs-info.d.ts +1 -1
  169. package/dist/functions/helpers/format-costs-info.js +0 -0
  170. package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
  171. package/dist/functions/helpers/get-browser-instance.js +2 -2
  172. package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
  173. package/dist/functions/helpers/get-chromium-executable-path.js +3 -2
  174. package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
  175. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  176. package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
  177. package/dist/functions/helpers/get-current-architecture.js +0 -0
  178. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  179. package/dist/functions/helpers/get-current-region.js +0 -0
  180. package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
  181. package/dist/functions/helpers/get-custom-out-name.js +31 -0
  182. package/dist/functions/helpers/get-encoding-metadata.d.ts +6 -9
  183. package/dist/functions/helpers/get-encoding-metadata.js +7 -17
  184. package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
  185. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  186. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  187. package/dist/functions/helpers/get-files-to-delete.js +3 -3
  188. package/dist/functions/helpers/get-final-encoding-status.d.ts +3 -5
  189. package/dist/functions/helpers/get-final-encoding-status.js +1 -4
  190. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  191. package/dist/functions/helpers/get-folder-size.js +0 -0
  192. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +5 -4
  193. package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
  194. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +3 -2
  195. package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
  196. package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
  197. package/dist/functions/helpers/get-overall-progress.js +7 -5
  198. package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
  199. package/dist/functions/helpers/get-post-render-data.js +0 -0
  200. package/dist/functions/helpers/get-progress.d.ts +6 -4
  201. package/dist/functions/helpers/get-progress.js +65 -46
  202. package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
  203. package/dist/functions/helpers/get-render-metadata.js +0 -0
  204. package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
  205. package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
  206. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  207. package/dist/functions/helpers/get-retry-stats.js +1 -1
  208. package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
  209. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  210. package/dist/functions/helpers/inspect-errors.d.ts +3 -3
  211. package/dist/functions/helpers/inspect-errors.js +0 -0
  212. package/dist/functions/helpers/io.d.ts +24 -6
  213. package/dist/functions/helpers/io.js +31 -8
  214. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  215. package/dist/functions/helpers/is-enosp-err.js +0 -0
  216. package/dist/functions/helpers/is-warm.d.ts +0 -0
  217. package/dist/functions/helpers/is-warm.js +0 -0
  218. package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
  219. package/dist/functions/helpers/make-timeout-error.js +48 -0
  220. package/dist/functions/helpers/min-max.d.ts +1 -1
  221. package/dist/functions/helpers/min-max.js +1 -1
  222. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
  223. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  224. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  225. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  226. package/dist/functions/helpers/read-with-progress.d.ts +6 -3
  227. package/dist/functions/helpers/read-with-progress.js +16 -4
  228. package/dist/functions/helpers/timer.d.ts +0 -0
  229. package/dist/functions/helpers/timer.js +0 -0
  230. package/dist/functions/helpers/validate-composition.d.ts +12 -4
  231. package/dist/functions/helpers/validate-composition.js +14 -2
  232. package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
  233. package/dist/functions/helpers/write-lambda-error.js +2 -0
  234. package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
  235. package/dist/functions/helpers/write-post-render-data.js +2 -0
  236. package/dist/functions/index.d.ts +3 -2
  237. package/dist/functions/index.js +29 -10
  238. package/dist/functions/info.d.ts +2 -2
  239. package/dist/functions/info.js +2 -1
  240. package/dist/functions/launch.d.ts +2 -1
  241. package/dist/functions/launch.js +360 -123
  242. package/dist/functions/progress.d.ts +2 -2
  243. package/dist/functions/progress.js +10 -1
  244. package/dist/functions/renderer.d.ts +1 -1
  245. package/dist/functions/renderer.js +144 -79
  246. package/dist/functions/start.d.ts +6 -2
  247. package/dist/functions/start.js +44 -6
  248. package/dist/functions/still.d.ts +1 -1
  249. package/dist/functions/still.js +78 -21
  250. package/dist/index.d.ts +57 -21
  251. package/dist/index.js +27 -5
  252. package/dist/internals.d.ts +1 -1
  253. package/dist/internals.js +0 -0
  254. package/dist/pricing/aws-regions.d.ts +2 -1
  255. package/dist/pricing/aws-regions.js +31 -1
  256. package/dist/pricing/price-per-1-s.d.ts +1 -1
  257. package/dist/pricing/price-per-1-s.js +413 -39
  258. package/dist/regions.d.ts +0 -0
  259. package/dist/regions.js +0 -0
  260. package/dist/shared/await.d.ts +0 -0
  261. package/dist/shared/await.js +0 -0
  262. package/dist/shared/aws-clients.d.ts +17 -3
  263. package/dist/shared/aws-clients.js +118 -26
  264. package/dist/shared/bundle-site.d.ts +2 -6
  265. package/dist/shared/bundle-site.js +0 -0
  266. package/dist/shared/call-lambda.d.ts +3 -3
  267. package/dist/shared/call-lambda.js +0 -0
  268. package/dist/shared/check-credentials.d.ts +0 -0
  269. package/dist/shared/check-credentials.js +5 -2
  270. package/dist/shared/chunk-progress.d.ts +9 -0
  271. package/dist/shared/chunk-progress.js +2034 -0
  272. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  273. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  274. package/dist/shared/constants.d.ts +119 -37
  275. package/dist/shared/constants.js +21 -10
  276. package/dist/shared/content-disposition-header.d.ts +7 -0
  277. package/dist/shared/content-disposition-header.js +19 -0
  278. package/dist/shared/convert-to-serve-url.d.ts +6 -2
  279. package/dist/shared/convert-to-serve-url.js +1 -5
  280. package/dist/shared/deserialize-input-props.d.ts +8 -0
  281. package/dist/shared/deserialize-input-props.js +26 -0
  282. package/dist/shared/docs-url.d.ts +0 -0
  283. package/dist/shared/docs-url.js +0 -0
  284. package/dist/shared/function-zip-path.d.ts +2 -1
  285. package/dist/shared/function-zip-path.js +3 -2
  286. package/dist/shared/get-account-id.d.ts +1 -1
  287. package/dist/shared/get-account-id.js +4 -6
  288. package/dist/shared/get-aws-urls.d.ts +14 -0
  289. package/dist/shared/get-aws-urls.js +12 -0
  290. package/dist/shared/get-etag.d.ts +1 -0
  291. package/dist/shared/get-etag.js +24 -0
  292. package/dist/shared/get-function-version.d.ts +2 -3
  293. package/dist/shared/get-function-version.js +0 -0
  294. package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
  295. package/dist/shared/get-most-expensive-chunks.js +26 -0
  296. package/dist/shared/get-s3-operations.d.ts +10 -0
  297. package/dist/shared/get-s3-operations.js +36 -0
  298. package/dist/shared/hosted-layers.d.ts +89 -3
  299. package/dist/shared/hosted-layers.js +434 -125
  300. package/dist/shared/invoke-webhook.d.ts +46 -0
  301. package/dist/shared/invoke-webhook.js +89 -0
  302. package/dist/shared/is-in-lambda.d.ts +0 -0
  303. package/dist/shared/is-in-lambda.js +5 -1
  304. package/dist/shared/lambda-version-string.d.ts +1 -0
  305. package/dist/shared/lambda-version-string.js +7 -0
  306. package/dist/shared/make-s3-key.d.ts +1 -0
  307. package/dist/shared/make-s3-key.js +11 -0
  308. package/dist/shared/make-s3-url.d.ts +1 -1
  309. package/dist/shared/make-s3-url.js +0 -0
  310. package/dist/shared/p-limit.d.ts +0 -0
  311. package/dist/shared/p-limit.js +0 -0
  312. package/dist/shared/parse-chunk-key.d.ts +4 -0
  313. package/dist/shared/parse-chunk-key.js +14 -0
  314. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  315. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  316. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  317. package/dist/shared/parse-lambda-timings-key.js +0 -0
  318. package/dist/shared/random-hash.d.ts +2 -2
  319. package/dist/shared/random-hash.js +1 -1
  320. package/dist/shared/read-dir.d.ts +9 -0
  321. package/dist/shared/read-dir.js +57 -0
  322. package/dist/shared/return-values.d.ts +9 -7
  323. package/dist/shared/return-values.js +0 -1
  324. package/dist/shared/serialize-input-props.d.ts +8 -0
  325. package/dist/shared/serialize-input-props.js +42 -0
  326. package/dist/shared/sleep.d.ts +0 -0
  327. package/dist/shared/sleep.js +0 -0
  328. package/dist/shared/stream-to-string.d.ts +2 -1
  329. package/dist/shared/stream-to-string.js +0 -0
  330. package/dist/shared/truthy.d.ts +3 -0
  331. package/dist/shared/truthy.js +7 -0
  332. package/dist/shared/validate-architecture.d.ts +0 -0
  333. package/dist/shared/validate-architecture.js +0 -0
  334. package/dist/shared/validate-aws-region.d.ts +1 -1
  335. package/dist/shared/validate-aws-region.js +0 -0
  336. package/dist/shared/validate-bucketname.d.ts +5 -0
  337. package/dist/shared/validate-bucketname.js +19 -1
  338. package/dist/shared/validate-custom-role-arn.d.ts +1 -0
  339. package/dist/shared/validate-custom-role-arn.js +11 -0
  340. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  341. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  342. package/dist/shared/validate-download-behavior.d.ts +1 -0
  343. package/dist/shared/validate-download-behavior.js +21 -0
  344. package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
  345. package/dist/shared/validate-frames-per-lambda.js +4 -3
  346. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  347. package/dist/shared/validate-lambda-codec.js +30 -0
  348. package/dist/shared/validate-memory-size.d.ts +0 -0
  349. package/dist/shared/validate-memory-size.js +0 -0
  350. package/dist/shared/validate-outname.d.ts +3 -2
  351. package/dist/shared/validate-outname.js +10 -1
  352. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  353. package/dist/shared/validate-presign-expiration.js +7 -7
  354. package/dist/shared/validate-privacy.d.ts +1 -1
  355. package/dist/shared/validate-privacy.js +2 -2
  356. package/dist/shared/validate-retention-period.d.ts +0 -0
  357. package/dist/shared/validate-retention-period.js +0 -0
  358. package/dist/shared/validate-retries.d.ts +0 -0
  359. package/dist/shared/validate-retries.js +0 -0
  360. package/dist/shared/validate-serveurl.d.ts +0 -0
  361. package/dist/shared/validate-serveurl.js +0 -0
  362. package/dist/shared/validate-site-name.d.ts +0 -0
  363. package/dist/shared/validate-site-name.js +0 -0
  364. package/dist/shared/validate-timeout.d.ts +0 -0
  365. package/dist/shared/validate-timeout.js +0 -0
  366. package/package.json +55 -32
  367. package/remotionlambda-arm64.zip +0 -0
  368. package/remotionlambda-x64.zip +0 -0
  369. package/remotionlambda.zip +0 -0
  370. package/.prettierrc.js +0 -14
  371. package/client.d.ts +0 -1
  372. package/client.js +0 -1
  373. package/dist/api/enable-s3-website.d.ts +0 -5
  374. package/dist/api/enable-s3-website.js +0 -16
  375. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  376. package/dist/cli/helpers/format-bytes.js +0 -103
  377. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  378. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  379. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  380. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  381. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  382. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  383. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -6
  384. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  385. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  386. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  387. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  388. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  389. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  390. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  391. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -15
  392. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  393. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  394. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -45
  395. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -10
  396. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  397. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  398. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  399. package/dist/shared/chunk.d.ts +0 -1
  400. package/dist/shared/chunk.js +0 -11
  401. package/tsconfig.json +0 -16
@@ -1,22 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deploySite = void 0;
4
- const remotion_1 = require("remotion");
5
- const delete_site_1 = require("../api/delete-site");
4
+ const fs_1 = require("fs");
5
+ const io_1 = require("../functions/helpers/io");
6
6
  const bundle_site_1 = require("../shared/bundle-site");
7
7
  const constants_1 = require("../shared/constants");
8
8
  const get_account_id_1 = require("../shared/get-account-id");
9
+ const get_s3_operations_1 = require("../shared/get-s3-operations");
9
10
  const make_s3_url_1 = require("../shared/make-s3-url");
10
11
  const random_hash_1 = require("../shared/random-hash");
11
12
  const validate_aws_region_1 = require("../shared/validate-aws-region");
12
13
  const validate_bucketname_1 = require("../shared/validate-bucketname");
13
14
  const validate_site_name_1 = require("../shared/validate-site-name");
14
15
  const bucket_exists_1 = require("./bucket-exists");
15
- const enable_s3_website_1 = require("./enable-s3-website");
16
16
  const upload_dir_1 = require("./upload-dir");
17
17
  /**
18
18
  * @description Deploys a Remotion project to an S3 bucket to prepare it for rendering on AWS Lambda.
19
- * @link https://remotion.dev/docs/lambda/deploysite
19
+ * @see [Documentation](https://remotion.dev/docs/lambda/deploysite)
20
20
  * @param {AwsRegion} params.region The region in which the S3 bucket resides in.
21
21
  * @param {string} params.entryPoint An absolute path to the entry file of your Remotion project.
22
22
  * @param {string} params.bucketName The name of the bucket to deploy your project into.
@@ -26,46 +26,74 @@ const upload_dir_1 = require("./upload-dir");
26
26
  const deploySite = async ({ bucketName, entryPoint, siteName, options, region, }) => {
27
27
  var _a, _b, _c, _d;
28
28
  (0, validate_aws_region_1.validateAwsRegion)(region);
29
- (0, validate_bucketname_1.validateBucketName)(bucketName, { mustStartWithRemotion: true });
29
+ (0, validate_bucketname_1.validateBucketName)(bucketName, {
30
+ mustStartWithRemotion: !(options === null || options === void 0 ? void 0 : options.bypassBucketNameValidation),
31
+ });
30
32
  const siteId = siteName !== null && siteName !== void 0 ? siteName : (0, random_hash_1.randomHash)();
31
33
  (0, validate_site_name_1.validateSiteName)(siteId);
34
+ const accountId = await (0, get_account_id_1.getAccountId)({ region });
32
35
  const bucketExists = await (0, bucket_exists_1.bucketExistsInRegion)({
33
36
  bucketName,
34
37
  region,
35
- expectedBucketOwner: await (0, get_account_id_1.getAccountId)({ region }),
38
+ expectedBucketOwner: accountId,
36
39
  });
37
40
  if (!bucketExists) {
38
41
  throw new Error(`No bucket with the name ${bucketName} exists`);
39
42
  }
40
43
  const subFolder = (0, constants_1.getSitesKey)(siteId);
41
- await (0, delete_site_1.deleteSite)({
42
- bucketName,
43
- onAfterItemDeleted: () => undefined,
44
- region,
45
- siteName: siteId,
46
- });
47
- const bundled = await (0, bundle_site_1.bundleSite)(entryPoint, (_a = options === null || options === void 0 ? void 0 : options.onBundleProgress) !== null && _a !== void 0 ? _a : (() => undefined), {
48
- publicPath: `/${subFolder}/`,
49
- webpackOverride: (_b = options === null || options === void 0 ? void 0 : options.webpackOverride) !== null && _b !== void 0 ? _b : remotion_1.Internals.getWebpackOverrideFn(),
50
- enableCaching: (_c = options === null || options === void 0 ? void 0 : options.enableCaching) !== null && _c !== void 0 ? _c : remotion_1.Internals.getWebpackCaching(),
44
+ const [files, bundled] = await Promise.all([
45
+ (0, io_1.lambdaLs)({
46
+ bucketName,
47
+ expectedBucketOwner: accountId,
48
+ region,
49
+ prefix: subFolder,
50
+ }),
51
+ (0, bundle_site_1.bundleSite)({
52
+ publicPath: `/${subFolder}/`,
53
+ webpackOverride: (_a = options === null || options === void 0 ? void 0 : options.webpackOverride) !== null && _a !== void 0 ? _a : ((f) => f),
54
+ enableCaching: (_b = options === null || options === void 0 ? void 0 : options.enableCaching) !== null && _b !== void 0 ? _b : true,
55
+ publicDir: options === null || options === void 0 ? void 0 : options.publicDir,
56
+ rootDir: options === null || options === void 0 ? void 0 : options.rootDir,
57
+ ignoreRegisterRootWarning: options === null || options === void 0 ? void 0 : options.ignoreRegisterRootWarning,
58
+ onProgress: (_c = options === null || options === void 0 ? void 0 : options.onBundleProgress) !== null && _c !== void 0 ? _c : (() => undefined),
59
+ entryPoint,
60
+ }),
61
+ ]);
62
+ const { toDelete, toUpload, existingCount } = await (0, get_s3_operations_1.getS3DiffOperations)({
63
+ objects: files,
64
+ bundle: bundled,
65
+ prefix: subFolder,
51
66
  });
52
67
  await Promise.all([
53
68
  (0, upload_dir_1.uploadDir)({
54
69
  bucket: bucketName,
55
70
  region,
56
- dir: bundled,
71
+ localDir: bundled,
57
72
  onProgress: (_d = options === null || options === void 0 ? void 0 : options.onUploadProgress) !== null && _d !== void 0 ? _d : (() => undefined),
58
- folder: subFolder,
73
+ keyPrefix: subFolder,
59
74
  privacy: 'public',
75
+ toUpload,
60
76
  }),
61
- (0, enable_s3_website_1.enableS3Website)({
62
- region,
63
- bucketName,
64
- }),
77
+ Promise.all(toDelete.map((d) => {
78
+ return (0, io_1.lambdaDeleteFile)({
79
+ bucketName,
80
+ customCredentials: null,
81
+ key: d.Key,
82
+ region,
83
+ });
84
+ })),
65
85
  ]);
86
+ if (!process.env.VITEST) {
87
+ (0, fs_1.rmdirSync)(bundled, { recursive: true });
88
+ }
66
89
  return {
67
90
  serveUrl: (0, make_s3_url_1.makeS3ServeUrl)({ bucketName, subFolder, region }),
68
91
  siteName: siteId,
92
+ stats: {
93
+ uploadedFiles: toUpload.length,
94
+ deletedFiles: toDelete.length,
95
+ untouchedFiles: existingCount,
96
+ },
69
97
  };
70
98
  };
71
99
  exports.deploySite = deploySite;
@@ -1,16 +1,29 @@
1
- import { LambdaReadFileProgress } from '../functions/helpers/read-with-progress';
2
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { LambdaReadFileProgress } from '../functions/helpers/read-with-progress';
2
+ import type { AwsRegion } from '../pricing/aws-regions';
3
+ import type { CustomCredentials } from '../shared/aws-clients';
3
4
  export declare type DownloadMediaInput = {
4
5
  region: AwsRegion;
5
6
  bucketName: string;
6
7
  renderId: string;
7
8
  outPath: string;
8
9
  onProgress?: LambdaReadFileProgress;
10
+ customCredentials?: CustomCredentials;
9
11
  };
10
12
  export declare type DownloadMediaOutput = {
11
13
  outputPath: string;
12
14
  sizeInBytes: number;
13
15
  };
16
+ /**
17
+ * @description Triggers a render on a lambda given a composition and a lambda function.
18
+ * @see [Documentation](https://remotion.dev/docs/lambda/downloadmedia)
19
+ * @param params.region The AWS region in which the media resides.
20
+ * @param params.bucketName The `bucketName` that was specified during the render.
21
+ * @param params.renderId The `renderId` that was obtained after triggering the render.
22
+ * @param params.outPath Where to save the media.
23
+ * @param params.onProgress Progress callback function - see docs for details.
24
+ * @param params.customCredentials If the file was saved to a foreign cloud, pass credentials for reading from it.
25
+ * @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
26
+ */
14
27
  export declare const downloadMedia: (input: DownloadMediaInput) => Promise<DownloadMediaOutput>;
15
28
  /**
16
29
  * @deprecated Renamed to downloadMedia()
@@ -10,8 +10,19 @@ const expected_out_name_1 = require("../functions/helpers/expected-out-name");
10
10
  const get_render_metadata_1 = require("../functions/helpers/get-render-metadata");
11
11
  const read_with_progress_1 = require("../functions/helpers/read-with-progress");
12
12
  const get_account_id_1 = require("../shared/get-account-id");
13
+ /**
14
+ * @description Triggers a render on a lambda given a composition and a lambda function.
15
+ * @see [Documentation](https://remotion.dev/docs/lambda/downloadmedia)
16
+ * @param params.region The AWS region in which the media resides.
17
+ * @param params.bucketName The `bucketName` that was specified during the render.
18
+ * @param params.renderId The `renderId` that was obtained after triggering the render.
19
+ * @param params.outPath Where to save the media.
20
+ * @param params.onProgress Progress callback function - see docs for details.
21
+ * @param params.customCredentials If the file was saved to a foreign cloud, pass credentials for reading from it.
22
+ * @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
23
+ */
13
24
  const downloadMedia = async (input) => {
14
- var _a;
25
+ var _a, _b;
15
26
  const expectedBucketOwner = await (0, get_account_id_1.getAccountId)({
16
27
  region: input.region,
17
28
  });
@@ -23,14 +34,15 @@ const downloadMedia = async (input) => {
23
34
  });
24
35
  const outputPath = path_1.default.resolve(process.cwd(), input.outPath);
25
36
  renderer_1.RenderInternals.ensureOutputDirectory(outputPath);
26
- const { key, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, input.bucketName);
37
+ const { key, renderBucketName, customCredentials } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, input.bucketName, (_a = input.customCredentials) !== null && _a !== void 0 ? _a : null);
27
38
  const { sizeInBytes } = await (0, read_with_progress_1.lambdaDownloadFileWithProgress)({
28
39
  bucketName: renderBucketName,
29
40
  expectedBucketOwner,
30
41
  key,
31
42
  region: input.region,
32
- onProgress: (_a = input.onProgress) !== null && _a !== void 0 ? _a : (() => undefined),
43
+ onProgress: (_b = input.onProgress) !== null && _b !== void 0 ? _b : (() => undefined),
33
44
  outputPath,
45
+ customCredentials,
34
46
  });
35
47
  return {
36
48
  outputPath,
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaArchitecture } from '../shared/validate-architecture';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { LambdaArchitecture } from '../shared/validate-architecture';
3
3
  export declare type EstimatePriceInput = {
4
4
  region: AwsRegion;
5
5
  durationInMiliseconds: number;
@@ -11,7 +11,7 @@ export declare type EstimatePriceInput = {
11
11
  /**
12
12
  *
13
13
  * @description Calculates the AWS costs incurred for AWS Lambda given the region, execution duration and memory size.
14
- * @link https://remotion.dev/docs/lambda/estimateprice
14
+ * @see [Documentation](https://remotion.dev/docs/lambda/estimateprice)
15
15
  * @returns {number} Price in USD
16
16
  */
17
17
  export declare const estimatePrice: ({ region, durationInMiliseconds, memorySizeInMb, diskSizeInMb, architecture, lambdasInvoked, }: EstimatePriceInput) => number;
@@ -10,7 +10,7 @@ const validate_memory_size_1 = require("../shared/validate-memory-size");
10
10
  /**
11
11
  *
12
12
  * @description Calculates the AWS costs incurred for AWS Lambda given the region, execution duration and memory size.
13
- * @link https://remotion.dev/docs/lambda/estimateprice
13
+ * @see [Documentation](https://remotion.dev/docs/lambda/estimateprice)
14
14
  * @returns {number} Price in USD
15
15
  */
16
16
  const estimatePrice = ({ region, durationInMiliseconds, memorySizeInMb, diskSizeInMb, architecture, lambdasInvoked, }) => {
@@ -3,11 +3,13 @@ import * as IamSdk from '@aws-sdk/client-iam';
3
3
  import * as LambdaSDK from '@aws-sdk/client-lambda';
4
4
  import * as S3SDK from '@aws-sdk/client-s3';
5
5
  import * as ServiceQuotasSDK from '@aws-sdk/client-service-quotas';
6
- import { AwsRegion } from '../client';
7
- import { ServiceMapping } from '../shared/aws-clients';
6
+ import * as StsSdk from '@aws-sdk/client-sts';
7
+ import type { AwsRegion } from '../client';
8
+ import type { CustomCredentials, ServiceMapping } from '../shared/aws-clients';
8
9
  export declare type GetAwsClientInput<T extends keyof ServiceMapping> = {
9
10
  region: AwsRegion;
10
11
  service: T;
12
+ customCredentials?: CustomCredentials | null;
11
13
  };
12
14
  declare type SdkMapping = {
13
15
  s3: typeof S3SDK;
@@ -15,6 +17,7 @@ declare type SdkMapping = {
15
17
  iam: typeof IamSdk;
16
18
  lambda: typeof LambdaSDK;
17
19
  servicequotas: typeof ServiceQuotasSDK;
20
+ sts: typeof StsSdk;
18
21
  };
19
22
  export declare type GetAwsClientOutput<T extends keyof ServiceMapping> = {
20
23
  client: ServiceMapping[T];
@@ -22,10 +25,11 @@ export declare type GetAwsClientOutput<T extends keyof ServiceMapping> = {
22
25
  };
23
26
  /**
24
27
  * @description Gets the full AWS SDK and an instantiated client for an AWS service
25
- * @link https://remotion.dev/docs/lambda/getawsclient
28
+ * @see [Documentation](https://remotion.dev/docs/lambda/getawsclient)
26
29
  * @param {AwsRegion} params.region The region in which the S3 bucket resides in.
27
30
  * @param {string} params.service One of `iam`, `s3`, `cloudwatch`, `iam` or `servicequotas`
31
+ * @param {CustomCredentials} params.customCredentials Pass endpoint and credentials if you want to connect to a different cloud for S3
28
32
  * @returns {GetAwsClientOutput<T>} Returns `client` and `sdk` of a AWS service
29
33
  */
30
- export declare const getAwsClient: <T extends keyof ServiceMapping>({ region, service, }: GetAwsClientInput<T>) => GetAwsClientOutput<T>;
34
+ export declare const getAwsClient: <T extends keyof ServiceMapping>({ region, service, customCredentials, }: GetAwsClientInput<T>) => GetAwsClientOutput<T>;
31
35
  export {};
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -25,23 +29,30 @@ const IamSdk = __importStar(require("@aws-sdk/client-iam"));
25
29
  const LambdaSDK = __importStar(require("@aws-sdk/client-lambda"));
26
30
  const S3SDK = __importStar(require("@aws-sdk/client-s3"));
27
31
  const ServiceQuotasSDK = __importStar(require("@aws-sdk/client-service-quotas"));
32
+ const StsSdk = __importStar(require("@aws-sdk/client-sts"));
28
33
  const aws_clients_1 = require("../shared/aws-clients");
29
34
  /**
30
35
  * @description Gets the full AWS SDK and an instantiated client for an AWS service
31
- * @link https://remotion.dev/docs/lambda/getawsclient
36
+ * @see [Documentation](https://remotion.dev/docs/lambda/getawsclient)
32
37
  * @param {AwsRegion} params.region The region in which the S3 bucket resides in.
33
38
  * @param {string} params.service One of `iam`, `s3`, `cloudwatch`, `iam` or `servicequotas`
39
+ * @param {CustomCredentials} params.customCredentials Pass endpoint and credentials if you want to connect to a different cloud for S3
34
40
  * @returns {GetAwsClientOutput<T>} Returns `client` and `sdk` of a AWS service
35
41
  */
36
- const getAwsClient = ({ region, service, }) => {
42
+ const getAwsClient = ({ region, service, customCredentials, }) => {
37
43
  return {
38
- client: (0, aws_clients_1.getServiceClient)(region, service),
44
+ client: (0, aws_clients_1.getServiceClient)({
45
+ region,
46
+ service,
47
+ customCredentials: customCredentials !== null && customCredentials !== void 0 ? customCredentials : null,
48
+ }),
39
49
  sdk: {
40
50
  lambda: LambdaSDK,
41
51
  cloudwatch: CloudWatchSDK,
42
52
  iam: IamSdk,
43
53
  s3: S3SDK,
44
54
  servicequotas: ServiceQuotasSDK,
55
+ sts: StsSdk,
45
56
  }[service],
46
57
  };
47
58
  };
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare type BucketWithLocation = {
3
3
  name: string;
4
4
  creationDate: number;
@@ -4,26 +4,43 @@ exports.getRemotionS3Buckets = void 0;
4
4
  const client_s3_1 = require("@aws-sdk/client-s3");
5
5
  const aws_clients_1 = require("../shared/aws-clients");
6
6
  const constants_1 = require("../shared/constants");
7
+ const validate_bucketname_1 = require("../shared/validate-bucketname");
7
8
  const getRemotionS3Buckets = async (region) => {
8
- const { Buckets } = await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.ListBucketsCommand({}));
9
+ const { Buckets } = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.ListBucketsCommand({}));
9
10
  if (!Buckets) {
10
11
  return { remotionBuckets: [] };
11
12
  }
12
13
  const remotionBuckets = Buckets.filter((b) => { var _a; return (_a = b.Name) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.REMOTION_BUCKET_PREFIX); });
13
- const locations = await Promise.all(remotionBuckets.map((bucket) => {
14
- return (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.GetBucketLocationCommand({
15
- Bucket: bucket.Name,
16
- }));
14
+ const locations = await Promise.all(remotionBuckets.map(async (bucket) => {
15
+ var _a, _b;
16
+ const { region: parsedRegion } = (0, validate_bucketname_1.parseBucketName)(bucket.Name);
17
+ if (parsedRegion) {
18
+ return parsedRegion;
19
+ }
20
+ try {
21
+ const result = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.GetBucketLocationCommand({
22
+ Bucket: bucket.Name,
23
+ }));
24
+ // AWS docs: Buckets in Region us-east-1 have a LocationConstraint of null!!
25
+ return (_a = result.LocationConstraint) !== null && _a !== void 0 ? _a : 'us-east-1';
26
+ }
27
+ catch (err) {
28
+ // Sometimes the API returns a bucket even if it was deleted before
29
+ if ((_b = err.stack) === null || _b === void 0 ? void 0 : _b.includes('NoSuchBucket')) {
30
+ return null;
31
+ }
32
+ throw err;
33
+ }
17
34
  }));
18
- const bucketsWithLocation = remotionBuckets.map((bucket, i) => {
19
- var _a;
35
+ const bucketsWithLocation = remotionBuckets
36
+ .map((bucket, i) => {
20
37
  return {
21
38
  creationDate: bucket.CreationDate.getTime(),
22
39
  name: bucket.Name,
23
- // AWS docs: Buckets in Region us-east-1 have a LocationConstraint of null!!
24
- region: ((_a = locations[i].LocationConstraint) !== null && _a !== void 0 ? _a : 'us-east-1'),
40
+ region: locations[i],
25
41
  };
26
- });
42
+ })
43
+ .filter((b) => b.region);
27
44
  return {
28
45
  remotionBuckets: bucketsWithLocation.filter((bucket) => {
29
46
  return bucket.region === region;
@@ -0,0 +1,29 @@
1
+ import type { ChromiumOptions, LogLevel } from '@remotion/renderer';
2
+ import type { TCompMetadata } from 'remotion';
3
+ import type { AwsRegion } from '../client';
4
+ export declare type GetCompositionsOnLambdaInput = {
5
+ chromiumOptions?: ChromiumOptions;
6
+ region: AwsRegion;
7
+ inputProps: unknown;
8
+ functionName: string;
9
+ serveUrl: string;
10
+ envVariables?: Record<string, string>;
11
+ logLevel?: LogLevel;
12
+ timeoutInMilliseconds?: number;
13
+ forceBucketName?: string;
14
+ };
15
+ export declare type GetCompositionsOnLambdaOutput = TCompMetadata[];
16
+ /**
17
+ * @description Returns the compositions from a serveUrl
18
+ * @see [Documentation](https://remotion.dev/docs/lambda/getcompositionsonlambda)
19
+ * @param params.functionName The name of the Lambda function that should be used
20
+ * @param params.serveUrl The URL of the deployed project
21
+ * @param params.inputProps The input props that should be passed while the compositions are evaluated.
22
+ * @param params.envVariables Object containing environment variables to be inserted into the video environment
23
+ * @param params.region The AWS region in which the video should be rendered.
24
+ * @param params.logLevel The log level of the Lambda function
25
+ * @param params.timeoutInMilliseconds The timeout of the Lambda function
26
+ * @param params.chromiumOptions The options to pass to Chromium
27
+ * @returns The compositions
28
+ */
29
+ export declare const getCompositionsOnLambda: ({ chromiumOptions, serveUrl, region, inputProps, functionName, envVariables, logLevel, timeoutInMilliseconds, forceBucketName: bucketName, }: GetCompositionsOnLambdaInput) => Promise<GetCompositionsOnLambdaOutput>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCompositionsOnLambda = void 0;
4
+ const version_1 = require("remotion/version");
5
+ const defaults_1 = require("../defaults");
6
+ const call_lambda_1 = require("../shared/call-lambda");
7
+ const serialize_input_props_1 = require("../shared/serialize-input-props");
8
+ /**
9
+ * @description Returns the compositions from a serveUrl
10
+ * @see [Documentation](https://remotion.dev/docs/lambda/getcompositionsonlambda)
11
+ * @param params.functionName The name of the Lambda function that should be used
12
+ * @param params.serveUrl The URL of the deployed project
13
+ * @param params.inputProps The input props that should be passed while the compositions are evaluated.
14
+ * @param params.envVariables Object containing environment variables to be inserted into the video environment
15
+ * @param params.region The AWS region in which the video should be rendered.
16
+ * @param params.logLevel The log level of the Lambda function
17
+ * @param params.timeoutInMilliseconds The timeout of the Lambda function
18
+ * @param params.chromiumOptions The options to pass to Chromium
19
+ * @returns The compositions
20
+ */
21
+ const getCompositionsOnLambda = async ({ chromiumOptions, serveUrl, region, inputProps, functionName, envVariables, logLevel, timeoutInMilliseconds, forceBucketName: bucketName, }) => {
22
+ var _a;
23
+ const serializedInputProps = await (0, serialize_input_props_1.serializeInputProps)({
24
+ inputProps,
25
+ region,
26
+ type: 'still',
27
+ userSpecifiedBucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
28
+ });
29
+ try {
30
+ const res = await (0, call_lambda_1.callLambda)({
31
+ functionName,
32
+ type: defaults_1.LambdaRoutines.compositions,
33
+ payload: {
34
+ chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
35
+ serveUrl,
36
+ envVariables,
37
+ inputProps: serializedInputProps,
38
+ logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
39
+ timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
40
+ version: version_1.VERSION,
41
+ bucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
42
+ },
43
+ region,
44
+ });
45
+ return res.compositions;
46
+ }
47
+ catch (err) {
48
+ if ((_a = err.stack) === null || _a === void 0 ? void 0 : _a.includes('UnrecognizedClientException')) {
49
+ throw new Error('UnrecognizedClientException: The AWS credentials provided were probably mixed up. Learn how to fix this issue here: https://remotion.dev/docs/lambda/troubleshooting/unrecognizedclientexception');
50
+ }
51
+ throw err;
52
+ }
53
+ };
54
+ exports.getCompositionsOnLambda = getCompositionsOnLambda;
@@ -1,10 +1,9 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaVersions } from '../shared/constants';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
3
2
  export declare type FunctionInfo = {
4
3
  functionName: string;
5
4
  timeoutInSeconds: number;
6
5
  memorySizeInMb: number;
7
- version: LambdaVersions | null;
6
+ version: string | null;
8
7
  diskSizeInMb: number;
9
8
  };
10
9
  export declare type GetFunctionInfoInput = {
@@ -13,7 +12,7 @@ export declare type GetFunctionInfoInput = {
13
12
  };
14
13
  /**
15
14
  * @description Given a region and function name, returns information about the function such as version, memory size and timeout.
16
- * @link https://remotion.dev/docs/lambda/getfunctioninfo
15
+ * @see [Documentation](https://remotion.dev/docs/lambda/getfunctioninfo)
17
16
  * @param {AwsRegion} options.region The region in which the function resides in.
18
17
  * @param {string} options.functionName The name of the function
19
18
  * @return {Promise<FunctionInfo>} Promise resolving to information about the function.
@@ -8,7 +8,7 @@ const get_function_version_1 = require("../shared/get-function-version");
8
8
  const validate_aws_region_1 = require("../shared/validate-aws-region");
9
9
  /**
10
10
  * @description Given a region and function name, returns information about the function such as version, memory size and timeout.
11
- * @link https://remotion.dev/docs/lambda/getfunctioninfo
11
+ * @see [Documentation](https://remotion.dev/docs/lambda/getfunctioninfo)
12
12
  * @param {AwsRegion} options.region The region in which the function resides in.
13
13
  * @param {string} options.functionName The name of the function
14
14
  * @return {Promise<FunctionInfo>} Promise resolving to information about the function.
@@ -1,14 +1,12 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { FunctionInfo } from './get-function-info';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { FunctionInfo } from './get-function-info';
3
3
  export declare type GetFunctionsInput = {
4
4
  region: AwsRegion;
5
5
  compatibleOnly: boolean;
6
6
  };
7
7
  /**
8
- *
9
- *
10
8
  * @description Lists Remotion Lambda render functions deployed to AWS Lambda.
11
- * @link https://remotion.dev/docs/lambda/getfunctions
9
+ * @see [Documentation](https://remotion.dev/docs/lambda/getfunctions)
12
10
  * @param options.region The region of which the functions should be listed.
13
11
  * @param options.compatibleOnly Whether only functions compatible with the installed version of Remotion Lambda should be returned.
14
12
  * @returns {Promise<FunctionInfo[]>} An array with the objects containing information about the deployed functions.
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFunctions = void 0;
4
4
  const client_lambda_1 = require("@aws-sdk/client-lambda");
5
+ const version_1 = require("remotion/version");
5
6
  const aws_clients_1 = require("../shared/aws-clients");
6
7
  const constants_1 = require("../shared/constants");
7
8
  const get_function_version_1 = require("../shared/get-function-version");
@@ -26,10 +27,8 @@ const getAllFunctions = async ({ existing, nextMarker, region, }) => {
26
27
  return allLambdas;
27
28
  };
28
29
  /**
29
- *
30
- *
31
30
  * @description Lists Remotion Lambda render functions deployed to AWS Lambda.
32
- * @link https://remotion.dev/docs/lambda/getfunctions
31
+ * @see [Documentation](https://remotion.dev/docs/lambda/getfunctions)
33
32
  * @param options.region The region of which the functions should be listed.
34
33
  * @param options.compatibleOnly Whether only functions compatible with the installed version of Remotion Lambda should be returned.
35
34
  * @returns {Promise<FunctionInfo[]>} An array with the objects containing information about the deployed functions.
@@ -73,7 +72,7 @@ const getFunctions = async (options) => {
73
72
  if (!options.compatibleOnly) {
74
73
  return true;
75
74
  }
76
- return l.version === constants_1.CURRENT_VERSION;
75
+ return l.version === version_1.VERSION;
77
76
  });
78
77
  };
79
78
  exports.getFunctions = getFunctions;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare type GetOrCreateBucketInput = {
3
3
  region: AwsRegion;
4
4
  onBucketEnsured?: () => void;
@@ -8,7 +8,7 @@ export declare type GetOrCreateBucketOutput = {
8
8
  };
9
9
  /**
10
10
  * @description Creates a bucket for Remotion Lambda in your S3 account. If one already exists, it will get returned instead.
11
- * @link https://remotion.dev/docs/lambda/getorcreatebucket
11
+ * @see [Documentation](https://remotion.dev/docs/lambda/getorcreatebucket)
12
12
  * @param options.region The region in which you want your S3 bucket to reside in.
13
13
  * @returns {Promise<GetOrCreateBucketOutput>} An object containing the `bucketName`.
14
14
  */
@@ -2,13 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getOrCreateBucket = void 0;
4
4
  const constants_1 = require("../shared/constants");
5
- const random_hash_1 = require("../shared/random-hash");
5
+ const validate_bucketname_1 = require("../shared/validate-bucketname");
6
6
  const create_bucket_1 = require("./create-bucket");
7
- const enable_s3_website_1 = require("./enable-s3-website");
8
7
  const get_buckets_1 = require("./get-buckets");
9
8
  /**
10
9
  * @description Creates a bucket for Remotion Lambda in your S3 account. If one already exists, it will get returned instead.
11
- * @link https://remotion.dev/docs/lambda/getorcreatebucket
10
+ * @see [Documentation](https://remotion.dev/docs/lambda/getorcreatebucket)
12
11
  * @param options.region The region in which you want your S3 bucket to reside in.
13
12
  * @returns {Promise<GetOrCreateBucketOutput>} An object containing the `bucketName`.
14
13
  */
@@ -16,22 +15,18 @@ const getOrCreateBucket = async (options) => {
16
15
  var _a, _b;
17
16
  const { remotionBuckets } = await (0, get_buckets_1.getRemotionS3Buckets)(options.region);
18
17
  if (remotionBuckets.length > 1) {
19
- throw new Error(`You have multiple buckets (${remotionBuckets.map((b) => b.name)}) in your S3 region (${options.region}) starting with "${constants_1.REMOTION_BUCKET_PREFIX}". This is an error, please delete buckets so that you have one maximum.`);
18
+ throw new Error(`You have multiple buckets (${remotionBuckets.map((b) => b.name)}) in your S3 region (${options.region}) starting with "${constants_1.REMOTION_BUCKET_PREFIX}". Please see https://remotion.dev/docs/lambda/multiple-buckets.`);
20
19
  }
21
20
  if (remotionBuckets.length === 1) {
22
21
  (_a = options.onBucketEnsured) === null || _a === void 0 ? void 0 : _a.call(options);
23
22
  return { bucketName: remotionBuckets[0].name };
24
23
  }
25
- const bucketName = constants_1.REMOTION_BUCKET_PREFIX + (0, random_hash_1.randomHash)();
24
+ const bucketName = (0, validate_bucketname_1.makeBucketName)(options.region);
26
25
  await (0, create_bucket_1.createBucket)({
27
26
  bucketName,
28
27
  region: options.region,
29
28
  });
30
29
  (_b = options.onBucketEnsured) === null || _b === void 0 ? void 0 : _b.call(options);
31
- await (0, enable_s3_website_1.enableS3Website)({
32
- region: options.region,
33
- bucketName,
34
- });
35
30
  return { bucketName };
36
31
  };
37
32
  exports.getOrCreateBucket = getOrCreateBucket;
@@ -1,7 +1,11 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ declare type Options = {
3
+ enabledByDefaultOnly?: boolean;
4
+ };
2
5
  /**
3
6
  * @description Gets an array of all supported AWS regions of this release of Remotion Lambda.
4
- * @link https://remotion.dev/docs/lambda/getregions
7
+ * @see [Documentation](https://remotion.dev/docs/lambda/getregions)
5
8
  * @returns {AwsRegion[]} A list of AWS regions.
6
9
  */
7
- export declare const getRegions: () => readonly AwsRegion[];
10
+ export declare const getRegions: (options?: Options) => readonly AwsRegion[];
11
+ export {};
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRegions = void 0;
4
+ const aws_regions_1 = require("../pricing/aws-regions");
4
5
  const regions_1 = require("../regions");
5
6
  /**
6
7
  * @description Gets an array of all supported AWS regions of this release of Remotion Lambda.
7
- * @link https://remotion.dev/docs/lambda/getregions
8
+ * @see [Documentation](https://remotion.dev/docs/lambda/getregions)
8
9
  * @returns {AwsRegion[]} A list of AWS regions.
9
10
  */
10
- const getRegions = () => {
11
- return regions_1.AWS_REGIONS;
11
+ const getRegions = (options) => {
12
+ var _a;
13
+ const onlyEnabledByDefault = (_a = options === null || options === void 0 ? void 0 : options.enabledByDefaultOnly) !== null && _a !== void 0 ? _a : false;
14
+ return onlyEnabledByDefault ? aws_regions_1.DEFAULT_AWS_REGIONS : regions_1.AWS_REGIONS;
12
15
  };
13
16
  exports.getRegions = getRegions;