@remotion/lambda 4.0.0-oops.3 → 4.0.0-prefetch.7
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/dist/admin/bundle-lambda.js +1 -0
- package/dist/admin/make-layer-public.js +8 -8
- package/dist/api/bucket-exists.d.ts +1 -1
- package/dist/api/clean-items.d.ts +1 -1
- package/dist/api/clean-items.js +2 -5
- package/dist/api/create-bucket.d.ts +1 -1
- package/dist/api/create-function.d.ts +4 -3
- package/dist/api/create-function.js +3 -2
- package/dist/api/delete-function.d.ts +1 -1
- package/dist/api/delete-site.d.ts +1 -1
- package/dist/api/deploy-function.d.ts +3 -2
- package/dist/api/deploy-function.js +7 -2
- package/dist/api/deploy-site.d.ts +3 -3
- package/dist/api/deploy-site.js +2 -3
- package/dist/api/download-media.d.ts +2 -2
- package/dist/api/enable-s3-website.d.ts +1 -1
- package/dist/api/estimate-price.d.ts +2 -2
- package/dist/api/get-aws-client.d.ts +2 -2
- package/dist/api/get-aws-client.js +5 -1
- package/dist/api/get-buckets.d.ts +1 -1
- package/dist/api/get-function-info.d.ts +2 -3
- package/dist/api/get-functions.d.ts +2 -2
- package/dist/api/get-functions.js +2 -1
- package/dist/api/get-or-create-bucket.d.ts +1 -1
- package/dist/api/get-regions.d.ts +1 -1
- package/dist/api/get-render-progress.d.ts +2 -2
- package/dist/api/get-render-progress.js +2 -0
- package/dist/api/get-sites.d.ts +2 -2
- package/dist/api/iam-validation/role-permissions.d.ts +2 -1
- package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
- package/dist/api/iam-validation/simulate.d.ts +2 -2
- package/dist/api/mock-functions.d.ts +6 -7
- package/dist/api/presign-url.d.ts +3 -2
- package/dist/api/presign-url.js +5 -0
- package/dist/api/render-media-on-lambda.d.ts +15 -8
- package/dist/api/render-media-on-lambda.js +58 -32
- package/dist/api/render-still-on-lambda.d.ts +9 -7
- package/dist/api/render-still-on-lambda.js +49 -31
- package/dist/api/upload-dir.d.ts +2 -2
- package/dist/api/upload-dir.js +9 -4
- package/dist/cli/args.d.ts +5 -3
- package/dist/cli/commands/functions/deploy.js +8 -3
- package/dist/cli/commands/render/progress.d.ts +4 -4
- package/dist/cli/commands/render/progress.js +11 -3
- package/dist/cli/commands/render/render.js +15 -10
- package/dist/cli/commands/sites/create.js +2 -3
- package/dist/cli/commands/sites/ls.js +1 -2
- package/dist/cli/commands/sites/rm.js +2 -3
- package/dist/cli/commands/sites/rmall.js +2 -3
- package/dist/cli/commands/still.js +2 -9
- package/dist/cli/get-aws-region.d.ts +1 -1
- package/dist/cli/get-aws-region.js +2 -1
- package/dist/cli/helpers/find-function-name.js +3 -2
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +2 -2
- package/dist/cli/helpers/progress-bar.js +1 -2
- package/dist/cli/index.js +11 -1
- package/dist/defaults.js +5 -1
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +1 -1
- package/dist/functions/chunk-optimization/can-use-optimization.js +2 -2
- package/dist/functions/chunk-optimization/collect-data.d.ts +1 -1
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +5 -2
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +1 -1
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +1 -1
- package/dist/functions/chunk-optimization/is-valid-profile.js +2 -2
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +1 -1
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +9 -3
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +7 -4
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -6
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +2 -2
- package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +5 -2
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +1 -1
- package/dist/functions/chunk-optimization/types.d.ts +2 -2
- package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
- 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/concat-videos.d.ts +6 -4
- package/dist/functions/helpers/concat-videos.js +8 -2
- package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
- package/dist/functions/helpers/create-post-render-data.js +12 -7
- package/dist/functions/helpers/delete-chunks.d.ts +3 -3
- package/dist/functions/helpers/expected-out-name.d.ts +1 -1
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -2
- package/dist/functions/helpers/find-output-file-in-bucket.js +6 -0
- package/dist/functions/helpers/format-costs-info.d.ts +1 -1
- package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
- package/dist/functions/helpers/get-browser-instance.js +3 -1
- package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
- package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
- package/dist/functions/helpers/get-encoding-metadata.d.ts +2 -2
- package/dist/functions/helpers/get-files-to-delete.js +3 -3
- package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -2
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +8 -3
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +8 -8
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +1 -1
- package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/get-progress.d.ts +2 -2
- package/dist/functions/helpers/get-progress.js +22 -11
- package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
- 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/inspect-errors.d.ts +3 -3
- package/dist/functions/helpers/io.d.ts +13 -6
- package/dist/functions/helpers/io.js +21 -3
- 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/read-with-progress.d.ts +3 -2
- package/dist/functions/helpers/read-with-progress.js +13 -1
- package/dist/functions/helpers/validate-composition.d.ts +10 -4
- package/dist/functions/helpers/validate-composition.js +7 -1
- package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
- package/dist/functions/helpers/write-lambda-error.js +1 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/write-post-render-data.js +1 -0
- package/dist/functions/index.d.ts +3 -2
- package/dist/functions/index.js +14 -7
- package/dist/functions/info.d.ts +2 -2
- package/dist/functions/info.js +2 -1
- package/dist/functions/launch.d.ts +1 -1
- package/dist/functions/launch.js +73 -26
- package/dist/functions/progress.d.ts +1 -1
- package/dist/functions/progress.js +7 -0
- package/dist/functions/renderer.d.ts +1 -1
- package/dist/functions/renderer.js +105 -71
- package/dist/functions/start.d.ts +6 -2
- package/dist/functions/start.js +25 -3
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +26 -7
- package/dist/index.d.ts +33 -18
- package/dist/pricing/price-per-1-s.d.ts +1 -1
- package/dist/shared/aws-clients.d.ts +1 -1
- package/dist/shared/bundle-site.d.ts +1 -6
- package/dist/shared/call-lambda.d.ts +3 -3
- package/dist/shared/check-credentials.js +2 -2
- package/dist/shared/constants.d.ts +38 -17
- package/dist/shared/constants.js +8 -7
- 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 +1 -1
- package/dist/shared/get-account-id.d.ts +1 -1
- package/dist/shared/get-cloudwatch-stream-url.d.ts +8 -0
- package/dist/shared/get-cloudwatch-stream-url.js +7 -0
- package/dist/shared/get-function-version.d.ts +2 -3
- package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
- package/dist/shared/get-most-expensive-chunks.js +25 -0
- package/dist/shared/hosted-layers.d.ts +2 -2
- package/dist/shared/hosted-layers.js +60 -60
- 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/p-limit.d.ts +1 -0
- package/dist/shared/p-limit.js +57 -0
- package/dist/shared/random-hash.d.ts +2 -2
- package/dist/shared/random-hash.js +1 -1
- package/dist/shared/return-values.d.ts +7 -7
- package/dist/shared/return-values.js +0 -1
- package/dist/shared/stream-to-string.d.ts +2 -1
- package/dist/shared/truthy.d.ts +3 -0
- package/dist/shared/truthy.js +7 -0
- package/dist/shared/validate-aws-region.d.ts +1 -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-download-behavior.d.ts +1 -0
- package/dist/shared/validate-download-behavior.js +21 -0
- package/dist/shared/validate-frames-per-lambda.js +1 -1
- package/dist/shared/validate-lambda-codec.d.ts +4 -0
- package/dist/shared/validate-lambda-codec.js +30 -0
- package/dist/shared/validate-outname.d.ts +1 -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/package.json +13 -14
- package/remotionlambda.zip +0 -0
- package/dist/cli/helpers/format-bytes.d.ts +0 -6
- package/dist/cli/helpers/format-bytes.js +0 -103
- package/dist/shared/chunk.d.ts +0 -1
- package/dist/shared/chunk.js +0 -11
package/dist/functions/still.js
CHANGED
|
@@ -8,13 +8,14 @@ const client_lambda_1 = require("@aws-sdk/client-lambda");
|
|
|
8
8
|
const renderer_1 = require("@remotion/renderer");
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const
|
|
11
|
+
const version_1 = require("remotion/version");
|
|
12
12
|
const estimate_price_1 = require("../api/estimate-price");
|
|
13
13
|
const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
|
|
14
14
|
const aws_clients_1 = require("../shared/aws-clients");
|
|
15
15
|
const constants_1 = require("../shared/constants");
|
|
16
16
|
const make_s3_url_1 = require("../shared/make-s3-url");
|
|
17
17
|
const random_hash_1 = require("../shared/random-hash");
|
|
18
|
+
const validate_download_behavior_1 = require("../shared/validate-download-behavior");
|
|
18
19
|
const validate_outname_1 = require("../shared/validate-outname");
|
|
19
20
|
const validate_privacy_1 = require("../shared/validate-privacy");
|
|
20
21
|
const expected_out_name_1 = require("./helpers/expected-out-name");
|
|
@@ -27,10 +28,17 @@ const io_1 = require("./helpers/io");
|
|
|
27
28
|
const validate_composition_1 = require("./helpers/validate-composition");
|
|
28
29
|
const write_lambda_error_1 = require("./helpers/write-lambda-error");
|
|
29
30
|
const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
30
|
-
var _a, _b
|
|
31
|
+
var _a, _b;
|
|
31
32
|
if (lambdaParams.type !== constants_1.LambdaRoutines.still) {
|
|
32
33
|
throw new TypeError('Expected still type');
|
|
33
34
|
}
|
|
35
|
+
if (lambdaParams.version !== version_1.VERSION) {
|
|
36
|
+
if (!lambdaParams.version) {
|
|
37
|
+
throw new Error(`Version mismatch: When calling renderStillOnLambda(), the deployed Lambda function had version ${version_1.VERSION} but the @remotion/lambda package is an older version. Align the versions.`);
|
|
38
|
+
}
|
|
39
|
+
throw new Error(`Version mismatch: When calling renderStillOnLambda(), get deployed Lambda function had version ${version_1.VERSION} and the @remotion/lambda package has version ${lambdaParams.version}. Align the versions.`);
|
|
40
|
+
}
|
|
41
|
+
(0, validate_download_behavior_1.validateDownloadBehavior)(lambdaParams.downloadBehavior);
|
|
34
42
|
(0, validate_privacy_1.validatePrivacy)(lambdaParams.privacy);
|
|
35
43
|
(0, validate_outname_1.validateOutname)(lambdaParams.outName);
|
|
36
44
|
const start = Date.now();
|
|
@@ -38,16 +46,23 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
38
46
|
(0, get_or_create_bucket_1.getOrCreateBucket)({
|
|
39
47
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
40
48
|
}),
|
|
41
|
-
(0, get_browser_instance_1.getBrowserInstance)(
|
|
49
|
+
(0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(lambdaParams.logLevel, 'verbose'), (_a = lambdaParams.chromiumOptions) !== null && _a !== void 0 ? _a : {}),
|
|
42
50
|
]);
|
|
43
51
|
const outputDir = renderer_1.RenderInternals.tmpDir('remotion-render-');
|
|
44
52
|
const outputPath = path_1.default.join(outputDir, 'output');
|
|
53
|
+
const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
|
|
45
54
|
const composition = await (0, validate_composition_1.validateComposition)({
|
|
46
55
|
serveUrl: lambdaParams.serveUrl,
|
|
47
56
|
browserInstance,
|
|
48
57
|
composition: lambdaParams.composition,
|
|
49
58
|
inputProps: lambdaParams.inputProps,
|
|
50
59
|
envVariables: lambdaParams.envVariables,
|
|
60
|
+
ffmpegExecutable: null,
|
|
61
|
+
ffprobeExecutable: null,
|
|
62
|
+
chromiumOptions: lambdaParams.chromiumOptions,
|
|
63
|
+
timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
|
|
64
|
+
port: null,
|
|
65
|
+
downloadMap,
|
|
51
66
|
});
|
|
52
67
|
const renderMetadata = {
|
|
53
68
|
startedDate: Date.now(),
|
|
@@ -62,12 +77,12 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
62
77
|
usesOptimizationProfile: false,
|
|
63
78
|
imageFormat: lambdaParams.imageFormat,
|
|
64
79
|
inputProps: lambdaParams.inputProps,
|
|
65
|
-
lambdaVersion:
|
|
80
|
+
lambdaVersion: version_1.VERSION,
|
|
66
81
|
framesPerLambda: 1,
|
|
67
82
|
memorySizeInMb: Number(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE),
|
|
68
83
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
69
84
|
renderId,
|
|
70
|
-
outName: (
|
|
85
|
+
outName: (_b = lambdaParams.outName) !== null && _b !== void 0 ? _b : undefined,
|
|
71
86
|
};
|
|
72
87
|
await (0, io_1.lambdaWriteFile)({
|
|
73
88
|
bucketName,
|
|
@@ -76,6 +91,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
76
91
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
77
92
|
privacy: 'private',
|
|
78
93
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
94
|
+
downloadBehavior: null,
|
|
79
95
|
});
|
|
80
96
|
await (0, renderer_1.renderStill)({
|
|
81
97
|
composition,
|
|
@@ -91,16 +107,19 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
|
|
|
91
107
|
quality: lambdaParams.quality,
|
|
92
108
|
chromiumOptions: lambdaParams.chromiumOptions,
|
|
93
109
|
scale: lambdaParams.scale,
|
|
110
|
+
timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
|
|
111
|
+
downloadMap,
|
|
94
112
|
});
|
|
95
|
-
const { key
|
|
113
|
+
const { key, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
|
|
96
114
|
const { size } = await fs_1.default.promises.stat(outputPath);
|
|
97
115
|
await (0, io_1.lambdaWriteFile)({
|
|
98
116
|
bucketName: renderBucketName,
|
|
99
|
-
key
|
|
117
|
+
key,
|
|
100
118
|
privacy: lambdaParams.privacy,
|
|
101
119
|
body: fs_1.default.createReadStream(outputPath),
|
|
102
120
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
103
121
|
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
122
|
+
downloadBehavior: lambdaParams.downloadBehavior,
|
|
104
123
|
});
|
|
105
124
|
await fs_1.default.promises.rm(outputPath, { recursive: true });
|
|
106
125
|
const estimatedPrice = (0, estimate_price_1.estimatePrice)({
|
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import type { DeleteFunctionInput } from './api/delete-function';
|
|
2
|
+
import { deleteFunction } from './api/delete-function';
|
|
3
|
+
import type { DeleteSiteInput, DeleteSiteOutput } from './api/delete-site';
|
|
4
|
+
import { deleteSite } from './api/delete-site';
|
|
5
|
+
import type { DeployFunctionInput, DeployFunctionOutput } from './api/deploy-function';
|
|
6
|
+
import { deployFunction } from './api/deploy-function';
|
|
7
|
+
import type { DeploySiteInput, DeploySiteOutput } from './api/deploy-site';
|
|
8
|
+
import { deploySite } from './api/deploy-site';
|
|
9
|
+
import type { DownloadMediaInput, DownloadMediaOutput } from './api/download-media';
|
|
10
|
+
import { downloadMedia, downloadVideo } from './api/download-media';
|
|
11
|
+
import type { EstimatePriceInput } from './api/estimate-price';
|
|
12
|
+
import { estimatePrice } from './api/estimate-price';
|
|
13
|
+
import type { GetAwsClientInput, GetAwsClientOutput } from './api/get-aws-client';
|
|
14
|
+
import { getAwsClient } from './api/get-aws-client';
|
|
15
|
+
import type { FunctionInfo, GetFunctionInfoInput } from './api/get-function-info';
|
|
16
|
+
import { getFunctionInfo } from './api/get-function-info';
|
|
17
|
+
import type { GetFunctionsInput } from './api/get-functions';
|
|
18
|
+
import { getFunctions } from './api/get-functions';
|
|
19
|
+
import type { GetOrCreateBucketInput, GetOrCreateBucketOutput } from './api/get-or-create-bucket';
|
|
20
|
+
import { getOrCreateBucket } from './api/get-or-create-bucket';
|
|
11
21
|
import { getRegions } from './api/get-regions';
|
|
12
|
-
import { GetRenderInput
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
22
|
+
import type { GetRenderInput } from './api/get-render-progress';
|
|
23
|
+
import { getRenderProgress } from './api/get-render-progress';
|
|
24
|
+
import type { GetSitesInput, GetSitesOutput } from './api/get-sites';
|
|
25
|
+
import { getSites } from './api/get-sites';
|
|
26
|
+
import type { SimulatePermissionsInput, SimulatePermissionsOutput } from './api/iam-validation/simulate';
|
|
27
|
+
import { simulatePermissions } from './api/iam-validation/simulate';
|
|
15
28
|
import { getRolePolicy, getUserPolicy } from './api/iam-validation/suggested-policy';
|
|
16
29
|
import { presignUrl } from './api/presign-url';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
30
|
+
import type { RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput } from './api/render-media-on-lambda';
|
|
31
|
+
import { renderMediaOnLambda, renderVideoOnLambda } from './api/render-media-on-lambda';
|
|
32
|
+
import type { RenderStillOnLambdaInput, RenderStillOnLambdaOutput } from './api/render-still-on-lambda';
|
|
33
|
+
import { renderStillOnLambda } from './api/render-still-on-lambda';
|
|
34
|
+
import type { LambdaLSInput, LambdaLsReturnType } from './functions/helpers/io';
|
|
20
35
|
import { LambdaInternals } from './internals';
|
|
21
|
-
import { AwsRegion } from './pricing/aws-regions';
|
|
36
|
+
import type { AwsRegion } from './pricing/aws-regions';
|
|
22
37
|
import type { RenderProgress } from './shared/constants';
|
|
23
|
-
import { LambdaArchitecture } from './shared/validate-architecture';
|
|
38
|
+
import type { LambdaArchitecture } from './shared/validate-architecture';
|
|
24
39
|
export { deleteSite, deployFunction, deploySite, downloadMedia, downloadVideo, getFunctions, getUserPolicy, getRolePolicy, getSites, getOrCreateBucket, getRenderProgress, renderVideoOnLambda, renderMediaOnLambda, simulatePermissions, deleteFunction, getFunctionInfo, estimatePrice, LambdaInternals, renderStillOnLambda, getRegions, getAwsClient, presignUrl, };
|
|
25
40
|
export type { AwsRegion, RenderProgress, DeploySiteInput, DeploySiteOutput, LambdaLsReturnType, LambdaLSInput, DeleteSiteInput, DeleteSiteOutput, EstimatePriceInput, DeployFunctionInput, DeployFunctionOutput, DeleteFunctionInput, GetFunctionInfoInput, FunctionInfo, GetFunctionsInput, GetSitesInput, GetSitesOutput, DownloadMediaInput, DownloadMediaOutput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderInput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SimulatePermissionsInput, SimulatePermissionsOutput, GetAwsClientInput, GetAwsClientOutput, LambdaArchitecture, };
|
|
@@ -3,7 +3,7 @@ import { IAMClient } from '@aws-sdk/client-iam';
|
|
|
3
3
|
import { LambdaClient } from '@aws-sdk/client-lambda';
|
|
4
4
|
import { S3Client } from '@aws-sdk/client-s3';
|
|
5
5
|
import { ServiceQuotasClient } from '@aws-sdk/client-service-quotas';
|
|
6
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
6
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
7
7
|
export declare type ServiceMapping = {
|
|
8
8
|
s3: S3Client;
|
|
9
9
|
cloudwatch: CloudWatchLogsClient;
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
export declare const bundleSite: (entryPoint: string, onProgressUpdate?: ((progress: number) => void) | undefined, options?:
|
|
2
|
-
webpackOverride?: import("remotion").WebpackOverrideFn | undefined;
|
|
3
|
-
outDir?: string | undefined;
|
|
4
|
-
enableCaching?: boolean | undefined;
|
|
5
|
-
publicPath?: string | undefined;
|
|
6
|
-
} | undefined) => Promise<string>;
|
|
1
|
+
export declare const bundleSite: (entryPoint: string, onProgressUpdate?: ((progress: number) => void) | undefined, options?: import("@remotion/bundler").BundleOptions | undefined) => Promise<string>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
import { LambdaPayloads, LambdaRoutines } from './constants';
|
|
3
|
-
import { LambdaReturnValues } from './return-values';
|
|
1
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
+
import type { LambdaPayloads, LambdaRoutines } from './constants';
|
|
3
|
+
import type { LambdaReturnValues } from './return-values';
|
|
4
4
|
export declare const callLambda: <T extends LambdaRoutines>({ functionName, type, payload, region, }: {
|
|
5
5
|
functionName: string;
|
|
6
6
|
type: T;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.checkCredentials = void 0;
|
|
4
|
-
const remotion_1 = require("remotion");
|
|
5
4
|
const is_cli_1 = require("../cli/is-cli");
|
|
6
5
|
const docs_url_1 = require("./docs-url");
|
|
6
|
+
const truthy_1 = require("./truthy");
|
|
7
7
|
const messageForVariable = (variable) => {
|
|
8
8
|
return [
|
|
9
9
|
`You have tried to call a Remotion Lambda function, but have not set the environment variable ${variable}.`,
|
|
@@ -13,7 +13,7 @@ const messageForVariable = (variable) => {
|
|
|
13
13
|
`- Please refer to the Remotion Lambda docs (${docs_url_1.DOCS_URL}/docs/lambda/setup) to see how to generate the credentials for your AWS account and then set the environment variables.`,
|
|
14
14
|
`- For more reasons see the troubleshooting page: ${docs_url_1.DOCS_URL}/docs/lambda/troubleshooting/permissions`,
|
|
15
15
|
]
|
|
16
|
-
.filter(
|
|
16
|
+
.filter(truthy_1.truthy)
|
|
17
17
|
.join('\n');
|
|
18
18
|
};
|
|
19
19
|
const checkCredentials = () => {
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { ChromiumOptions } from '@remotion/renderer';
|
|
2
|
-
import {
|
|
3
|
-
import { ChunkRetry } from '../functions/helpers/get-retry-stats';
|
|
4
|
-
import { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
|
|
5
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
6
|
-
import {
|
|
1
|
+
import type { ChromiumOptions, Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile } from '@remotion/renderer';
|
|
2
|
+
import type { VideoConfig } from 'remotion';
|
|
3
|
+
import type { ChunkRetry } from '../functions/helpers/get-retry-stats';
|
|
4
|
+
import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
|
|
5
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
6
|
+
import type { DownloadBehavior } from './content-disposition-header';
|
|
7
|
+
import type { ExpensiveChunk } from './get-most-expensive-chunks';
|
|
8
|
+
import type { LambdaArchitecture } from './validate-architecture';
|
|
9
|
+
import type { LambdaCodec } from './validate-lambda-codec';
|
|
7
10
|
export declare const MIN_MEMORY = 512;
|
|
8
11
|
export declare const MAX_MEMORY = 10240;
|
|
9
12
|
export declare const DEFAULT_MEMORY_SIZE = 2048;
|
|
@@ -18,7 +21,7 @@ export declare const COMMAND_NOT_FOUND = "Command not found";
|
|
|
18
21
|
export declare const DEFAULT_REGION: AwsRegion;
|
|
19
22
|
export declare const DEFAULT_MAX_RETRIES = 1;
|
|
20
23
|
export declare const MAX_FUNCTIONS_PER_RENDER = 200;
|
|
21
|
-
export declare const DEFAULT_EPHEMERAL_STORAGE_IN_MB =
|
|
24
|
+
export declare const DEFAULT_EPHEMERAL_STORAGE_IN_MB = 2048;
|
|
22
25
|
export declare const MIN_EPHEMERAL_STORAGE_IN_MB = 512;
|
|
23
26
|
export declare const MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
|
|
24
27
|
export declare const DEFAULT_OUTPUT_PRIVACY: Privacy;
|
|
@@ -29,8 +32,9 @@ export declare const LOG_GROUP_PREFIX = "/aws/lambda/";
|
|
|
29
32
|
export declare const rendersPrefix: (renderId: string) => string;
|
|
30
33
|
export declare const encodingProgressKey: (renderId: string) => string;
|
|
31
34
|
export declare const renderMetadataKey: (renderId: string) => string;
|
|
32
|
-
export declare const
|
|
33
|
-
export declare const
|
|
35
|
+
export declare const initalizedMetadataKey: (renderId: string) => string;
|
|
36
|
+
export declare const lambdaChunkInitializedPrefix: (renderId: string) => string;
|
|
37
|
+
export declare const lambdaChunkInitializedKey: ({ renderId, chunk, attempt, }: {
|
|
34
38
|
attempt: number;
|
|
35
39
|
renderId: string;
|
|
36
40
|
chunk: number;
|
|
@@ -91,7 +95,7 @@ export declare type LambdaPayloads = {
|
|
|
91
95
|
composition: string;
|
|
92
96
|
framesPerLambda: number | null;
|
|
93
97
|
inputProps: unknown;
|
|
94
|
-
codec:
|
|
98
|
+
codec: LambdaCodec;
|
|
95
99
|
imageFormat: ImageFormat;
|
|
96
100
|
crf: number | undefined;
|
|
97
101
|
envVariables: Record<string, string> | undefined;
|
|
@@ -106,6 +110,12 @@ export declare type LambdaPayloads = {
|
|
|
106
110
|
timeoutInMilliseconds: number;
|
|
107
111
|
chromiumOptions: ChromiumOptions;
|
|
108
112
|
scale: number;
|
|
113
|
+
everyNthFrame: number;
|
|
114
|
+
numberOfGifLoops: number | null;
|
|
115
|
+
concurrencyPerLambda: number;
|
|
116
|
+
downloadBehavior: DownloadBehavior;
|
|
117
|
+
muted: boolean;
|
|
118
|
+
version: string;
|
|
109
119
|
};
|
|
110
120
|
launch: {
|
|
111
121
|
type: LambdaRoutines.launch;
|
|
@@ -116,7 +126,7 @@ export declare type LambdaPayloads = {
|
|
|
116
126
|
inputProps: unknown;
|
|
117
127
|
renderId: string;
|
|
118
128
|
imageFormat: ImageFormat;
|
|
119
|
-
codec:
|
|
129
|
+
codec: LambdaCodec;
|
|
120
130
|
crf: number | undefined;
|
|
121
131
|
envVariables: Record<string, string> | undefined;
|
|
122
132
|
pixelFormat: PixelFormat | undefined;
|
|
@@ -130,13 +140,20 @@ export declare type LambdaPayloads = {
|
|
|
130
140
|
timeoutInMilliseconds: number;
|
|
131
141
|
chromiumOptions: ChromiumOptions;
|
|
132
142
|
scale: number;
|
|
143
|
+
everyNthFrame: number;
|
|
144
|
+
numberOfGifLoops: number | null;
|
|
145
|
+
concurrencyPerLambda: number;
|
|
146
|
+
downloadBehavior: DownloadBehavior;
|
|
147
|
+
muted: boolean;
|
|
133
148
|
};
|
|
134
149
|
status: {
|
|
135
150
|
type: LambdaRoutines.status;
|
|
136
151
|
bucketName: string;
|
|
137
152
|
renderId: string;
|
|
153
|
+
version: string;
|
|
138
154
|
};
|
|
139
155
|
renderer: {
|
|
156
|
+
concurrencyPerLambda: number;
|
|
140
157
|
type: LambdaRoutines.renderer;
|
|
141
158
|
serveUrl: string;
|
|
142
159
|
frameRange: [number, number];
|
|
@@ -151,7 +168,7 @@ export declare type LambdaPayloads = {
|
|
|
151
168
|
inputProps: unknown;
|
|
152
169
|
renderId: string;
|
|
153
170
|
imageFormat: ImageFormat;
|
|
154
|
-
codec: Codec
|
|
171
|
+
codec: Exclude<Codec, 'h264'>;
|
|
155
172
|
crf: number | undefined;
|
|
156
173
|
proResProfile: ProResProfile | undefined;
|
|
157
174
|
pixelFormat: PixelFormat | undefined;
|
|
@@ -163,6 +180,8 @@ export declare type LambdaPayloads = {
|
|
|
163
180
|
timeoutInMilliseconds: number;
|
|
164
181
|
chromiumOptions: ChromiumOptions;
|
|
165
182
|
scale: number;
|
|
183
|
+
everyNthFrame: number;
|
|
184
|
+
muted: boolean;
|
|
166
185
|
};
|
|
167
186
|
still: {
|
|
168
187
|
type: LambdaRoutines.still;
|
|
@@ -177,10 +196,12 @@ export declare type LambdaPayloads = {
|
|
|
177
196
|
frame: number;
|
|
178
197
|
privacy: Privacy;
|
|
179
198
|
logLevel: LogLevel;
|
|
180
|
-
outName:
|
|
199
|
+
outName: OutNameInput | null;
|
|
181
200
|
timeoutInMilliseconds: number;
|
|
182
201
|
chromiumOptions: ChromiumOptions;
|
|
183
202
|
scale: number;
|
|
203
|
+
downloadBehavior: DownloadBehavior | null;
|
|
204
|
+
version: string;
|
|
184
205
|
};
|
|
185
206
|
};
|
|
186
207
|
export declare type LambdaPayload = LambdaPayloads[LambdaRoutines];
|
|
@@ -205,13 +226,11 @@ export declare type RenderMetadata = {
|
|
|
205
226
|
inputProps: unknown;
|
|
206
227
|
framesPerLambda: number;
|
|
207
228
|
memorySizeInMb: number;
|
|
208
|
-
lambdaVersion:
|
|
229
|
+
lambdaVersion: string;
|
|
209
230
|
region: AwsRegion;
|
|
210
231
|
renderId: string;
|
|
211
232
|
outName: OutNameInput | undefined;
|
|
212
233
|
};
|
|
213
|
-
export declare type LambdaVersions = '2022-05-16' | '2022-05-11' | '2022-05-07' | '2022-05-06' | '2022-05-03' | '2022-04-20' | '2022-04-19' | '2022-04-18' | '2022-04-09' | '2022-04-08' | '2022-04-05' | '2022-04-02' | '2022-03-29' | '2022-03-17' | '2022-03-02' | '2022-03-01' | '2022-02-27' | '2022-02-14' | '2022-02-12' | '2022-02-09' | '2022-02-08' | '2022-02-07' | '2022-02-06' | '2022-02-05' | '2022-02-04' | '2022-02-03' | '2022-01-23' | '2022-01-19' | '2022-01-11' | '2022-01-10' | '2022-01-09' | '2022-01-06' | '2022-01-05' | '2021-12-22' | '2021-12-17' | '2021-12-16' | '2021-12-15' | '2021-12-14' | '2021-12-13' | '2021-12-11' | '2021-12-10' | '2021-12-04' | '2021-11-29' | '2021-11-27' | '2021-11-24' | '2021-11-22' | '2021-11-19' | '2021-11-18' | '2021-11-15' | '2021-11-12' | '2021-11-10' | '2021-11-01' | '2021-10-29' | '2021-10-27' | '2021-10-21' | '2021-10-19' | '2021-10-07' | '2021-10-03' | '2021-10-01' | '2021-09-15' | '2021-09-06' | '2021-08-06' | '2021-07-14' | '2021-07-05' | '2021-07-02' | '2021-06-23' | 'n/a';
|
|
214
|
-
export declare const CURRENT_VERSION: LambdaVersions;
|
|
215
234
|
export declare type PostRenderData = {
|
|
216
235
|
cost: {
|
|
217
236
|
estimatedCost: number;
|
|
@@ -233,6 +252,7 @@ export declare type PostRenderData = {
|
|
|
233
252
|
timeToRenderChunks: number;
|
|
234
253
|
timeToInvokeLambdas: number;
|
|
235
254
|
retriesInfo: ChunkRetry[];
|
|
255
|
+
mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
|
|
236
256
|
};
|
|
237
257
|
export declare type CostsInfo = {
|
|
238
258
|
accruedSoFar: number;
|
|
@@ -267,7 +287,8 @@ export declare type RenderProgress = {
|
|
|
267
287
|
timeToInvokeLambdas: number | null;
|
|
268
288
|
overallProgress: number;
|
|
269
289
|
retriesInfo: ChunkRetry[];
|
|
290
|
+
mostExpensiveFrameRanges: ExpensiveChunk[] | null;
|
|
270
291
|
};
|
|
271
|
-
export declare type Privacy = 'public' | 'private';
|
|
292
|
+
export declare type Privacy = 'public' | 'private' | 'no-acl';
|
|
272
293
|
export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
|
|
273
294
|
export declare const LAMBDA_BURST_LIMIT_QUOTA = "L-548AE339";
|
package/dist/shared/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.
|
|
3
|
+
exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.optimizationProfile = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaChunkInitializedKey = exports.lambdaChunkInitializedPrefix = exports.initalizedMetadataKey = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_ARCHITECTURE = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
|
|
4
4
|
exports.MIN_MEMORY = 512;
|
|
5
5
|
exports.MAX_MEMORY = 10240;
|
|
6
6
|
exports.DEFAULT_MEMORY_SIZE = 2048;
|
|
@@ -15,7 +15,7 @@ exports.COMMAND_NOT_FOUND = 'Command not found';
|
|
|
15
15
|
exports.DEFAULT_REGION = 'us-east-1';
|
|
16
16
|
exports.DEFAULT_MAX_RETRIES = 1;
|
|
17
17
|
exports.MAX_FUNCTIONS_PER_RENDER = 200;
|
|
18
|
-
exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB =
|
|
18
|
+
exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = 2048;
|
|
19
19
|
exports.MIN_EPHEMERAL_STORAGE_IN_MB = 512;
|
|
20
20
|
exports.MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
|
|
21
21
|
exports.DEFAULT_OUTPUT_PRIVACY = 'public';
|
|
@@ -29,10 +29,12 @@ const encodingProgressKey = (renderId) => `${(0, exports.rendersPrefix)(renderId
|
|
|
29
29
|
exports.encodingProgressKey = encodingProgressKey;
|
|
30
30
|
const renderMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/pre-render-metadata.json`;
|
|
31
31
|
exports.renderMetadataKey = renderMetadataKey;
|
|
32
|
-
const
|
|
33
|
-
exports.
|
|
34
|
-
const
|
|
35
|
-
exports.
|
|
32
|
+
const initalizedMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/initialized.txt`;
|
|
33
|
+
exports.initalizedMetadataKey = initalizedMetadataKey;
|
|
34
|
+
const lambdaChunkInitializedPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-initialized`;
|
|
35
|
+
exports.lambdaChunkInitializedPrefix = lambdaChunkInitializedPrefix;
|
|
36
|
+
const lambdaChunkInitializedKey = ({ renderId, chunk, attempt, }) => `${(0, exports.lambdaChunkInitializedPrefix)(renderId)}-chunk:${chunk}-attempt:${attempt}.txt`;
|
|
37
|
+
exports.lambdaChunkInitializedKey = lambdaChunkInitializedKey;
|
|
36
38
|
const lambdaTimingsPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-timings/chunk:`;
|
|
37
39
|
exports.lambdaTimingsPrefix = lambdaTimingsPrefix;
|
|
38
40
|
const lambdaTimingsPrefixForChunk = (renderId, chunk) => (0, exports.lambdaTimingsPrefix)(renderId) + String(chunk).padStart(8, '0');
|
|
@@ -84,6 +86,5 @@ var LambdaRoutines;
|
|
|
84
86
|
LambdaRoutines["renderer"] = "renderer";
|
|
85
87
|
LambdaRoutines["still"] = "still";
|
|
86
88
|
})(LambdaRoutines = exports.LambdaRoutines || (exports.LambdaRoutines = {}));
|
|
87
|
-
exports.CURRENT_VERSION = '2022-05-16';
|
|
88
89
|
exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = 'L-B99A9384';
|
|
89
90
|
exports.LAMBDA_BURST_LIMIT_QUOTA = 'L-548AE339';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// By setting the Content-Disposition header in an S3 object,
|
|
3
|
+
// you can control if the user downloads the item if you
|
|
4
|
+
// visit the link
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getContentDispositionHeader = void 0;
|
|
7
|
+
const getContentDispositionHeader = (behavior) => {
|
|
8
|
+
if (behavior === null) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
if (behavior.type === 'play-in-browser') {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
if (behavior.fileName === null) {
|
|
15
|
+
return `attachment`;
|
|
16
|
+
}
|
|
17
|
+
return `attachment; filename="${behavior.fileName}"`;
|
|
18
|
+
};
|
|
19
|
+
exports.getContentDispositionHeader = getContentDispositionHeader;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
1
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
2
|
export declare const convertToServeUrl: (urlOrId: string, region: AwsRegion) => Promise<string>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AwsRegion } from '../client';
|
|
2
|
+
import type { LambdaRoutines } from './constants';
|
|
3
|
+
export declare const getCloudwatchStreamUrl: ({ region, functionName, method, renderId, }: {
|
|
4
|
+
region: AwsRegion;
|
|
5
|
+
functionName: string;
|
|
6
|
+
method: LambdaRoutines;
|
|
7
|
+
renderId: string;
|
|
8
|
+
}) => string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCloudwatchStreamUrl = void 0;
|
|
4
|
+
const getCloudwatchStreamUrl = ({ region, functionName, method, renderId, }) => {
|
|
5
|
+
return `https://${region}.console.aws.amazon.com/cloudwatch/home?region=${region}#logsV2:log-groups/log-group/$252Faws$252Flambda$252F${functionName}/log-events$3FfilterPattern$3D$2522method$253D${method}$252CrenderId$253D${renderId}$2522`;
|
|
6
|
+
};
|
|
7
|
+
exports.getCloudwatchStreamUrl = getCloudwatchStreamUrl;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
import { LambdaVersions } from './constants';
|
|
1
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
3
2
|
export declare const getFunctionVersion: ({ functionName, region, }: {
|
|
4
3
|
functionName: string;
|
|
5
4
|
region: AwsRegion;
|
|
6
|
-
}) => Promise<
|
|
5
|
+
}) => Promise<string>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ParsedTiming } from './parse-lambda-timings-key';
|
|
2
|
+
export declare const OVERHEAD_TIME_PER_LAMBDA = 100;
|
|
3
|
+
export declare type ExpensiveChunk = {
|
|
4
|
+
chunk: number;
|
|
5
|
+
frameRange: [number, number];
|
|
6
|
+
timeInMilliseconds: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const getMostExpensiveChunks: (parsedTimings: ParsedTiming[], framesPerLambda: number) => ExpensiveChunk[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMostExpensiveChunks = exports.OVERHEAD_TIME_PER_LAMBDA = void 0;
|
|
4
|
+
exports.OVERHEAD_TIME_PER_LAMBDA = 100;
|
|
5
|
+
const getMostExpensiveChunks = (parsedTimings, framesPerLambda) => {
|
|
6
|
+
const mostExpensiveChunks = parsedTimings
|
|
7
|
+
.slice(0)
|
|
8
|
+
.sort((a, b) => {
|
|
9
|
+
const durA = a.rendered - a.start;
|
|
10
|
+
const durB = b.rendered - b.start;
|
|
11
|
+
return durB - durA;
|
|
12
|
+
})
|
|
13
|
+
.slice(0, 5);
|
|
14
|
+
return mostExpensiveChunks.map((c) => {
|
|
15
|
+
return {
|
|
16
|
+
timeInMilliseconds: c.rendered - c.start,
|
|
17
|
+
chunk: c.chunk,
|
|
18
|
+
frameRange: [
|
|
19
|
+
framesPerLambda * c.chunk,
|
|
20
|
+
framesPerLambda * (c.chunk + 1) - 1,
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
exports.getMostExpensiveChunks = getMostExpensiveChunks;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
import { LambdaArchitecture } from './validate-architecture';
|
|
1
|
+
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
+
import type { LambdaArchitecture } from './validate-architecture';
|
|
3
3
|
export declare const REMOTION_HOSTED_LAYER_ARN = "arn:aws:lambda:*:678892195805:layer:remotion-binaries-*";
|
|
4
4
|
export declare type HostedLayers = {
|
|
5
5
|
[architecture in LambdaArchitecture]: {
|