@remotion/lambda 4.0.509 → 4.0.510
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/make-layer-public.js +6 -5
- package/dist/api/create-function.d.ts +2 -1
- package/dist/api/create-function.js +57 -20
- package/dist/api/deploy-function.d.ts +7 -2
- package/dist/api/deploy-function.js +10 -1
- package/dist/api/get-regions.d.ts +1 -1
- package/dist/api/iam-validation/resolve-caller-arn.d.ts +6 -0
- package/dist/api/iam-validation/resolve-caller-arn.js +28 -0
- package/dist/api/iam-validation/role-permissions.d.ts +5 -2
- package/dist/api/iam-validation/role-permissions.js +9 -7
- package/dist/api/iam-validation/simulate.js +8 -22
- package/dist/api/iam-validation/suggested-policy.d.ts +6 -2
- package/dist/api/iam-validation/suggested-policy.js +28 -26
- package/dist/api/iam-validation/user-permissions.d.ts +5 -2
- package/dist/api/iam-validation/user-permissions.js +14 -10
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/commands/functions/deploy.js +7 -0
- package/dist/cli/commands/policies/role.js +5 -1
- package/dist/cli/commands/policies/user.js +5 -1
- package/dist/cli/commands/quotas/increase.js +4 -2
- package/dist/cli/commands/quotas/list.js +2 -1
- package/dist/cli/commands/render/render.js +2 -2
- package/dist/cli/commands/still.js +2 -2
- package/dist/cli/get-aws-region.d.ts +1 -1
- package/dist/cli/helpers/get-s3-output-provider-from-cli.d.ts +1 -1
- package/dist/esm/index.mjs +274 -147
- package/dist/esm/policies.mjs +36 -38
- package/dist/functions/helpers/get-current-region.d.ts +1 -1
- package/dist/functions/helpers/make-aws-artifact.d.ts +1 -1
- package/dist/functions/helpers/make-aws-artifact.js +3 -1
- package/dist/index.d.ts +3 -2
- package/dist/shared/get-layers.d.ts +1 -1
- package/dist/shared/get-layers.js +4 -2
- package/dist/shared/hosted-layers.d.ts +2 -1
- package/dist/shared/lambda-insights-extensions.js +2 -0
- package/dist/shared/validate-custom-layer-arns.d.ts +6 -0
- package/dist/shared/validate-custom-layer-arns.js +44 -0
- package/package.json +12 -12
- package/remotionlambda-arm64.zip +0 -0
package/dist/esm/policies.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
REMOTION_BUCKET_PREFIX,
|
|
6
6
|
RENDER_FN_PREFIX
|
|
7
7
|
} from "@remotion/lambda-client/constants";
|
|
8
|
-
var
|
|
8
|
+
var getRolePermissions = (partition) => [
|
|
9
9
|
{
|
|
10
10
|
actions: ["s3:ListAllMyBuckets"],
|
|
11
11
|
resource: ["*"]
|
|
@@ -21,24 +21,25 @@ var rolePermissions = [
|
|
|
21
21
|
"s3:PutObject",
|
|
22
22
|
"s3:GetBucketLocation"
|
|
23
23
|
],
|
|
24
|
-
resource: [`arn:
|
|
24
|
+
resource: [`arn:${partition}:s3:::${REMOTION_BUCKET_PREFIX}*`]
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
actions: ["lambda:InvokeFunction"],
|
|
28
|
-
resource: [`arn:
|
|
28
|
+
resource: [`arn:${partition}:lambda:*:*:function:${RENDER_FN_PREFIX}*`]
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
actions: ["logs:CreateLogGroup"],
|
|
32
|
-
resource: [`arn:
|
|
32
|
+
resource: [`arn:${partition}:logs:*:*:log-group:${LAMBDA_INSIGHTS_PREFIX}`]
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
actions: ["logs:CreateLogStream", "logs:PutLogEvents"],
|
|
36
36
|
resource: [
|
|
37
|
-
`arn:
|
|
38
|
-
`arn:
|
|
37
|
+
`arn:${partition}:logs:*:*:log-group:${LOG_GROUP_PREFIX}${RENDER_FN_PREFIX}*`,
|
|
38
|
+
`arn:${partition}:logs:*:*:log-group:${LAMBDA_INSIGHTS_PREFIX}:*`
|
|
39
39
|
]
|
|
40
40
|
}
|
|
41
41
|
];
|
|
42
|
+
var rolePermissions = getRolePermissions("aws");
|
|
42
43
|
|
|
43
44
|
// src/api/iam-validation/user-permissions.ts
|
|
44
45
|
import {
|
|
@@ -51,7 +52,7 @@ import {
|
|
|
51
52
|
var REMOTION_HOSTED_LAYER_ARN = `arn:aws:lambda:*:678892195805:layer:remotion-binaries-*`;
|
|
52
53
|
|
|
53
54
|
// src/api/iam-validation/user-permissions.ts
|
|
54
|
-
var
|
|
55
|
+
var getRequiredPermissions = (partition) => [
|
|
55
56
|
{
|
|
56
57
|
id: "HandleQuotas",
|
|
57
58
|
actions: [
|
|
@@ -70,7 +71,7 @@ var requiredPermissions = [
|
|
|
70
71
|
{
|
|
71
72
|
id: "LambdaInvokation",
|
|
72
73
|
actions: ["iam:PassRole"],
|
|
73
|
-
resource: [
|
|
74
|
+
resource: [`arn:${partition}:iam::*:role/remotion-lambda-role`]
|
|
74
75
|
},
|
|
75
76
|
{
|
|
76
77
|
id: "Storage",
|
|
@@ -89,7 +90,7 @@ var requiredPermissions = [
|
|
|
89
90
|
"s3:PutBucketPolicy",
|
|
90
91
|
"s3:PutLifecycleConfiguration"
|
|
91
92
|
],
|
|
92
|
-
resource: [`arn:
|
|
93
|
+
resource: [`arn:${partition}:s3:::${REMOTION_BUCKET_PREFIX2}*`]
|
|
93
94
|
},
|
|
94
95
|
{
|
|
95
96
|
id: "BucketListing",
|
|
@@ -112,55 +113,52 @@ var requiredPermissions = [
|
|
|
112
113
|
"lambda:PutRuntimeManagementConfig",
|
|
113
114
|
"lambda:TagResource"
|
|
114
115
|
],
|
|
115
|
-
resource: [`arn:
|
|
116
|
+
resource: [`arn:${partition}:lambda:*:*:function:${RENDER_FN_PREFIX2}*`]
|
|
116
117
|
},
|
|
117
118
|
{
|
|
118
119
|
id: "LogsRetention",
|
|
119
120
|
actions: ["logs:CreateLogGroup", "logs:PutRetentionPolicy"],
|
|
120
121
|
resource: [
|
|
121
|
-
`arn:
|
|
122
|
+
`arn:${partition}:logs:*:*:log-group:${LOG_GROUP_PREFIX2}${RENDER_FN_PREFIX2}*`
|
|
122
123
|
]
|
|
123
124
|
},
|
|
124
125
|
{
|
|
125
126
|
id: "FetchBinaries",
|
|
126
127
|
actions: ["lambda:GetLayerVersion"],
|
|
127
|
-
resource: [
|
|
128
|
+
resource: partition === "aws-cn" ? ["arn:aws-cn:lambda:*:488211338238:layer:LambdaInsightsExtension*"] : [
|
|
128
129
|
REMOTION_HOSTED_LAYER_ARN,
|
|
129
130
|
"arn:aws:lambda:*:580247275435:layer:LambdaInsightsExtension*"
|
|
130
131
|
]
|
|
131
132
|
}
|
|
132
133
|
];
|
|
134
|
+
var requiredPermissions = getRequiredPermissions("aws");
|
|
133
135
|
|
|
134
136
|
// src/api/iam-validation/suggested-policy.ts
|
|
135
|
-
var
|
|
137
|
+
var makePolicy = (partition) => ({
|
|
136
138
|
Version: "2012-10-17",
|
|
137
|
-
Statement:
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
};
|
|
148
|
-
var suggestedRolePolicy = {
|
|
139
|
+
Statement: getRequiredPermissions(partition).map((per) => {
|
|
140
|
+
return {
|
|
141
|
+
Sid: per.id,
|
|
142
|
+
Effect: "Allow",
|
|
143
|
+
Action: per.actions,
|
|
144
|
+
Resource: per.resource
|
|
145
|
+
};
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
var makeRolePolicy = (partition) => ({
|
|
149
149
|
Version: "2012-10-17",
|
|
150
|
-
Statement:
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
};
|
|
161
|
-
var getUserPolicy = () => JSON.stringify(suggestedPolicy, null, 2);
|
|
150
|
+
Statement: getRolePermissions(partition).map((per, i) => {
|
|
151
|
+
return {
|
|
152
|
+
Sid: String(i),
|
|
153
|
+
Effect: "Allow",
|
|
154
|
+
Action: per.actions,
|
|
155
|
+
Resource: per.resource
|
|
156
|
+
};
|
|
157
|
+
})
|
|
158
|
+
});
|
|
159
|
+
var getUserPolicy = (options) => JSON.stringify(makePolicy(options?.partition ?? "aws"), null, 2);
|
|
162
160
|
var ROLE_NAME = "remotion-lambda-role";
|
|
163
|
-
var getRolePolicy = () => JSON.stringify(
|
|
161
|
+
var getRolePolicy = (options) => JSON.stringify(makeRolePolicy(options?.partition ?? "aws"), null, 2);
|
|
164
162
|
export {
|
|
165
163
|
getUserPolicy,
|
|
166
164
|
getRolePolicy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getCurrentRegionInFunctionImplementation: () => "af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-4" | "ap-southeast-5" | "ca-central-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2";
|
|
1
|
+
export declare const getCurrentRegionInFunctionImplementation: () => "af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-4" | "ap-southeast-5" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2";
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeAwsArtifact = void 0;
|
|
4
|
+
const lambda_client_1 = require("@remotion/lambda-client");
|
|
4
5
|
const makeAwsArtifact = ({ region, renderBucketName, storageKey, artifact, }) => {
|
|
6
|
+
const { dnsSuffix } = lambda_client_1.LambdaClientInternals.getAwsRegionMetadata(region);
|
|
5
7
|
return {
|
|
6
8
|
filename: artifact.filename,
|
|
7
9
|
sizeInBytes: artifact.content.length,
|
|
8
|
-
s3Url: `https://s3.${region}
|
|
10
|
+
s3Url: `https://s3.${region}.${dnsSuffix}/${renderBucketName}/${storageKey}`,
|
|
9
11
|
s3Key: storageKey,
|
|
10
12
|
};
|
|
11
13
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AwsRegion, CustomCredentials, DeleteFunctionInput, DeleteRenderInput, EnhancedErrorInfo, EstimatePriceInput, GetAwsClientInput, GetAwsClientOutput, GetCompositionsOnLambdaInput, GetCompositionsOnLambdaOutput, GetFunctionsInput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderProgressInput, GetSitesInput, GetSitesOutput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderProgress, RenderStillOnLambdaInput, RenderStillOnLambdaOutput } from '@remotion/lambda-client';
|
|
1
|
+
import type { AwsPartition, AwsRegion, CustomCredentials, DeleteFunctionInput, DeleteRenderInput, EnhancedErrorInfo, EstimatePriceInput, GetAwsClientInput, GetAwsClientOutput, GetCompositionsOnLambdaInput, GetCompositionsOnLambdaOutput, GetFunctionsInput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderProgressInput, GetSitesInput, GetSitesOutput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderProgress, RenderStillOnLambdaInput, RenderStillOnLambdaOutput } from '@remotion/lambda-client';
|
|
2
2
|
import { deleteFunction, deleteRender, renderStillOnLambda as deprecatedRenderStillOnLambda, estimatePrice, getAwsClient, getCompositionsOnLambda, getFunctions, renderVideoOnLambda, validateWebhookSignature } from '@remotion/lambda-client';
|
|
3
3
|
import type { FunctionInfo } from '@remotion/serverless';
|
|
4
4
|
import type { DeleteSiteInput, DeleteSiteOutput } from './api/delete-site';
|
|
@@ -44,5 +44,6 @@ declare const presignUrl: <CheckIfObjectExists extends boolean = false>({ region
|
|
|
44
44
|
*/
|
|
45
45
|
declare const getSites: ({ region, forceBucketName, forcePathStyle, compatibleOnly, requestHandler, }: GetSitesInput) => Promise<GetSitesOutput>;
|
|
46
46
|
export { deleteFunction, deleteRender, deleteSite, deployFunction, deploySite, deploySiteFromBundle, downloadMedia, estimatePrice, getAwsClient, getCompositionsOnLambda, getFunctionInfo, getFunctions, getOrCreateBucket, getRegions, getRenderProgress, getRolePolicy, getSites, getUserPolicy, LambdaInternals, presignUrl, renderMediaOnLambda, renderStillOnLambda, renderVideoOnLambda, simulatePermissions, validateWebhookSignature, };
|
|
47
|
-
export type { AwsRegion, CustomCredentials, DeleteFunctionInput, DeleteRenderInput, DeleteSiteInput, DeleteSiteOutput, DeployFunctionInput, DeployFunctionOutput, DeploySiteFromBundleInput, DeploySiteFromBundleOutput, DeploySiteInput, DeploySiteOutput, DownloadMediaInput, DownloadMediaOutput, EnhancedErrorInfo, EstimatePriceInput, FunctionInfo, GetAwsClientInput, GetAwsClientOutput, GetCompositionsOnLambdaInput, GetCompositionsOnLambdaOutput, GetFunctionInfoInput, GetFunctionsInput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderProgressInput, GetSitesInput, GetSitesOutput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderProgress, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SimulatePermissionsInput, SimulatePermissionsOutput, };
|
|
47
|
+
export type { AwsPartition, AwsRegion, CustomCredentials, DeleteFunctionInput, DeleteRenderInput, DeleteSiteInput, DeleteSiteOutput, DeployFunctionInput, DeployFunctionOutput, DeploySiteFromBundleInput, DeploySiteFromBundleOutput, DeploySiteInput, DeploySiteOutput, DownloadMediaInput, DownloadMediaOutput, EnhancedErrorInfo, EstimatePriceInput, FunctionInfo, GetAwsClientInput, GetAwsClientOutput, GetCompositionsOnLambdaInput, GetCompositionsOnLambdaOutput, GetFunctionInfoInput, GetFunctionsInput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderProgressInput, GetSitesInput, GetSitesOutput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderProgress, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SimulatePermissionsInput, SimulatePermissionsOutput, };
|
|
48
|
+
export type { GetPolicyOptions } from './api/iam-validation/suggested-policy';
|
|
48
49
|
export { _InternalOverallRenderProgress };
|
|
@@ -2,5 +2,5 @@ import type { AwsLayer } from './hosted-layers';
|
|
|
2
2
|
export declare const validateRuntimePreference: (option: unknown) => void;
|
|
3
3
|
export declare const getLayers: ({ option, region, }: {
|
|
4
4
|
option: "apple-emojis" | "cjk" | "default";
|
|
5
|
-
region: "af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-4" | "ap-southeast-5" | "ca-central-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2";
|
|
5
|
+
region: "af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-4" | "ap-southeast-5" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2";
|
|
6
6
|
}) => AwsLayer[];
|
|
@@ -13,8 +13,10 @@ const validateRuntimePreference = (option) => {
|
|
|
13
13
|
};
|
|
14
14
|
exports.validateRuntimePreference = validateRuntimePreference;
|
|
15
15
|
const getLayers = ({ option, region, }) => {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
if (!(region in hosted_layers_1.hostedLayers)) {
|
|
17
|
+
throw new Error(`Remotion-hosted Layers are not available in ${region}.`);
|
|
18
|
+
}
|
|
19
|
+
return hosted_layers_1.hostedLayers[region].filter((layer) => {
|
|
18
20
|
if (layer.layerArn.includes('emoji-apple')) {
|
|
19
21
|
return option === 'apple-emojis';
|
|
20
22
|
}
|
|
@@ -4,7 +4,8 @@ export type AwsLayer = {
|
|
|
4
4
|
layerArn: string;
|
|
5
5
|
version: number;
|
|
6
6
|
};
|
|
7
|
+
export type HostedLayerRegion = Exclude<AwsRegion, 'cn-north-1' | 'cn-northwest-1'>;
|
|
7
8
|
export type HostedLayers = {
|
|
8
|
-
[region in
|
|
9
|
+
[region in HostedLayerRegion]: AwsLayer[];
|
|
9
10
|
};
|
|
10
11
|
export declare const hostedLayers: HostedLayers;
|
|
@@ -25,4 +25,6 @@ exports.lambdaInsightsExtensions = {
|
|
|
25
25
|
'ap-southeast-4': null,
|
|
26
26
|
'ap-southeast-5': null,
|
|
27
27
|
'eu-central-2': null,
|
|
28
|
+
'cn-north-1': 'arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension-Arm64:4',
|
|
29
|
+
'cn-northwest-1': 'arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension-Arm64:4',
|
|
28
30
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const validateCustomLayerArns: ({ customLayerArns, enableLambdaInsights, region, runtimePreference, }: {
|
|
2
|
+
customLayerArns: string[] | null;
|
|
3
|
+
enableLambdaInsights: boolean;
|
|
4
|
+
region: "af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-4" | "ap-southeast-5" | "ca-central-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2";
|
|
5
|
+
runtimePreference: "apple-emojis" | "cjk" | "default";
|
|
6
|
+
}) => void;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateCustomLayerArns = void 0;
|
|
4
|
+
const lambda_client_1 = require("@remotion/lambda-client");
|
|
5
|
+
const layerVersionArnRegex = /^arn:([a-z0-9][a-z0-9-]*):lambda:([a-z0-9-]+):(\d{12}):layer:([A-Za-z0-9-_]+):(\d+)$/;
|
|
6
|
+
const validateCustomLayerArns = ({ customLayerArns, enableLambdaInsights, region, runtimePreference, }) => {
|
|
7
|
+
const { partition } = lambda_client_1.LambdaClientInternals.getAwsRegionMetadata(region);
|
|
8
|
+
if (customLayerArns === null) {
|
|
9
|
+
if (partition === 'aws-cn') {
|
|
10
|
+
throw new Error('customLayerArns must be specified when deploying to AWS China regions because Remotion-hosted Layers are not available in the aws-cn partition.');
|
|
11
|
+
}
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (!Array.isArray(customLayerArns) || customLayerArns.length === 0) {
|
|
15
|
+
throw new TypeError('customLayerArns must contain at least one Layer ARN.');
|
|
16
|
+
}
|
|
17
|
+
if (runtimePreference !== 'default') {
|
|
18
|
+
throw new Error('customLayerArns cannot be combined with a non-default runtimePreference.');
|
|
19
|
+
}
|
|
20
|
+
if (customLayerArns.length + (enableLambdaInsights ? 1 : 0) > 5) {
|
|
21
|
+
throw new Error('Lambda functions support at most 5 Layers, including the Lambda Insights Layer.');
|
|
22
|
+
}
|
|
23
|
+
const seen = new Set();
|
|
24
|
+
for (const layerArn of customLayerArns) {
|
|
25
|
+
if (typeof layerArn !== 'string' || layerArn.length === 0) {
|
|
26
|
+
throw new TypeError('Each customLayerArns entry must be a non-empty string.');
|
|
27
|
+
}
|
|
28
|
+
const match = layerArn.match(layerVersionArnRegex);
|
|
29
|
+
if (!match) {
|
|
30
|
+
throw new TypeError(`Invalid Lambda Layer version ARN: ${layerArn}. Expected arn:<partition>:lambda:<region>:<12-digit-account-id>:layer:<layer-name>:<numeric-version>.`);
|
|
31
|
+
}
|
|
32
|
+
if (match[1] !== partition) {
|
|
33
|
+
throw new Error(`The custom Layer ARN ${layerArn} uses partition ${match[1]}, but region ${region} uses partition ${partition}.`);
|
|
34
|
+
}
|
|
35
|
+
if (match[2] !== region) {
|
|
36
|
+
throw new Error(`The custom Layer ARN ${layerArn} is in region ${match[2]}, but the function is being deployed to ${region}.`);
|
|
37
|
+
}
|
|
38
|
+
if (seen.has(layerArn)) {
|
|
39
|
+
throw new Error(`Duplicate custom Layer ARN: ${layerArn}.`);
|
|
40
|
+
}
|
|
41
|
+
seen.add(layerArn);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.validateCustomLayerArns = validateCustomLayerArns;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/lambda"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/lambda",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.510",
|
|
7
7
|
"description": "Render Remotion videos on AWS Lambda",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"scripts": {
|
|
@@ -28,22 +28,22 @@
|
|
|
28
28
|
"@aws-sdk/client-cloudwatch-logs": "3.986.0",
|
|
29
29
|
"@aws-sdk/client-service-quotas": "3.986.0",
|
|
30
30
|
"@aws-sdk/lib-storage": "3.986.0",
|
|
31
|
-
"@remotion/bundler": "4.0.
|
|
32
|
-
"@remotion/cli": "4.0.
|
|
33
|
-
"@remotion/lambda-client": "4.0.
|
|
34
|
-
"@remotion/renderer": "4.0.
|
|
35
|
-
"@remotion/serverless": "4.0.
|
|
36
|
-
"@remotion/streaming": "4.0.
|
|
31
|
+
"@remotion/bundler": "4.0.510",
|
|
32
|
+
"@remotion/cli": "4.0.510",
|
|
33
|
+
"@remotion/lambda-client": "4.0.510",
|
|
34
|
+
"@remotion/renderer": "4.0.510",
|
|
35
|
+
"@remotion/serverless": "4.0.510",
|
|
36
|
+
"@remotion/streaming": "4.0.510",
|
|
37
37
|
"@smithy/abort-controller": "4.0.1",
|
|
38
|
-
"remotion": "4.0.
|
|
38
|
+
"remotion": "4.0.510",
|
|
39
39
|
"zod": "4.4.3"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@remotion/bundler": "4.0.
|
|
42
|
+
"@remotion/bundler": "4.0.510",
|
|
43
43
|
"@types/express": "5.0.1",
|
|
44
44
|
"express": "4.21.0",
|
|
45
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
46
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
45
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.510",
|
|
46
|
+
"@remotion/eslint-config-internal": "4.0.510",
|
|
47
47
|
"mime-types": "2.1.34",
|
|
48
48
|
"@types/mime-types": "2.1.1",
|
|
49
49
|
"@types/minimist": "1.2.2",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
|
-
"@remotion/bundler": "4.0.
|
|
57
|
+
"@remotion/bundler": "4.0.510"
|
|
58
58
|
},
|
|
59
59
|
"publishConfig": {
|
|
60
60
|
"access": "public"
|
package/remotionlambda-arm64.zip
CHANGED
|
Binary file
|