@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.
- package/LICENSE.md +8 -8
- package/dist/admin/bundle-lambda.d.ts +0 -0
- package/dist/admin/bundle-lambda.js +21 -4
- package/dist/admin/generate-etag-list.d.ts +1 -0
- package/dist/admin/generate-etag-list.js +14 -0
- package/dist/admin/make-layer-public.d.ts +0 -0
- package/dist/admin/make-layer-public.js +30 -8
- package/dist/api/bucket-exists.d.ts +1 -1
- package/dist/api/bucket-exists.js +1 -1
- package/dist/api/clean-items.d.ts +1 -1
- package/dist/api/clean-items.js +1 -1
- package/dist/api/create-bucket.d.ts +1 -1
- package/dist/api/create-bucket.js +1 -1
- package/dist/api/create-function.d.ts +4 -3
- package/dist/api/create-function.js +27 -4
- package/dist/api/delete-function.d.ts +2 -2
- package/dist/api/delete-function.js +1 -1
- package/dist/api/delete-render.d.ts +19 -0
- package/dist/api/delete-render.js +66 -0
- package/dist/api/delete-site.d.ts +2 -2
- package/dist/api/delete-site.js +1 -6
- package/dist/api/deploy-function.d.ts +4 -3
- package/dist/api/deploy-function.js +11 -4
- package/dist/api/deploy-site.d.ts +13 -4
- package/dist/api/deploy-site.js +50 -22
- package/dist/api/download-media.d.ts +15 -2
- package/dist/api/download-media.js +15 -3
- package/dist/api/estimate-price.d.ts +3 -3
- package/dist/api/estimate-price.js +1 -1
- package/dist/api/get-aws-client.d.ts +8 -4
- package/dist/api/get-aws-client.js +15 -4
- package/dist/api/get-buckets.d.ts +1 -1
- package/dist/api/get-buckets.js +27 -10
- package/dist/api/get-compositions-on-lambda.d.ts +29 -0
- package/dist/api/get-compositions-on-lambda.js +54 -0
- package/dist/api/get-function-info.d.ts +3 -4
- package/dist/api/get-function-info.js +1 -1
- package/dist/api/get-functions.d.ts +3 -5
- package/dist/api/get-functions.js +3 -4
- package/dist/api/get-or-create-bucket.d.ts +2 -2
- package/dist/api/get-or-create-bucket.js +4 -9
- package/dist/api/get-regions.d.ts +7 -3
- package/dist/api/get-regions.js +6 -3
- package/dist/api/get-render-progress.d.ts +7 -4
- package/dist/api/get-render-progress.js +6 -2
- package/dist/api/get-sites.d.ts +4 -4
- package/dist/api/get-sites.js +1 -2
- package/dist/api/iam-validation/role-permissions.d.ts +2 -1
- package/dist/api/iam-validation/role-permissions.js +0 -0
- package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
- package/dist/api/iam-validation/simulate-rule.js +0 -22
- package/dist/api/iam-validation/simulate.d.ts +3 -3
- package/dist/api/iam-validation/simulate.js +25 -6
- package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
- package/dist/api/iam-validation/suggested-policy.js +0 -0
- package/dist/api/iam-validation/user-permissions.d.ts +1 -1
- package/dist/api/iam-validation/user-permissions.js +1 -8
- package/dist/api/mock-functions.d.ts +6 -7
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +5 -5
- package/dist/api/presign-url.js +9 -4
- package/dist/api/render-media-on-lambda.d.ts +38 -17
- package/dist/api/render-media-on-lambda.js +88 -38
- package/dist/api/render-still-on-lambda.d.ts +12 -7
- package/dist/api/render-still-on-lambda.js +58 -31
- package/dist/api/upload-dir.d.ts +6 -5
- package/dist/api/upload-dir.js +58 -50
- package/dist/api/validate-webhook-signature.d.ts +13 -0
- package/dist/api/validate-webhook-signature.js +32 -0
- package/dist/cli/args.d.ts +13 -5
- package/dist/cli/args.js +1 -5
- package/dist/cli/commands/compositions/index.d.ts +2 -0
- package/dist/cli/commands/compositions/index.js +44 -0
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +10 -6
- package/dist/cli/commands/functions/index.d.ts +0 -0
- package/dist/cli/commands/functions/index.js +16 -17
- package/dist/cli/commands/functions/ls.d.ts +0 -0
- package/dist/cli/commands/functions/ls.js +5 -6
- package/dist/cli/commands/functions/rm.d.ts +0 -0
- package/dist/cli/commands/functions/rm.js +0 -0
- package/dist/cli/commands/functions/rmall.d.ts +0 -0
- package/dist/cli/commands/functions/rmall.js +0 -0
- package/dist/cli/commands/policies/policies.d.ts +0 -0
- package/dist/cli/commands/policies/policies.js +0 -0
- package/dist/cli/commands/policies/role.d.ts +0 -0
- package/dist/cli/commands/policies/role.js +0 -0
- package/dist/cli/commands/policies/user.d.ts +0 -0
- package/dist/cli/commands/policies/user.js +0 -0
- package/dist/cli/commands/policies/validate.d.ts +0 -0
- package/dist/cli/commands/policies/validate.js +0 -0
- package/dist/cli/commands/quotas/increase.d.ts +0 -0
- package/dist/cli/commands/quotas/increase.js +6 -6
- package/dist/cli/commands/quotas/index.d.ts +0 -0
- package/dist/cli/commands/quotas/index.js +8 -9
- package/dist/cli/commands/quotas/list.d.ts +0 -0
- package/dist/cli/commands/quotas/list.js +0 -0
- package/dist/cli/commands/regions.d.ts +0 -0
- package/dist/cli/commands/regions.js +6 -2
- package/dist/cli/commands/render/progress.d.ts +11 -7
- package/dist/cli/commands/render/progress.js +66 -48
- package/dist/cli/commands/render/render.d.ts +1 -1
- package/dist/cli/commands/render/render.js +80 -25
- package/dist/cli/commands/sites/create.d.ts +1 -1
- package/dist/cli/commands/sites/create.js +25 -26
- package/dist/cli/commands/sites/index.d.ts +1 -1
- package/dist/cli/commands/sites/index.js +15 -16
- package/dist/cli/commands/sites/ls.d.ts +0 -0
- package/dist/cli/commands/sites/ls.js +10 -12
- package/dist/cli/commands/sites/rm.d.ts +0 -0
- package/dist/cli/commands/sites/rm.js +8 -19
- package/dist/cli/commands/sites/rmall.d.ts +0 -0
- package/dist/cli/commands/sites/rmall.js +7 -19
- package/dist/cli/commands/still.d.ts +1 -1
- package/dist/cli/commands/still.js +34 -27
- package/dist/cli/get-aws-region.d.ts +1 -1
- package/dist/cli/get-aws-region.js +2 -1
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.js +0 -0
- package/dist/cli/helpers/confirm.d.ts +0 -0
- package/dist/cli/helpers/confirm.js +0 -0
- package/dist/cli/helpers/date-string.d.ts +0 -0
- package/dist/cli/helpers/date-string.js +0 -0
- package/dist/cli/helpers/find-function-name.d.ts +0 -0
- package/dist/cli/helpers/find-function-name.js +37 -7
- package/dist/cli/helpers/progress-bar.d.ts +9 -3
- package/dist/cli/helpers/progress-bar.js +20 -8
- package/dist/cli/helpers/quit.d.ts +0 -0
- package/dist/cli/helpers/quit.js +0 -0
- package/dist/cli/helpers/yes-or-no.d.ts +0 -0
- package/dist/cli/helpers/yes-or-no.js +0 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +30 -9
- package/dist/cli/is-cli.d.ts +0 -0
- package/dist/cli/is-cli.js +0 -0
- package/dist/cli/log.d.ts +0 -0
- package/dist/cli/log.js +0 -0
- package/dist/client.d.ts +8 -2
- package/dist/client.js +9 -1
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +5 -1
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +3 -10
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -19
- package/dist/functions/chunk-optimization/types.d.ts +0 -11
- package/dist/functions/chunk-optimization/types.js +0 -0
- package/dist/functions/compositions.d.ts +8 -0
- package/dist/functions/compositions.js +58 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
- package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
- package/dist/functions/helpers/calculate-chunk-times.js +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
- package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
- package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
- package/dist/functions/helpers/check-if-render-exists.js +14 -0
- package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
- package/dist/functions/helpers/clean-tmpdir.js +1 -1
- package/dist/functions/helpers/concat-videos.d.ts +19 -7
- package/dist/functions/helpers/concat-videos.js +41 -33
- package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
- package/dist/functions/helpers/create-post-render-data.js +5 -12
- package/dist/functions/helpers/delete-chunks.d.ts +3 -3
- package/dist/functions/helpers/delete-chunks.js +0 -0
- package/dist/functions/helpers/expected-out-name.d.ts +4 -2
- package/dist/functions/helpers/expected-out-name.js +27 -6
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +5 -3
- package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
- package/dist/functions/helpers/format-costs-info.d.ts +1 -1
- package/dist/functions/helpers/format-costs-info.js +0 -0
- package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
- package/dist/functions/helpers/get-browser-instance.js +2 -2
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
- package/dist/functions/helpers/get-chromium-executable-path.js +3 -2
- package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
- package/dist/functions/helpers/get-cleanup-progress.js +0 -0
- package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
- package/dist/functions/helpers/get-current-architecture.js +0 -0
- package/dist/functions/helpers/get-current-region.d.ts +1 -1
- package/dist/functions/helpers/get-current-region.js +0 -0
- package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
- package/dist/functions/helpers/get-custom-out-name.js +31 -0
- package/dist/functions/helpers/get-encoding-metadata.d.ts +6 -9
- package/dist/functions/helpers/get-encoding-metadata.js +7 -17
- package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
- package/dist/functions/helpers/get-files-in-folder.js +0 -0
- package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
- package/dist/functions/helpers/get-files-to-delete.js +3 -3
- package/dist/functions/helpers/get-final-encoding-status.d.ts +3 -5
- package/dist/functions/helpers/get-final-encoding-status.js +1 -4
- package/dist/functions/helpers/get-folder-size.d.ts +0 -0
- package/dist/functions/helpers/get-folder-size.js +0 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +5 -4
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +3 -2
- package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
- package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
- package/dist/functions/helpers/get-overall-progress.js +7 -5
- package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +6 -4
- package/dist/functions/helpers/get-progress.js +65 -46
- package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
- package/dist/functions/helpers/get-render-metadata.js +0 -0
- package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
- package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
- package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
- package/dist/functions/helpers/get-retry-stats.js +1 -1
- package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
- package/dist/functions/helpers/get-time-to-finish.js +0 -0
- package/dist/functions/helpers/inspect-errors.d.ts +3 -3
- package/dist/functions/helpers/inspect-errors.js +0 -0
- package/dist/functions/helpers/io.d.ts +24 -6
- package/dist/functions/helpers/io.js +31 -8
- package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
- package/dist/functions/helpers/is-enosp-err.js +0 -0
- package/dist/functions/helpers/is-warm.d.ts +0 -0
- package/dist/functions/helpers/is-warm.js +0 -0
- package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
- package/dist/functions/helpers/make-timeout-error.js +48 -0
- package/dist/functions/helpers/min-max.d.ts +1 -1
- package/dist/functions/helpers/min-max.js +1 -1
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
- package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
- package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
- package/dist/functions/helpers/print-concurrency-curve.js +0 -0
- package/dist/functions/helpers/read-with-progress.d.ts +6 -3
- package/dist/functions/helpers/read-with-progress.js +16 -4
- package/dist/functions/helpers/timer.d.ts +0 -0
- package/dist/functions/helpers/timer.js +0 -0
- package/dist/functions/helpers/validate-composition.d.ts +12 -4
- package/dist/functions/helpers/validate-composition.js +14 -2
- package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
- package/dist/functions/helpers/write-lambda-error.js +2 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/write-post-render-data.js +2 -0
- package/dist/functions/index.d.ts +3 -2
- package/dist/functions/index.js +29 -10
- package/dist/functions/info.d.ts +2 -2
- package/dist/functions/info.js +2 -1
- package/dist/functions/launch.d.ts +2 -1
- package/dist/functions/launch.js +360 -123
- package/dist/functions/progress.d.ts +2 -2
- package/dist/functions/progress.js +10 -1
- package/dist/functions/renderer.d.ts +1 -1
- package/dist/functions/renderer.js +144 -79
- package/dist/functions/start.d.ts +6 -2
- package/dist/functions/start.js +44 -6
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +78 -21
- package/dist/index.d.ts +57 -21
- package/dist/index.js +27 -5
- package/dist/internals.d.ts +1 -1
- package/dist/internals.js +0 -0
- package/dist/pricing/aws-regions.d.ts +2 -1
- package/dist/pricing/aws-regions.js +31 -1
- package/dist/pricing/price-per-1-s.d.ts +1 -1
- package/dist/pricing/price-per-1-s.js +413 -39
- package/dist/regions.d.ts +0 -0
- package/dist/regions.js +0 -0
- package/dist/shared/await.d.ts +0 -0
- package/dist/shared/await.js +0 -0
- package/dist/shared/aws-clients.d.ts +17 -3
- package/dist/shared/aws-clients.js +118 -26
- package/dist/shared/bundle-site.d.ts +2 -6
- package/dist/shared/bundle-site.js +0 -0
- package/dist/shared/call-lambda.d.ts +3 -3
- package/dist/shared/call-lambda.js +0 -0
- package/dist/shared/check-credentials.d.ts +0 -0
- package/dist/shared/check-credentials.js +5 -2
- package/dist/shared/chunk-progress.d.ts +9 -0
- package/dist/shared/chunk-progress.js +2034 -0
- package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
- package/dist/shared/cleanup-serialized-input-props.js +19 -0
- package/dist/shared/constants.d.ts +119 -37
- package/dist/shared/constants.js +21 -10
- package/dist/shared/content-disposition-header.d.ts +7 -0
- package/dist/shared/content-disposition-header.js +19 -0
- package/dist/shared/convert-to-serve-url.d.ts +6 -2
- package/dist/shared/convert-to-serve-url.js +1 -5
- package/dist/shared/deserialize-input-props.d.ts +8 -0
- package/dist/shared/deserialize-input-props.js +26 -0
- package/dist/shared/docs-url.d.ts +0 -0
- package/dist/shared/docs-url.js +0 -0
- package/dist/shared/function-zip-path.d.ts +2 -1
- package/dist/shared/function-zip-path.js +3 -2
- package/dist/shared/get-account-id.d.ts +1 -1
- package/dist/shared/get-account-id.js +4 -6
- package/dist/shared/get-aws-urls.d.ts +14 -0
- package/dist/shared/get-aws-urls.js +12 -0
- package/dist/shared/get-etag.d.ts +1 -0
- package/dist/shared/get-etag.js +24 -0
- package/dist/shared/get-function-version.d.ts +2 -3
- package/dist/shared/get-function-version.js +0 -0
- package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
- package/dist/shared/get-most-expensive-chunks.js +26 -0
- package/dist/shared/get-s3-operations.d.ts +10 -0
- package/dist/shared/get-s3-operations.js +36 -0
- package/dist/shared/hosted-layers.d.ts +89 -3
- package/dist/shared/hosted-layers.js +434 -125
- package/dist/shared/invoke-webhook.d.ts +46 -0
- package/dist/shared/invoke-webhook.js +89 -0
- package/dist/shared/is-in-lambda.d.ts +0 -0
- package/dist/shared/is-in-lambda.js +5 -1
- package/dist/shared/lambda-version-string.d.ts +1 -0
- package/dist/shared/lambda-version-string.js +7 -0
- package/dist/shared/make-s3-key.d.ts +1 -0
- package/dist/shared/make-s3-key.js +11 -0
- package/dist/shared/make-s3-url.d.ts +1 -1
- package/dist/shared/make-s3-url.js +0 -0
- package/dist/shared/p-limit.d.ts +0 -0
- package/dist/shared/p-limit.js +0 -0
- package/dist/shared/parse-chunk-key.d.ts +4 -0
- package/dist/shared/parse-chunk-key.js +14 -0
- package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
- package/dist/shared/parse-lambda-initialized-key.js +0 -0
- package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
- package/dist/shared/parse-lambda-timings-key.js +0 -0
- package/dist/shared/random-hash.d.ts +2 -2
- package/dist/shared/random-hash.js +1 -1
- package/dist/shared/read-dir.d.ts +9 -0
- package/dist/shared/read-dir.js +57 -0
- package/dist/shared/return-values.d.ts +9 -7
- package/dist/shared/return-values.js +0 -1
- package/dist/shared/serialize-input-props.d.ts +8 -0
- package/dist/shared/serialize-input-props.js +42 -0
- package/dist/shared/sleep.d.ts +0 -0
- package/dist/shared/sleep.js +0 -0
- package/dist/shared/stream-to-string.d.ts +2 -1
- package/dist/shared/stream-to-string.js +0 -0
- package/dist/shared/truthy.d.ts +3 -0
- package/dist/shared/truthy.js +7 -0
- package/dist/shared/validate-architecture.d.ts +0 -0
- package/dist/shared/validate-architecture.js +0 -0
- package/dist/shared/validate-aws-region.d.ts +1 -1
- package/dist/shared/validate-aws-region.js +0 -0
- package/dist/shared/validate-bucketname.d.ts +5 -0
- package/dist/shared/validate-bucketname.js +19 -1
- package/dist/shared/validate-custom-role-arn.d.ts +1 -0
- package/dist/shared/validate-custom-role-arn.js +11 -0
- package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
- package/dist/shared/validate-disk-size-in-mb.js +0 -0
- package/dist/shared/validate-download-behavior.d.ts +1 -0
- package/dist/shared/validate-download-behavior.js +21 -0
- package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
- package/dist/shared/validate-frames-per-lambda.js +4 -3
- package/dist/shared/validate-lambda-codec.d.ts +4 -0
- package/dist/shared/validate-lambda-codec.js +30 -0
- package/dist/shared/validate-memory-size.d.ts +0 -0
- package/dist/shared/validate-memory-size.js +0 -0
- package/dist/shared/validate-outname.d.ts +3 -2
- package/dist/shared/validate-outname.js +10 -1
- package/dist/shared/validate-presign-expiration.d.ts +0 -2
- package/dist/shared/validate-presign-expiration.js +7 -7
- package/dist/shared/validate-privacy.d.ts +1 -1
- package/dist/shared/validate-privacy.js +2 -2
- package/dist/shared/validate-retention-period.d.ts +0 -0
- package/dist/shared/validate-retention-period.js +0 -0
- package/dist/shared/validate-retries.d.ts +0 -0
- package/dist/shared/validate-retries.js +0 -0
- package/dist/shared/validate-serveurl.d.ts +0 -0
- package/dist/shared/validate-serveurl.js +0 -0
- package/dist/shared/validate-site-name.d.ts +0 -0
- package/dist/shared/validate-site-name.js +0 -0
- package/dist/shared/validate-timeout.d.ts +0 -0
- package/dist/shared/validate-timeout.js +0 -0
- package/package.json +55 -32
- package/remotionlambda-arm64.zip +0 -0
- package/remotionlambda-x64.zip +0 -0
- package/remotionlambda.zip +0 -0
- package/.prettierrc.js +0 -14
- package/client.d.ts +0 -1
- package/client.js +0 -1
- package/dist/api/enable-s3-website.d.ts +0 -5
- package/dist/api/enable-s3-website.js +0 -16
- package/dist/cli/helpers/format-bytes.d.ts +0 -6
- package/dist/cli/helpers/format-bytes.js +0 -103
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
- package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
- package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
- package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
- package/dist/functions/chunk-optimization/collect-data.js +0 -27
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -6
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
- package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
- package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -15
- package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
- package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -45
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -10
- package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
- package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
- package/dist/shared/chunk.d.ts +0 -1
- package/dist/shared/chunk.js +0 -11
- package/tsconfig.json +0 -16
package/dist/api/deploy-site.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deploySite = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
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
|
-
* @
|
|
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, {
|
|
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:
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
71
|
+
localDir: bundled,
|
|
57
72
|
onProgress: (_d = options === null || options === void 0 ? void 0 : options.onUploadProgress) !== null && _d !== void 0 ? _d : (() => undefined),
|
|
58
|
-
|
|
73
|
+
keyPrefix: subFolder,
|
|
59
74
|
privacy: 'public',
|
|
75
|
+
toUpload,
|
|
60
76
|
}),
|
|
61
|
-
(
|
|
62
|
-
|
|
63
|
-
|
|
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: (
|
|
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
|
-
* @
|
|
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
|
-
* @
|
|
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
|
|
7
|
-
import {
|
|
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
|
-
* @
|
|
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.
|
|
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
|
-
* @
|
|
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)(
|
|
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
|
};
|
package/dist/api/get-buckets.js
CHANGED
|
@@ -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
|
-
|
|
15
|
-
|
|
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
|
|
19
|
-
|
|
35
|
+
const bucketsWithLocation = remotionBuckets
|
|
36
|
+
.map((bucket, i) => {
|
|
20
37
|
return {
|
|
21
38
|
creationDate: bucket.CreationDate.getTime(),
|
|
22
39
|
name: bucket.Name,
|
|
23
|
-
|
|
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:
|
|
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
|
-
* @
|
|
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
|
-
* @
|
|
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
|
-
* @
|
|
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
|
-
* @
|
|
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 ===
|
|
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
|
-
* @
|
|
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
|
|
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
|
-
* @
|
|
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}".
|
|
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 =
|
|
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
|
-
* @
|
|
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 {};
|
package/dist/api/get-regions.js
CHANGED
|
@@ -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
|
-
* @
|
|
8
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getregions)
|
|
8
9
|
* @returns {AwsRegion[]} A list of AWS regions.
|
|
9
10
|
*/
|
|
10
|
-
const getRegions = () => {
|
|
11
|
-
|
|
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;
|