@remotion/lambda 4.0.71 → 4.0.73

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.
@@ -1,6 +1,6 @@
1
1
  import type { ChromiumOptions, LogLevel, ToOptions } from '@remotion/renderer';
2
2
  import type { BrowserSafeApis } from '@remotion/renderer/client';
3
- import type { VideoConfig } from 'remotion';
3
+ import type { VideoConfig } from 'remotion/no-react';
4
4
  import type { AwsRegion } from '../client';
5
5
  export type GetCompositionsOnLambdaInput = {
6
6
  chromiumOptions?: ChromiumOptions;
@@ -9,6 +9,7 @@ const mime_types_1 = __importDefault(require("mime-types"));
9
9
  const node_fs_1 = require("node:fs");
10
10
  const node_path_1 = __importDefault(require("node:path"));
11
11
  const aws_clients_1 = require("../shared/aws-clients");
12
+ const chunk_1 = require("../shared/chunk");
12
13
  const make_s3_key_1 = require("../shared/make-s3-key");
13
14
  const getDirFiles = (entry) => {
14
15
  throw new TypeError('should only be executed in test ' + JSON.stringify(entry));
@@ -51,34 +52,39 @@ const uploadDir = async ({ bucket, region, localDir, onProgress, keyPrefix, priv
51
52
  progresses[file.name] = 0;
52
53
  }
53
54
  const client = (0, aws_clients_1.getS3Client)(region, null);
54
- const uploads = files.map((filePath) => {
55
- const Key = (0, make_s3_key_1.makeS3Key)(keyPrefix, localDir, filePath.name);
56
- const Body = (0, node_fs_1.createReadStream)(filePath.name);
57
- const ContentType = mime_types_1.default.lookup(Key) || 'application/octet-stream';
58
- const ACL = privacy === 'no-acl'
59
- ? undefined
60
- : privacy === 'private'
61
- ? 'private'
62
- : 'public-read';
63
- const paralellUploads3 = new lib_storage_1.Upload({
64
- client,
65
- queueSize: 4,
66
- partSize: 5 * 1024 * 1024,
67
- params: {
68
- Key,
69
- Bucket: bucket,
70
- Body,
71
- ACL,
72
- ContentType,
73
- },
74
- });
75
- paralellUploads3.on('httpUploadProgress', (progress) => {
76
- var _a;
77
- progresses[filePath.name] = (_a = progress.loaded) !== null && _a !== void 0 ? _a : 0;
78
- });
79
- return paralellUploads3.done();
80
- });
81
- const promise = Promise.all(uploads);
55
+ const chunkedFiles = (0, chunk_1.chunk)(files, 200);
56
+ const uploadAll = (async () => {
57
+ for (const filesChunk of chunkedFiles) {
58
+ const uploads = filesChunk.map((filePath) => {
59
+ const Key = (0, make_s3_key_1.makeS3Key)(keyPrefix, localDir, filePath.name);
60
+ const Body = (0, node_fs_1.createReadStream)(filePath.name);
61
+ const ContentType = mime_types_1.default.lookup(Key) || 'application/octet-stream';
62
+ const ACL = privacy === 'no-acl'
63
+ ? undefined
64
+ : privacy === 'private'
65
+ ? 'private'
66
+ : 'public-read';
67
+ const paralellUploads3 = new lib_storage_1.Upload({
68
+ client,
69
+ queueSize: 4,
70
+ partSize: 5 * 1024 * 1024,
71
+ params: {
72
+ Key,
73
+ Bucket: bucket,
74
+ Body,
75
+ ACL,
76
+ ContentType,
77
+ },
78
+ });
79
+ paralellUploads3.on('httpUploadProgress', (progress) => {
80
+ var _a;
81
+ progresses[filePath.name] = (_a = progress.loaded) !== null && _a !== void 0 ? _a : 0;
82
+ });
83
+ return paralellUploads3.done();
84
+ });
85
+ await Promise.all(uploads);
86
+ }
87
+ })();
82
88
  const interval = setInterval(() => {
83
89
  onProgress({
84
90
  totalSize: files.map((f) => f.size).reduce((a, b) => a + b, 0),
@@ -87,7 +93,7 @@ const uploadDir = async ({ bucket, region, localDir, onProgress, keyPrefix, priv
87
93
  filesUploaded: files.filter((f) => progresses[f.name] === f.size).length,
88
94
  });
89
95
  }, 1000);
90
- await promise;
96
+ await uploadAll;
91
97
  clearInterval(interval);
92
98
  };
93
99
  exports.uploadDir = uploadDir;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeProgressString = exports.makeMultiProgressFromStatus = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
5
  const renderer_1 = require("@remotion/renderer");
6
- const remotion_1 = require("remotion");
6
+ const no_react_1 = require("remotion/no-react");
7
7
  const truthy_1 = require("../../../shared/truthy");
8
8
  const makeInvokeProgress = (invokeProgress, totalSteps, retriesInfo) => {
9
9
  const { lambdasInvoked, totalLambdas } = invokeProgress;
@@ -97,7 +97,7 @@ const makeDownloadProgress = (downloadInfo, totalSteps) => {
97
97
  ? null
98
98
  : `${cli_1.CliInternals.formatBytes(downloadInfo.totalSize)}`,
99
99
  ]
100
- .filter(remotion_1.Internals.truthy)
100
+ .filter(no_react_1.NoReactInternals.truthy)
101
101
  .join('/')
102
102
  : cli_1.CliInternals.chalk.gray(`${downloadInfo.doneIn}ms`),
103
103
  ].join(' ');
@@ -142,7 +142,7 @@ const makeProgressString = ({ progress, steps, downloadInfo, retriesInfo, logLev
142
142
  makeCleanupProgress(progress.cleanupInfo, steps, logLevel === 'verbose'),
143
143
  downloadInfo ? makeDownloadProgress(downloadInfo, steps) : null,
144
144
  ]
145
- .filter(remotion_1.Internals.truthy)
145
+ .filter(no_react_1.NoReactInternals.truthy)
146
146
  .join('\n');
147
147
  };
148
148
  exports.makeProgressString = makeProgressString;
@@ -4,7 +4,7 @@ exports.renderCommand = exports.RENDER_COMMAND = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
5
  const config_1 = require("@remotion/cli/config");
6
6
  const renderer_1 = require("@remotion/renderer");
7
- const remotion_1 = require("remotion");
7
+ const no_react_1 = require("remotion/no-react");
8
8
  const download_media_1 = require("../../../api/download-media");
9
9
  const get_render_progress_1 = require("../../../api/get-render-progress");
10
10
  const render_media_on_lambda_1 = require("../../../api/render-media-on-lambda");
@@ -68,7 +68,7 @@ const renderCommand = async (args, remotionRoot, logLevel) => {
68
68
  envVariables,
69
69
  height,
70
70
  indent: false,
71
- serializedInputPropsWithCustomSchema: remotion_1.Internals.serializeJSONWithDate({
71
+ serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
72
72
  indent: undefined,
73
73
  staticBase: null,
74
74
  data: inputProps,
@@ -4,7 +4,7 @@ exports.sitesCreateSubcommand = exports.SITES_CREATE_SUBCOMMAND = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
5
  const config_1 = require("@remotion/cli/config");
6
6
  const client_1 = require("@remotion/renderer/client");
7
- const remotion_1 = require("remotion");
7
+ const no_react_1 = require("remotion/no-react");
8
8
  const deploy_site_1 = require("../../../api/deploy-site");
9
9
  const get_or_create_bucket_1 = require("../../../api/get-or-create-bucket");
10
10
  const constants_1 = require("../../../shared/constants");
@@ -123,7 +123,7 @@ const sitesCreateSubcommand = async (args, remotionRoot, logLevel) => {
123
123
  log_1.Log.info();
124
124
  log_1.Log.info(cli_1.CliInternals.chalk.blueBright('ℹ️ If you make changes to your code, you need to redeploy the site. You can overwrite the existing site by running:'));
125
125
  log_1.Log.info(cli_1.CliInternals.chalk.blueBright(['npx remotion lambda sites create', args[0], `--site-name=${siteName}`]
126
- .filter(remotion_1.Internals.truthy)
126
+ .filter(no_react_1.NoReactInternals.truthy)
127
127
  .join(' ')));
128
128
  };
129
129
  exports.sitesCreateSubcommand = sitesCreateSubcommand;
@@ -5,7 +5,7 @@ const cli_1 = require("@remotion/cli");
5
5
  const config_1 = require("@remotion/cli/config");
6
6
  const renderer_1 = require("@remotion/renderer");
7
7
  const client_1 = require("@remotion/renderer/client");
8
- const remotion_1 = require("remotion");
8
+ const no_react_1 = require("remotion/no-react");
9
9
  const download_media_1 = require("../../api/download-media");
10
10
  const render_still_on_lambda_1 = require("../../api/render-still-on-lambda");
11
11
  const constants_1 = require("../../shared/constants");
@@ -60,7 +60,7 @@ const stillCommand = async (args, remotionRoot, logLevel) => {
60
60
  browserExecutable,
61
61
  chromiumOptions,
62
62
  envVariables,
63
- serializedInputPropsWithCustomSchema: remotion_1.Internals.serializeJSONWithDate({
63
+ serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
64
64
  indent: undefined,
65
65
  staticBase: null,
66
66
  data: inputProps,
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeDeployProgressBar = exports.makeBucketProgress = exports.makeBundleProgress = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
- const remotion_1 = require("remotion");
5
+ const no_react_1 = require("remotion/no-react");
6
6
  const makeBundleProgress = ({ progress, doneIn }) => {
7
7
  return [
8
8
  `(1/3)`,
@@ -36,7 +36,7 @@ const makeUploadDiff = ({ stats }) => {
36
36
  stats.addedFiles ? `+${stats.addedFiles}` : null,
37
37
  stats.removedFiles ? `-${stats.removedFiles}` : null,
38
38
  ]
39
- .filter(remotion_1.Internals.truthy)
39
+ .filter(no_react_1.NoReactInternals.truthy)
40
40
  .join(',')} ${total === 1 ? 'file' : 'files'})`);
41
41
  };
42
42
  const makeDeployProgressBar = ({ sizeUploaded, totalSize, doneIn, stats, }) => {
@@ -52,7 +52,7 @@ const makeDeployProgressBar = ({ sizeUploaded, totalSize, doneIn, stats, }) => {
52
52
  : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
53
53
  makeUploadDiff({ stats }),
54
54
  ]
55
- .filter(remotion_1.Internals.truthy)
55
+ .filter(no_react_1.NoReactInternals.truthy)
56
56
  .join(' ');
57
57
  };
58
58
  exports.makeDeployProgressBar = makeDeployProgressBar;
@@ -3,5 +3,8 @@ export declare const planFrameRanges: ({ framesPerLambda, frameRange, everyNthFr
3
3
  frameRange: [number, number];
4
4
  everyNthFrame: number;
5
5
  }) => {
6
- chunks: [number, number][];
6
+ chunks: [
7
+ number,
8
+ number
9
+ ][];
7
10
  };
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bestFramesPerLambdaParam = void 0;
4
- const remotion_1 = require("remotion");
4
+ const no_react_1 = require("remotion/no-react");
5
5
  // Always update the code in docs/lambda/concurrency.md too
6
6
  const bestFramesPerLambdaParam = (frameCount) => {
7
7
  // Between 0 and 10 minutes (at 30fps), interpolate the concurrency from 75 to 150
8
- const concurrency = (0, remotion_1.interpolate)(frameCount, [0, 18000], [75, 150], {
8
+ const concurrency = (0, no_react_1.interpolate)(frameCount, [0, 18000], [75, 150], {
9
9
  extrapolateRight: 'clamp',
10
10
  });
11
11
  // At least have 20 as a `framesPerLambda` value
@@ -12,11 +12,11 @@ const get_time_to_finish_1 = require("./get-time-to-finish");
12
12
  const createPostRenderData = ({ renderId, region, memorySizeInMb, renderMetadata, contents, timeToEncode, errorExplanations, timeToDelete, outputFile, }) => {
13
13
  const initializedKeys = contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaTimingsPrefix)(renderId)); });
14
14
  const parsedTimings = initializedKeys.map(({ Key }) => (0, parse_lambda_timings_key_1.parseLambdaTimingsKey)(Key));
15
- const times = parsedTimings
15
+ const estimatedBillingDurationInMilliseconds = parsedTimings
16
16
  .map((p) => p.rendered - p.start + get_most_expensive_chunks_1.OVERHEAD_TIME_PER_LAMBDA)
17
17
  .reduce((a, b) => a + b);
18
18
  const cost = (0, estimate_price_1.estimatePrice)({
19
- durationInMilliseconds: times,
19
+ durationInMilliseconds: estimatedBillingDurationInMilliseconds,
20
20
  memorySizeInMb,
21
21
  region,
22
22
  lambdasInvoked: renderMetadata.estimatedTotalLambdaInvokations,
@@ -74,6 +74,7 @@ const createPostRenderData = ({ renderId, region, memorySizeInMb, renderMetadata
74
74
  retriesInfo,
75
75
  mostExpensiveFrameRanges: (0, get_most_expensive_chunks_1.getMostExpensiveChunks)(parsedTimings, renderMetadata.framesPerLambda, renderMetadata.frameRange[0], renderMetadata.frameRange[1]),
76
76
  deleteAfter: renderMetadata.deleteAfter,
77
+ estimatedBillingDurationInMilliseconds,
77
78
  };
78
79
  };
79
80
  exports.createPostRenderData = createPostRenderData;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getProgress = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
- const remotion_1 = require("remotion");
5
+ const no_react_1 = require("remotion/no-react");
6
6
  const constants_1 = require("../../shared/constants");
7
7
  const parse_chunk_key_1 = require("../../shared/parse-chunk-key");
8
8
  const calculate_chunk_times_1 = require("./calculate-chunk-times");
@@ -197,7 +197,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
197
197
  })
198
198
  : null,
199
199
  ...errorExplanations,
200
- ].filter(remotion_1.Internals.truthy);
200
+ ].filter(no_react_1.NoReactInternals.truthy);
201
201
  return {
202
202
  framesRendered,
203
203
  chunks: chunkCount,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.inspectErrors = void 0;
4
- const remotion_1 = require("remotion");
4
+ const no_react_1 = require("remotion/no-react");
5
5
  const constants_1 = require("../../shared/constants");
6
6
  const docs_url_1 = require("../../shared/docs-url");
7
7
  const stream_to_string_1 = require("../../shared/stream-to-string");
@@ -35,7 +35,7 @@ const inspectErrors = async ({ contents, bucket, region, renderId, expectedBucke
35
35
  const errs = contents
36
36
  .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.getErrorKeyPrefix)(renderId)); })
37
37
  .map((c) => c.Key)
38
- .filter(remotion_1.Internals.truthy);
38
+ .filter(no_react_1.NoReactInternals.truthy);
39
39
  if (errs.length === 0) {
40
40
  return [];
41
41
  }
@@ -9,6 +9,7 @@ const makeTimeoutError = ({ timeoutInMilliseconds, missingChunks, renderMetadata
9
9
  timeoutInMilliseconds,
10
10
  renderId,
11
11
  });
12
+ const error = new Error(message);
12
13
  return {
13
14
  attempt: 1,
14
15
  chunk: null,
@@ -16,7 +17,7 @@ const makeTimeoutError = ({ timeoutInMilliseconds, missingChunks, renderMetadata
16
17
  frame: null,
17
18
  isFatal: true,
18
19
  s3Location: '',
19
- stack: new Error().stack,
20
+ stack: error.stack,
20
21
  tmpDir: null,
21
22
  totalAttempts: 1,
22
23
  type: 'stitcher',
@@ -1,5 +1,5 @@
1
1
  import type { ChromiumOptions, LogLevel, openBrowser, RemotionServer } from '@remotion/renderer';
2
- import type { VideoConfig } from 'remotion';
2
+ import type { VideoConfig } from 'remotion/no-react';
3
3
  import type { Await } from '../../shared/await';
4
4
  type ValidateCompositionOptions = {
5
5
  serveUrl: string;
@@ -70,11 +70,13 @@ const innerLaunchHandler = async ({ functionName, params, options, onAllChunksAv
70
70
  logLevel: params.logLevel,
71
71
  };
72
72
  const serializedInputPropsWithCustomSchema = await inputPropsPromise;
73
+ renderer_1.RenderInternals.Log.infoAdvanced(logOptions, 'Waiting for browser to be ready:', serializedInputPropsWithCustomSchema);
74
+ const { instance } = await browserInstance;
73
75
  renderer_1.RenderInternals.Log.infoAdvanced(logOptions, 'Validating composition, input props:', serializedInputPropsWithCustomSchema);
74
76
  const comp = await (0, validate_composition_1.validateComposition)({
75
77
  serveUrl: params.serveUrl,
76
78
  composition: params.composition,
77
- browserInstance: (await browserInstance).instance,
79
+ browserInstance: instance,
78
80
  serializedInputPropsWithCustomSchema,
79
81
  envVariables: (_a = params.envVariables) !== null && _a !== void 0 ? _a : {},
80
82
  timeoutInMilliseconds: params.timeoutInMilliseconds,
@@ -7,7 +7,7 @@ exports.stillHandler = void 0;
7
7
  const renderer_1 = require("@remotion/renderer");
8
8
  const node_fs_1 = __importDefault(require("node:fs"));
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
- const remotion_1 = require("remotion");
10
+ const no_react_1 = require("remotion/no-react");
11
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");
@@ -154,7 +154,7 @@ const innerStillHandler = async ({ params: lambdaParams, expectedBucketOwner, re
154
154
  port: null,
155
155
  server,
156
156
  logLevel: lambdaParams.logLevel,
157
- serializedResolvedPropsWithCustomSchema: remotion_1.Internals.serializeJSONWithDate({
157
+ serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
158
158
  indent: undefined,
159
159
  staticBase: null,
160
160
  data: composition.props,
@@ -0,0 +1 @@
1
+ export declare const chunk: <T>(input: T[], size: number) => T[][];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chunk = void 0;
4
+ const chunk = (input, size) => {
5
+ return input.reduce((arr, item, idx) => {
6
+ return idx % size === 0
7
+ ? [...arr, [item]]
8
+ : [...arr.slice(0, -1), [...arr.slice(-1)[0], item]];
9
+ }, []);
10
+ };
11
+ exports.chunk = chunk;
@@ -1,6 +1,6 @@
1
1
  import type { AudioCodec, ChromiumOptions, ColorSpace, FrameRange, LogLevel, PixelFormat, ProResProfile, StillImageFormat, ToOptions, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
2
  import type { BrowserSafeApis } from '@remotion/renderer/client';
3
- import type { VideoConfig } from 'remotion';
3
+ import type { VideoConfig } from 'remotion/no-react';
4
4
  import type { ChunkRetry } from '../functions/helpers/get-retry-stats';
5
5
  import type { DeleteAfter } from '../functions/helpers/lifecycle';
6
6
  import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
@@ -354,6 +354,7 @@ export type PostRenderData = {
354
354
  timeToRenderChunks: number;
355
355
  retriesInfo: ChunkRetry[];
356
356
  mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
357
+ estimatedBillingDurationInMilliseconds: number;
357
358
  deleteAfter: DeleteAfter | null;
358
359
  };
359
360
  export type CostsInfo = {
@@ -1,5 +1,3 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
1
  import https from 'https';
4
2
  import http from 'node:http';
5
3
  import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
@@ -1,4 +1,4 @@
1
- import { Internals } from 'remotion';
2
- export declare const validateFps: typeof Internals.validateFps;
3
- export declare const validateDimension: typeof Internals.validateDimension;
4
- export declare const validateDurationInFrames: typeof Internals.validateDurationInFrames;
1
+ import { NoReactInternals } from 'remotion/no-react';
2
+ export declare const validateFps: typeof NoReactInternals.validateFps;
3
+ export declare const validateDimension: typeof NoReactInternals.validateDimension;
4
+ export declare const validateDurationInFrames: typeof NoReactInternals.validateDurationInFrames;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateDurationInFrames = exports.validateDimension = exports.validateFps = void 0;
4
4
  /* eslint-disable prefer-destructuring */
5
- const remotion_1 = require("remotion");
6
- exports.validateFps = remotion_1.Internals.validateFps;
7
- exports.validateDimension = remotion_1.Internals.validateDimension;
8
- exports.validateDurationInFrames = remotion_1.Internals.validateDurationInFrames;
5
+ const no_react_1 = require("remotion/no-react");
6
+ exports.validateFps = no_react_1.NoReactInternals.validateFps;
7
+ exports.validateDimension = no_react_1.NoReactInternals.validateDimension;
8
+ exports.validateDurationInFrames = no_react_1.NoReactInternals.validateDurationInFrames;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/lambda",
3
- "version": "4.0.71",
3
+ "version": "4.0.73",
4
4
  "description": "Distributed renderer for Remotion based on AWS Lambda",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -26,10 +26,10 @@
26
26
  "aws-policies": "^1.0.1",
27
27
  "mime-types": "2.1.34",
28
28
  "zod": "3.22.3",
29
- "@remotion/bundler": "4.0.71",
30
- "@remotion/cli": "4.0.71",
31
- "@remotion/renderer": "4.0.71",
32
- "remotion": "4.0.71"
29
+ "@remotion/bundler": "4.0.73",
30
+ "@remotion/cli": "4.0.73",
31
+ "remotion": "4.0.73",
32
+ "@remotion/renderer": "4.0.73"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@jonny/eslint-config": "3.0.276",
@@ -43,11 +43,11 @@
43
43
  "ts-node": "^10.8.0",
44
44
  "vitest": "0.31.1",
45
45
  "zip-lib": "^0.7.2",
46
- "@remotion/bundler": "4.0.71",
47
- "@remotion/compositor-linux-arm64-gnu": "4.0.71"
46
+ "@remotion/bundler": "4.0.73",
47
+ "@remotion/compositor-linux-arm64-gnu": "4.0.73"
48
48
  },
49
49
  "peerDependencies": {
50
- "@remotion/bundler": "4.0.71"
50
+ "@remotion/bundler": "4.0.73"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"
Binary file