@remotion/lambda 4.0.0-audio.0 → 4.0.0-audio.11
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 +3 -6
- 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 +26 -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 +60 -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 +31 -0
- package/dist/api/get-compositions-on-lambda.js +56 -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 +3 -2
- package/dist/api/get-or-create-bucket.js +6 -11
- 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 +40 -17
- package/dist/api/render-media-on-lambda.js +90 -38
- package/dist/api/render-still-on-lambda.d.ts +14 -7
- package/dist/api/render-still-on-lambda.js +60 -31
- package/dist/api/speculate-function-name.d.ts +14 -0
- package/dist/api/speculate-function-name.js +22 -0
- package/dist/api/upload-dir.d.ts +6 -5
- package/dist/api/upload-dir.js +60 -52
- 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 +6 -7
- 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 +28 -8
- 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 +10 -2
- package/dist/client.js +11 -1
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +5 -1
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +2 -6
- 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 +5 -3
- 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 +36 -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 +35 -0
- package/dist/functions/helpers/make-timeout-message.d.ts +6 -0
- package/dist/functions/helpers/make-timeout-message.js +31 -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 +13 -4
- package/dist/functions/helpers/validate-composition.js +15 -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 +369 -126
- 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 +45 -6
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +81 -23
- 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 +124 -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 +443 -134
- package/dist/shared/invoke-webhook.d.ts +44 -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 +1 -0
- package/dist/shared/p-limit.js +57 -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 +13 -3
- 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 +59 -34
- 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 -3
- 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 -9
- 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 -7
- 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
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import http from 'http';
|
|
2
|
+
import https from 'https';
|
|
3
|
+
import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
|
|
4
|
+
import type { AfterRenderCost } from './constants';
|
|
5
|
+
/**
|
|
6
|
+
* @description Calculates cryptographically secure signature for webhooks using Hmac.
|
|
7
|
+
* @link https://remotion.dev/docs/lambda/webhooks#validate-webhooks
|
|
8
|
+
* @param payload Stringified request body to encode in the signature.
|
|
9
|
+
* @param secret User-provided webhook secret used to sign the request.
|
|
10
|
+
* @returns {string} Calculated signature
|
|
11
|
+
*/
|
|
12
|
+
export declare function calculateSignature(payload: string, secret: string | null): string;
|
|
13
|
+
declare type DynamicWebhookPayload = {
|
|
14
|
+
type: 'error';
|
|
15
|
+
errors: {
|
|
16
|
+
message: string;
|
|
17
|
+
name: string;
|
|
18
|
+
stack: string;
|
|
19
|
+
}[];
|
|
20
|
+
} | {
|
|
21
|
+
type: 'success';
|
|
22
|
+
lambdaErrors: EnhancedErrorInfo[];
|
|
23
|
+
outputUrl: string | undefined;
|
|
24
|
+
outputFile: string | undefined;
|
|
25
|
+
timeToFinish: number | undefined;
|
|
26
|
+
costs: AfterRenderCost;
|
|
27
|
+
} | {
|
|
28
|
+
type: 'timeout';
|
|
29
|
+
};
|
|
30
|
+
export declare type WebhookPayload = {
|
|
31
|
+
renderId: string;
|
|
32
|
+
expectedBucketOwner: string;
|
|
33
|
+
bucketName: string;
|
|
34
|
+
} & DynamicWebhookPayload;
|
|
35
|
+
export declare const mockableHttpClients: {
|
|
36
|
+
http: typeof http.request;
|
|
37
|
+
https: typeof https.request;
|
|
38
|
+
};
|
|
39
|
+
export declare function invokeWebhook({ payload, secret, url, }: {
|
|
40
|
+
payload: WebhookPayload;
|
|
41
|
+
url: string;
|
|
42
|
+
secret: string | null;
|
|
43
|
+
}): Promise<void>;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.invokeWebhook = exports.mockableHttpClients = exports.calculateSignature = void 0;
|
|
30
|
+
const Crypto = __importStar(require("crypto"));
|
|
31
|
+
const http_1 = __importDefault(require("http"));
|
|
32
|
+
const https_1 = __importDefault(require("https"));
|
|
33
|
+
/**
|
|
34
|
+
* @description Calculates cryptographically secure signature for webhooks using Hmac.
|
|
35
|
+
* @link https://remotion.dev/docs/lambda/webhooks#validate-webhooks
|
|
36
|
+
* @param payload Stringified request body to encode in the signature.
|
|
37
|
+
* @param secret User-provided webhook secret used to sign the request.
|
|
38
|
+
* @returns {string} Calculated signature
|
|
39
|
+
*/
|
|
40
|
+
function calculateSignature(payload, secret) {
|
|
41
|
+
if (!secret) {
|
|
42
|
+
return 'NO_SECRET_PROVIDED';
|
|
43
|
+
}
|
|
44
|
+
const hmac = Crypto.createHmac('sha512', secret);
|
|
45
|
+
const signature = 'sha512=' + hmac.update(payload).digest('hex');
|
|
46
|
+
return signature;
|
|
47
|
+
}
|
|
48
|
+
exports.calculateSignature = calculateSignature;
|
|
49
|
+
const getWebhookClient = (url) => {
|
|
50
|
+
if (url.startsWith('https://')) {
|
|
51
|
+
return exports.mockableHttpClients.https;
|
|
52
|
+
}
|
|
53
|
+
if (url.startsWith('http://')) {
|
|
54
|
+
return exports.mockableHttpClients.http;
|
|
55
|
+
}
|
|
56
|
+
throw new Error('Can only request URLs starting with http:// or https://');
|
|
57
|
+
};
|
|
58
|
+
exports.mockableHttpClients = {
|
|
59
|
+
http: http_1.default.request,
|
|
60
|
+
https: https_1.default.request,
|
|
61
|
+
};
|
|
62
|
+
function invokeWebhook({ payload, secret, url, }) {
|
|
63
|
+
const jsonPayload = JSON.stringify(payload);
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
const req = getWebhookClient(url)(url, {
|
|
66
|
+
method: 'POST',
|
|
67
|
+
headers: {
|
|
68
|
+
'Content-Type': 'application/json',
|
|
69
|
+
'Content-Length': jsonPayload.length,
|
|
70
|
+
'X-Remotion-Mode': 'production',
|
|
71
|
+
'X-Remotion-Signature': calculateSignature(jsonPayload, secret),
|
|
72
|
+
'X-Remotion-Status': payload.type,
|
|
73
|
+
},
|
|
74
|
+
timeout: 5000,
|
|
75
|
+
}, (res) => {
|
|
76
|
+
if (res.statusCode && res.statusCode > 299) {
|
|
77
|
+
reject(new Error(`Sent a webhook but got a status code of ${res.statusCode} with message '${res.statusMessage}'`));
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
resolve();
|
|
81
|
+
});
|
|
82
|
+
req.write(jsonPayload);
|
|
83
|
+
req.on('error', (err) => {
|
|
84
|
+
reject(err);
|
|
85
|
+
});
|
|
86
|
+
req.end();
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
exports.invokeWebhook = invokeWebhook;
|
|
File without changes
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isInsideLambda = void 0;
|
|
4
|
-
const isInsideLambda = () => {
|
|
4
|
+
const isInsideLambda = () => {
|
|
5
|
+
var _a;
|
|
6
|
+
return Boolean(typeof process !== 'undefined' &&
|
|
7
|
+
((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.__RESERVED_IS_INSIDE_REMOTION_LAMBDA));
|
|
8
|
+
};
|
|
5
9
|
exports.isInsideLambda = isInsideLambda;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const LAMBDA_VERSION_STRING: string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LAMBDA_VERSION_STRING = void 0;
|
|
4
|
+
const version_1 = require("remotion/version");
|
|
5
|
+
exports.LAMBDA_VERSION_STRING = version_1.VERSION.replace(/\./g, '-')
|
|
6
|
+
.replace(/\+/g, '-')
|
|
7
|
+
.substring(0, 10);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const makeS3Key: (folder: string, dir: string, filePath: string) => string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.makeS3Key = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const makeS3Key = (folder, dir, filePath) => {
|
|
9
|
+
return `${folder}/${path_1.default.relative(dir, filePath).split(path_1.default.sep).join('/')}`;
|
|
10
|
+
};
|
|
11
|
+
exports.makeS3Key = makeS3Key;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const pLimit: (concurrency: number) => <Arguments extends unknown[], ReturnType_1>(fn: (..._arguments: Arguments) => ReturnType_1 | PromiseLike<ReturnType_1>, ...args: Arguments) => Promise<ReturnType_1>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pLimit = void 0;
|
|
4
|
+
const pLimit = (concurrency) => {
|
|
5
|
+
const queue = [];
|
|
6
|
+
let activeCount = 0;
|
|
7
|
+
const next = () => {
|
|
8
|
+
var _a;
|
|
9
|
+
activeCount--;
|
|
10
|
+
if (queue.length > 0) {
|
|
11
|
+
(_a = queue.shift()) === null || _a === void 0 ? void 0 : _a();
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const run = async (fn, resolve, ...args) => {
|
|
15
|
+
activeCount++;
|
|
16
|
+
// eslint-disable-next-line require-await
|
|
17
|
+
const result = (async () => fn(...args))();
|
|
18
|
+
resolve(result);
|
|
19
|
+
try {
|
|
20
|
+
await result;
|
|
21
|
+
}
|
|
22
|
+
catch (_a) { }
|
|
23
|
+
next();
|
|
24
|
+
};
|
|
25
|
+
const enqueue = (fn, resolve, ...args) => {
|
|
26
|
+
queue.push(() => run(fn, resolve, ...args));
|
|
27
|
+
(async () => {
|
|
28
|
+
var _a;
|
|
29
|
+
// This function needs to wait until the next microtask before comparing
|
|
30
|
+
// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously
|
|
31
|
+
// when the run function is dequeued and called. The comparison in the if-statement
|
|
32
|
+
// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.
|
|
33
|
+
await Promise.resolve();
|
|
34
|
+
if (activeCount < concurrency && queue.length > 0) {
|
|
35
|
+
(_a = queue.shift()) === null || _a === void 0 ? void 0 : _a();
|
|
36
|
+
}
|
|
37
|
+
})();
|
|
38
|
+
};
|
|
39
|
+
const generator = (fn, ...args) => new Promise((resolve) => {
|
|
40
|
+
enqueue(fn, resolve, ...args);
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperties(generator, {
|
|
43
|
+
activeCount: {
|
|
44
|
+
get: () => activeCount,
|
|
45
|
+
},
|
|
46
|
+
pendingCount: {
|
|
47
|
+
get: () => queue.length,
|
|
48
|
+
},
|
|
49
|
+
clearQueue: {
|
|
50
|
+
value: () => {
|
|
51
|
+
queue.length = 0;
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
return generator;
|
|
56
|
+
};
|
|
57
|
+
exports.pLimit = pLimit;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseLambdaChunkKey = void 0;
|
|
4
|
+
const parseLambdaChunkKey = (key) => {
|
|
5
|
+
const match = key.match(/^renders\/(.*)\/chunks\/chunk:([0-9]+)$/);
|
|
6
|
+
if (!match) {
|
|
7
|
+
throw new Error(`Cannot parse filename ${key} into timing information. Malformed data.`);
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
renderId: match[1],
|
|
11
|
+
chunk: Number(match[2]),
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
exports.parseLambdaChunkKey = parseLambdaChunkKey;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const randomHash: (
|
|
1
|
+
export declare const randomHash: (_options?: {
|
|
2
2
|
randomInTests: boolean;
|
|
3
|
-
}
|
|
3
|
+
}) => string;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.randomHash = void 0;
|
|
4
4
|
const alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
|
-
const randomHash = (
|
|
6
|
+
const randomHash = (_options) => {
|
|
7
7
|
return new Array(10)
|
|
8
8
|
.fill(1)
|
|
9
9
|
.map(() => {
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.readDirectory = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const get_etag_1 = require("./get-etag");
|
|
30
|
+
// Function to recursively read a directory and return a list of files
|
|
31
|
+
// with their etags and file names
|
|
32
|
+
async function readDirectory({ dir, etags, originalDir, }) {
|
|
33
|
+
const files = fs.readdirSync(dir);
|
|
34
|
+
for (const file of files) {
|
|
35
|
+
if (file.startsWith('.DS_Store'))
|
|
36
|
+
continue;
|
|
37
|
+
const filePath = path.join(dir, file);
|
|
38
|
+
if (fs.lstatSync(filePath).isDirectory()) {
|
|
39
|
+
etags = {
|
|
40
|
+
...etags,
|
|
41
|
+
...(await readDirectory({ dir: filePath, etags, originalDir })),
|
|
42
|
+
};
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
// eslint-disable-next-line no-lonely-if
|
|
46
|
+
if (fs.lstatSync(filePath).isSymbolicLink()) {
|
|
47
|
+
const realPath = fs.realpathSync(filePath);
|
|
48
|
+
etags[path.relative(originalDir, filePath)] = await (0, get_etag_1.getEtagOfFile)(realPath);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
etags[path.relative(originalDir, filePath)] = await (0, get_etag_1.getEtagOfFile)(filePath);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Return the list of files with their etags and file names
|
|
55
|
+
return etags;
|
|
56
|
+
}
|
|
57
|
+
exports.readDirectory = readDirectory;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import type { compositionsHandler } from '../functions/compositions';
|
|
2
|
+
import type { infoHandler } from '../functions/info';
|
|
3
|
+
import type { launchHandler } from '../functions/launch';
|
|
4
|
+
import type { progressHandler } from '../functions/progress';
|
|
5
|
+
import type { rendererHandler } from '../functions/renderer';
|
|
6
|
+
import type { startHandler } from '../functions/start';
|
|
7
|
+
import type { stillHandler } from '../functions/still';
|
|
8
|
+
import type { LambdaRoutines } from './constants';
|
|
8
9
|
export interface LambdaReturnValues {
|
|
9
10
|
[LambdaRoutines.start]: ReturnType<typeof startHandler>;
|
|
10
11
|
[LambdaRoutines.launch]: ReturnType<typeof launchHandler>;
|
|
@@ -12,4 +13,5 @@ export interface LambdaReturnValues {
|
|
|
12
13
|
[LambdaRoutines.status]: ReturnType<typeof progressHandler>;
|
|
13
14
|
[LambdaRoutines.info]: ReturnType<typeof infoHandler>;
|
|
14
15
|
[LambdaRoutines.still]: ReturnType<typeof stillHandler>;
|
|
16
|
+
[LambdaRoutines.compositions]: ReturnType<typeof compositionsHandler>;
|
|
15
17
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AwsRegion } from '../client';
|
|
2
|
+
import type { SerializedInputProps } from './constants';
|
|
3
|
+
export declare const serializeInputProps: ({ inputProps, region, type, userSpecifiedBucketName, }: {
|
|
4
|
+
inputProps: unknown;
|
|
5
|
+
region: AwsRegion;
|
|
6
|
+
type: 'still' | 'video-or-audio';
|
|
7
|
+
userSpecifiedBucketName: string | null;
|
|
8
|
+
}) => Promise<SerializedInputProps>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serializeInputProps = void 0;
|
|
4
|
+
const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
|
|
5
|
+
const io_1 = require("../functions/helpers/io");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const random_hash_1 = require("./random-hash");
|
|
8
|
+
const serializeInputProps = async ({ inputProps, region, type, userSpecifiedBucketName, }) => {
|
|
9
|
+
try {
|
|
10
|
+
const payload = JSON.stringify(inputProps);
|
|
11
|
+
const hash = (0, random_hash_1.randomHash)();
|
|
12
|
+
const MAX_INLINE_PAYLOAD_SIZE = type === 'still' ? 5000000 : 200000;
|
|
13
|
+
if (payload.length > MAX_INLINE_PAYLOAD_SIZE) {
|
|
14
|
+
console.warn(`Warning: inputProps are over ${Math.round(MAX_INLINE_PAYLOAD_SIZE / 1000)}KB (${Math.ceil(payload.length / 1024)}KB) in size. Uploading them to S3 to circumvent AWS Lambda payload size.`);
|
|
15
|
+
const bucketName = userSpecifiedBucketName !== null && userSpecifiedBucketName !== void 0 ? userSpecifiedBucketName : (await (0, get_or_create_bucket_1.getOrCreateBucket)({
|
|
16
|
+
region,
|
|
17
|
+
})).bucketName;
|
|
18
|
+
await (0, io_1.lambdaWriteFile)({
|
|
19
|
+
body: payload,
|
|
20
|
+
bucketName,
|
|
21
|
+
region,
|
|
22
|
+
customCredentials: null,
|
|
23
|
+
downloadBehavior: null,
|
|
24
|
+
expectedBucketOwner: null,
|
|
25
|
+
key: (0, constants_1.inputPropsKey)(hash),
|
|
26
|
+
privacy: 'public',
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
type: 'bucket-url',
|
|
30
|
+
hash,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
type: 'payload',
|
|
35
|
+
payload,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
throw new Error('Error serializing inputProps. Check it has no circular references or reduce the size if the object is big.');
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.serializeInputProps = serializeInputProps;
|
package/dist/shared/sleep.d.ts
CHANGED
|
File without changes
|
package/dist/shared/sleep.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
1
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
2
|
export declare function validateAwsRegion(region: unknown): asserts region is AwsRegion;
|
|
File without changes
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import type { AwsRegion } from '../client';
|
|
1
2
|
export declare const validateBucketName: (bucketName: unknown, options: {
|
|
2
3
|
mustStartWithRemotion: boolean;
|
|
3
4
|
}) => void;
|
|
5
|
+
export declare const parseBucketName: (name: string) => {
|
|
6
|
+
region: AwsRegion | null;
|
|
7
|
+
};
|
|
8
|
+
export declare const makeBucketName: (region: AwsRegion) => string;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateBucketName = void 0;
|
|
3
|
+
exports.makeBucketName = exports.parseBucketName = exports.validateBucketName = void 0;
|
|
4
|
+
const regions_1 = require("../regions");
|
|
4
5
|
const constants_1 = require("./constants");
|
|
6
|
+
const random_hash_1 = require("./random-hash");
|
|
5
7
|
const validateBucketName = (bucketName, options) => {
|
|
6
8
|
if (typeof bucketName !== 'string') {
|
|
7
9
|
throw new TypeError(`'bucketName' must be a string, but is ${JSON.stringify(bucketName)}`);
|
|
@@ -15,3 +17,19 @@ const validateBucketName = (bucketName, options) => {
|
|
|
15
17
|
}
|
|
16
18
|
};
|
|
17
19
|
exports.validateBucketName = validateBucketName;
|
|
20
|
+
const parseBucketName = (name) => {
|
|
21
|
+
const parsed = name.match(new RegExp(`^${constants_1.REMOTION_BUCKET_PREFIX}(.*)-([a-z0-9A-Z]+)$`));
|
|
22
|
+
const region = parsed === null || parsed === void 0 ? void 0 : parsed[1];
|
|
23
|
+
if (!region) {
|
|
24
|
+
return { region: null };
|
|
25
|
+
}
|
|
26
|
+
const realRegionFound = regions_1.AWS_REGIONS.find((r) => r.replace(/-/g, '') === region);
|
|
27
|
+
return { region: realRegionFound !== null && realRegionFound !== void 0 ? realRegionFound : null };
|
|
28
|
+
};
|
|
29
|
+
exports.parseBucketName = parseBucketName;
|
|
30
|
+
const makeBucketName = (region) => {
|
|
31
|
+
return `${constants_1.REMOTION_BUCKET_PREFIX}${region.replace(/-/g, '')}-${(0, random_hash_1.randomHash)({
|
|
32
|
+
randomInTests: false,
|
|
33
|
+
})}`;
|
|
34
|
+
};
|
|
35
|
+
exports.makeBucketName = makeBucketName;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const validateCustomRoleArn: (customRoleArn: unknown) => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateCustomRoleArn = void 0;
|
|
4
|
+
const validateCustomRoleArn = (customRoleArn) => {
|
|
5
|
+
if (typeof customRoleArn !== 'undefined' &&
|
|
6
|
+
typeof customRoleArn !== 'string') {
|
|
7
|
+
throw new TypeError('A custom role ARN must either be "undefined" or a string, but instead got: ' +
|
|
8
|
+
JSON.stringify(customRoleArn));
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
exports.validateCustomRoleArn = validateCustomRoleArn;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const validateDownloadBehavior: (downloadBehavior: unknown) => null | undefined;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateDownloadBehavior = void 0;
|
|
4
|
+
const validateDownloadBehavior = (downloadBehavior) => {
|
|
5
|
+
if (downloadBehavior === null || downloadBehavior === undefined) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
if (typeof downloadBehavior !== 'object') {
|
|
9
|
+
throw new Error('downloadBehavior must be null or an object');
|
|
10
|
+
}
|
|
11
|
+
const behavior = downloadBehavior;
|
|
12
|
+
if (behavior.type !== 'download' && behavior.type !== 'play-in-browser') {
|
|
13
|
+
throw new Error('Download behavior must be either "download" or "play-in-browser"');
|
|
14
|
+
}
|
|
15
|
+
if (behavior.type === 'download') {
|
|
16
|
+
if (typeof behavior.fileName !== 'string' && behavior.fileName !== null) {
|
|
17
|
+
throw new Error('If "downloadBehavior.type" is "download", then fileName must be "null" or a string');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.validateDownloadBehavior = validateDownloadBehavior;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateFramesPerLambda = void 0;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
|
-
const validateFramesPerLambda = (framesPerLambda) => {
|
|
5
|
+
const validateFramesPerLambda = ({ framesPerLambda, durationInFrames, }) => {
|
|
6
6
|
if (framesPerLambda === null) {
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
@@ -21,8 +21,9 @@ const validateFramesPerLambda = (framesPerLambda) => {
|
|
|
21
21
|
if (framesPerLambda % 1 !== 0) {
|
|
22
22
|
throw new TypeError(`'framesPerLambda' needs to be an integer, passed ${framesPerLambda}`);
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const effectiveMinimum = Math.min(constants_1.MINIMUM_FRAMES_PER_LAMBDA, durationInFrames);
|
|
25
|
+
if (framesPerLambda < effectiveMinimum) {
|
|
26
|
+
throw new TypeError(`The framesPerLambda needs to be at least ${effectiveMinimum}, but is ${framesPerLambda}`);
|
|
26
27
|
}
|
|
27
28
|
};
|
|
28
29
|
exports.validateFramesPerLambda = validateFramesPerLambda;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateLambdaCodec = void 0;
|
|
4
|
+
const lambdaCodecs = [
|
|
5
|
+
'h264',
|
|
6
|
+
'vp8',
|
|
7
|
+
'vp9',
|
|
8
|
+
'mp3',
|
|
9
|
+
'aac',
|
|
10
|
+
'wav',
|
|
11
|
+
'gif',
|
|
12
|
+
'prores',
|
|
13
|
+
];
|
|
14
|
+
const validateLambdaCodec = (codec) => {
|
|
15
|
+
if (typeof codec !== 'string') {
|
|
16
|
+
throw new TypeError('"codec" must be a string ');
|
|
17
|
+
}
|
|
18
|
+
if (!lambdaCodecs.includes(codec)) {
|
|
19
|
+
throw new TypeError("'" +
|
|
20
|
+
codec +
|
|
21
|
+
"' is not a valid codec for Lambda. The following values are supported: " +
|
|
22
|
+
lambdaCodecs.join(', '));
|
|
23
|
+
}
|
|
24
|
+
if (codec === 'h264-mkv') {
|
|
25
|
+
console.warn('The "h264-mkv" codec for renderMediaOnLambda() is deprecated - it\'s now just "h264".');
|
|
26
|
+
return 'h264';
|
|
27
|
+
}
|
|
28
|
+
return codec;
|
|
29
|
+
};
|
|
30
|
+
exports.validateLambdaCodec = validateLambdaCodec;
|