@remotion/cli 4.0.215 → 4.0.217
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/benchmark.js +3 -1
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.js +3 -0
- package/dist/config/metadata.d.ts +2 -0
- package/dist/config/metadata.js +12 -0
- package/dist/ffmpeg.d.ts +2 -2
- package/dist/ffmpeg.js +4 -3
- package/dist/get-render-defaults.js +2 -0
- package/dist/index.js +2 -2
- package/dist/list-of-remotion-packages.js +2 -0
- package/dist/render-flows/render.d.ts +2 -1
- package/dist/render-flows/render.js +2 -1
- package/dist/render-queue/process-video.js +1 -0
- package/dist/render.js +3 -1
- package/package.json +13 -13
package/dist/benchmark.js
CHANGED
|
@@ -22,7 +22,7 @@ const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-
|
|
|
22
22
|
const show_compositions_picker_1 = require("./show-compositions-picker");
|
|
23
23
|
const truthy_1 = require("./truthy");
|
|
24
24
|
const DEFAULT_RUNS = 3;
|
|
25
|
-
const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, publicPathOption, publicDirOption, } = client_1.BrowserSafeApis.options;
|
|
25
|
+
const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, publicPathOption, publicDirOption, metadataOption, } = client_1.BrowserSafeApis.options;
|
|
26
26
|
const getValidConcurrency = (cliConcurrency) => {
|
|
27
27
|
const { concurrencies } = parsed_cli_1.parsedCli;
|
|
28
28
|
if (!concurrencies) {
|
|
@@ -245,6 +245,7 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
|
|
|
245
245
|
const overwrite = overwriteOption.getValue({
|
|
246
246
|
commandLine: parsed_cli_1.parsedCli,
|
|
247
247
|
}, true).value;
|
|
248
|
+
const metadata = metadataOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
|
|
248
249
|
for (const composition of compositions) {
|
|
249
250
|
const { value: videoCodec, source: codecReason } = videoCodecOption.getValue({
|
|
250
251
|
commandLine: parsed_cli_1.parsedCli,
|
|
@@ -337,6 +338,7 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
|
|
|
337
338
|
compositionStart: 0,
|
|
338
339
|
onBrowserDownload,
|
|
339
340
|
onArtifact: () => undefined,
|
|
341
|
+
metadata,
|
|
340
342
|
}, (run, progress) => {
|
|
341
343
|
benchmarkProgress.update(makeBenchmarkProgressBar({
|
|
342
344
|
totalRuns: runs,
|
package/dist/config/index.d.ts
CHANGED
|
@@ -315,6 +315,7 @@ type FlatConfig = RemotionConfigObject & RemotionBundlingOptions & {
|
|
|
315
315
|
* Set the amount of milliseconds after which the Player in the Studio will display a buffering UI after the Player has entered a buffer state.
|
|
316
316
|
*/
|
|
317
317
|
setBufferStateDelayInMilliseconds: (delay: number | null) => void;
|
|
318
|
+
setMetadata: (metadata: Record<string, string>) => void;
|
|
318
319
|
/**
|
|
319
320
|
* @deprecated 'The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.'
|
|
320
321
|
*/
|
|
@@ -370,6 +371,7 @@ export declare const ConfigInternals: {
|
|
|
370
371
|
getFfmpegOverrideFunction: () => import("@remotion/renderer").FfmpegOverrideFn;
|
|
371
372
|
getHeight: () => number | null;
|
|
372
373
|
getWidth: () => number | null;
|
|
374
|
+
getMetadata: () => Record<string, string>;
|
|
373
375
|
getEntryPoint: () => string | null;
|
|
374
376
|
getWebpackPolling: () => number | null;
|
|
375
377
|
getShouldOpenBrowser: () => boolean;
|
package/dist/config/index.js
CHANGED
|
@@ -30,6 +30,7 @@ const frame_range_2 = require("./frame-range");
|
|
|
30
30
|
const height_1 = require("./height");
|
|
31
31
|
const image_sequence_2 = require("./image-sequence");
|
|
32
32
|
const keyboard_shortcuts_1 = require("./keyboard-shortcuts");
|
|
33
|
+
const metadata_1 = require("./metadata");
|
|
33
34
|
const number_of_shared_audio_tags_1 = require("./number-of-shared-audio-tags");
|
|
34
35
|
const open_browser_1 = require("./open-browser");
|
|
35
36
|
const output_location_2 = require("./output-location");
|
|
@@ -95,6 +96,7 @@ exports.Config = {
|
|
|
95
96
|
setJpegQuality: jpegQualityOption.setConfig,
|
|
96
97
|
setStillImageFormat: image_format_1.setStillImageFormat,
|
|
97
98
|
setVideoImageFormat: image_format_1.setVideoImageFormat,
|
|
99
|
+
setMetadata: metadata_1.setMetadata,
|
|
98
100
|
setEncodingMaxRate: encodingMaxRateOption.setConfig,
|
|
99
101
|
setEncodingBufferSize: encodingBufferSizeOption.setConfig,
|
|
100
102
|
setFrameRange: frame_range_2.setFrameRange,
|
|
@@ -160,6 +162,7 @@ exports.ConfigInternals = {
|
|
|
160
162
|
getFfmpegOverrideFunction: ffmpeg_override_1.getFfmpegOverrideFunction,
|
|
161
163
|
getHeight: height_1.getHeight,
|
|
162
164
|
getWidth: width_1.getWidth,
|
|
165
|
+
getMetadata: metadata_1.getMetadata,
|
|
163
166
|
getEntryPoint: entry_point_1.getEntryPoint,
|
|
164
167
|
getWebpackPolling: webpack_poll_1.getWebpackPolling,
|
|
165
168
|
getShouldOpenBrowser: open_browser_1.getShouldOpenBrowser,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMetadata = exports.setMetadata = void 0;
|
|
4
|
+
let specifiedMetadata;
|
|
5
|
+
const setMetadata = (metadata) => {
|
|
6
|
+
specifiedMetadata = metadata;
|
|
7
|
+
};
|
|
8
|
+
exports.setMetadata = setMetadata;
|
|
9
|
+
const getMetadata = () => {
|
|
10
|
+
return specifiedMetadata;
|
|
11
|
+
};
|
|
12
|
+
exports.getMetadata = getMetadata;
|
package/dist/ffmpeg.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ export declare const dynamicLibEnv: (indent: boolean, logLevel: LogLevel, binari
|
|
|
9
9
|
LD_LIBRARY_PATH: string;
|
|
10
10
|
RUST_BACKTRACE: string;
|
|
11
11
|
};
|
|
12
|
-
export declare const ffmpegCommand: (
|
|
13
|
-
export declare const ffprobeCommand: (
|
|
12
|
+
export declare const ffmpegCommand: (args: string[], logLevel: LogLevel) => never;
|
|
13
|
+
export declare const ffprobeCommand: (args: string[], logLevel: LogLevel) => never;
|
package/dist/ffmpeg.js
CHANGED
|
@@ -32,7 +32,7 @@ const dynamicLibEnv = (indent, logLevel, binariesDirectory) => {
|
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
34
|
exports.dynamicLibEnv = dynamicLibEnv;
|
|
35
|
-
const ffmpegCommand = (
|
|
35
|
+
const ffmpegCommand = (args, logLevel) => {
|
|
36
36
|
const { value: binariesDirectory } = client_1.BrowserSafeApis.options.binariesDirectoryOption.getValue({
|
|
37
37
|
commandLine: parsed_cli_1.parsedCli,
|
|
38
38
|
});
|
|
@@ -46,11 +46,12 @@ const ffmpegCommand = (_root, args, logLevel) => {
|
|
|
46
46
|
const done = (0, node_child_process_1.spawnSync)(binary, args, {
|
|
47
47
|
stdio: 'inherit',
|
|
48
48
|
env: (0, exports.dynamicLibEnv)(false, logLevel, binariesDirectory),
|
|
49
|
+
cwd: process.cwd(),
|
|
49
50
|
});
|
|
50
51
|
process.exit(done.status);
|
|
51
52
|
};
|
|
52
53
|
exports.ffmpegCommand = ffmpegCommand;
|
|
53
|
-
const ffprobeCommand = (
|
|
54
|
+
const ffprobeCommand = (args, logLevel) => {
|
|
54
55
|
const { value: binariesDirectory } = client_1.BrowserSafeApis.options.binariesDirectoryOption.getValue({
|
|
55
56
|
commandLine: parsed_cli_1.parsedCli,
|
|
56
57
|
});
|
|
@@ -62,7 +63,7 @@ const ffprobeCommand = (_root, args, logLevel) => {
|
|
|
62
63
|
});
|
|
63
64
|
renderer_1.RenderInternals.makeFileExecutableIfItIsNot(binary);
|
|
64
65
|
const done = (0, node_child_process_1.spawnSync)(binary, args, {
|
|
65
|
-
cwd:
|
|
66
|
+
cwd: process.cwd(),
|
|
66
67
|
stdio: 'inherit',
|
|
67
68
|
env: (0, exports.dynamicLibEnv)(false, logLevel, binariesDirectory),
|
|
68
69
|
});
|
|
@@ -79,6 +79,7 @@ const getRenderDefaults = () => {
|
|
|
79
79
|
const disableWebSecurity = config_1.ConfigInternals.getChromiumDisableWebSecurity();
|
|
80
80
|
const ignoreCertificateErrors = config_1.ConfigInternals.getIgnoreCertificateErrors();
|
|
81
81
|
const userAgent = config_1.ConfigInternals.getChromiumUserAgent();
|
|
82
|
+
const metadata = config_1.ConfigInternals.getMetadata();
|
|
82
83
|
const maxConcurrency = renderer_1.RenderInternals.getMaxConcurrency();
|
|
83
84
|
const minConcurrency = renderer_1.RenderInternals.getMinConcurrency();
|
|
84
85
|
return {
|
|
@@ -115,6 +116,7 @@ const getRenderDefaults = () => {
|
|
|
115
116
|
numberOfGifLoops,
|
|
116
117
|
beepOnFinish,
|
|
117
118
|
forSeamlessAacConcatenation,
|
|
119
|
+
metadata,
|
|
118
120
|
};
|
|
119
121
|
};
|
|
120
122
|
exports.getRenderDefaults = getRenderDefaults;
|
package/dist/index.js
CHANGED
|
@@ -97,13 +97,13 @@ const cli = async () => {
|
|
|
97
97
|
await (0, still_1.still)(remotionRoot, args, logLevel);
|
|
98
98
|
}
|
|
99
99
|
else if (command === 'ffmpeg') {
|
|
100
|
-
(0, ffmpeg_1.ffmpegCommand)(
|
|
100
|
+
(0, ffmpeg_1.ffmpegCommand)(process.argv.slice(3), logLevel);
|
|
101
101
|
}
|
|
102
102
|
else if (command === 'gpu') {
|
|
103
103
|
await (0, gpu_1.gpuCommand)(logLevel);
|
|
104
104
|
}
|
|
105
105
|
else if (command === 'ffprobe') {
|
|
106
|
-
(0, ffmpeg_1.ffprobeCommand)(
|
|
106
|
+
(0, ffmpeg_1.ffprobeCommand)(process.argv.slice(3), logLevel);
|
|
107
107
|
}
|
|
108
108
|
else if (command === 'upgrade') {
|
|
109
109
|
await (0, upgrade_1.upgrade)(remotionRoot, parsed_cli_1.parsedCli['package-manager'], parsed_cli_1.parsedCli.version, logLevel);
|
|
@@ -34,6 +34,8 @@ exports.listOfRemotionPackages = [
|
|
|
34
34
|
'@remotion/tailwind',
|
|
35
35
|
'@remotion/transitions',
|
|
36
36
|
'@remotion/install-whisper-cpp',
|
|
37
|
+
'@remotion/openai-whisper',
|
|
38
|
+
'@remotion/captions',
|
|
37
39
|
'@remotion/animation-utils',
|
|
38
40
|
'@remotion/animated-emoji',
|
|
39
41
|
'@remotion/media-parser',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AudioCodec, Browser, BrowserExecutable, CancelSignal, ChromiumOptions, Codec, ColorSpace, Crf, FfmpegOverrideFn, FrameRange, LogLevel, NumberOfGifLoops, PixelFormat, ProResProfile, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
2
|
import type { JobProgressCallback } from '@remotion/studio-server';
|
|
3
|
-
export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, }: {
|
|
3
|
+
export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, }: {
|
|
4
4
|
remotionRoot: string;
|
|
5
5
|
fullEntryPoint: string;
|
|
6
6
|
entryPointReason: string;
|
|
@@ -53,4 +53,5 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
|
|
|
53
53
|
forSeamlessAacConcatenation: boolean;
|
|
54
54
|
separateAudioTo: string | null;
|
|
55
55
|
publicPath: string | null;
|
|
56
|
+
metadata: Record<string, string> | null;
|
|
56
57
|
}) => Promise<void>;
|
|
@@ -51,7 +51,7 @@ const setup_cache_1 = require("../setup-cache");
|
|
|
51
51
|
const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying-logger");
|
|
52
52
|
const truthy_1 = require("../truthy");
|
|
53
53
|
const user_passed_output_location_1 = require("../user-passed-output-location");
|
|
54
|
-
const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, }) => {
|
|
54
|
+
const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, }) => {
|
|
55
55
|
var _a;
|
|
56
56
|
const isVerbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
|
|
57
57
|
(0, progress_bar_1.printFact)('verbose')({
|
|
@@ -414,6 +414,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
414
414
|
compositionStart: 0,
|
|
415
415
|
onBrowserDownload,
|
|
416
416
|
onArtifact,
|
|
417
|
+
metadata: metadata !== null && metadata !== void 0 ? metadata : null,
|
|
417
418
|
});
|
|
418
419
|
if (!updatesDontOverwrite) {
|
|
419
420
|
updateRenderProgress({ newline: true, printToConsole: true });
|
|
@@ -75,6 +75,7 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
|
|
|
75
75
|
forSeamlessAacConcatenation: job.type === 'video' ? job.forSeamlessAacConcatenation : false,
|
|
76
76
|
separateAudioTo: job.type === 'video' ? job.separateAudioTo : null,
|
|
77
77
|
publicPath: null,
|
|
78
|
+
metadata: job.metadata,
|
|
78
79
|
});
|
|
79
80
|
};
|
|
80
81
|
exports.processVideoJob = processVideoJob;
|
package/dist/render.js
CHANGED
|
@@ -11,7 +11,7 @@ const get_cli_options_1 = require("./get-cli-options");
|
|
|
11
11
|
const log_1 = require("./log");
|
|
12
12
|
const parsed_cli_1 = require("./parsed-cli");
|
|
13
13
|
const render_1 = require("./render-flows/render");
|
|
14
|
-
const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, } = client_1.BrowserSafeApis.options;
|
|
14
|
+
const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, } = client_1.BrowserSafeApis.options;
|
|
15
15
|
const render = async (remotionRoot, args, logLevel) => {
|
|
16
16
|
const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)({ args, remotionRoot, logLevel, allowDirectory: true });
|
|
17
17
|
if (!file) {
|
|
@@ -86,6 +86,7 @@ const render = async (remotionRoot, args, logLevel) => {
|
|
|
86
86
|
const separateAudioTo = separateAudioOption.getValue({
|
|
87
87
|
commandLine: parsed_cli_1.parsedCli,
|
|
88
88
|
}).value;
|
|
89
|
+
const metadata = metadataOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
|
|
89
90
|
const publicPath = publicPathOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
|
|
90
91
|
const chromiumOptions = {
|
|
91
92
|
disableWebSecurity,
|
|
@@ -156,6 +157,7 @@ const render = async (remotionRoot, args, logLevel) => {
|
|
|
156
157
|
forSeamlessAacConcatenation,
|
|
157
158
|
separateAudioTo,
|
|
158
159
|
publicPath,
|
|
160
|
+
metadata,
|
|
159
161
|
});
|
|
160
162
|
};
|
|
161
163
|
exports.render = render;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/cli"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/cli",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.217",
|
|
7
7
|
"description": "Control Remotion features using the `npx remotion` command",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"sideEffects": false,
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"dotenv": "9.0.2",
|
|
33
33
|
"minimist": "1.2.6",
|
|
34
34
|
"prompts": "2.4.2",
|
|
35
|
-
"@remotion/
|
|
36
|
-
"@remotion/
|
|
37
|
-
"@remotion/
|
|
38
|
-
"@remotion/renderer": "4.0.
|
|
39
|
-
"@remotion/studio-
|
|
40
|
-
"
|
|
41
|
-
"remotion": "4.0.
|
|
42
|
-
"@remotion/studio-
|
|
35
|
+
"@remotion/bundler": "4.0.217",
|
|
36
|
+
"@remotion/player": "4.0.217",
|
|
37
|
+
"@remotion/media-utils": "4.0.217",
|
|
38
|
+
"@remotion/renderer": "4.0.217",
|
|
39
|
+
"@remotion/studio-server": "4.0.217",
|
|
40
|
+
"remotion": "4.0.217",
|
|
41
|
+
"@remotion/studio": "4.0.217",
|
|
42
|
+
"@remotion/studio-shared": "4.0.217"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"react": ">=16.8.0",
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"react": "18.3.1",
|
|
53
53
|
"react-dom": "18.3.1",
|
|
54
54
|
"zod": "3.22.3",
|
|
55
|
-
"@remotion/zod-types": "4.0.
|
|
56
|
-
"@remotion/
|
|
57
|
-
"@remotion/skia": "4.0.
|
|
58
|
-
"@remotion/
|
|
55
|
+
"@remotion/zod-types": "4.0.217",
|
|
56
|
+
"@remotion/enable-scss": "4.0.217",
|
|
57
|
+
"@remotion/skia": "4.0.217",
|
|
58
|
+
"@remotion/tailwind": "4.0.217"
|
|
59
59
|
},
|
|
60
60
|
"keywords": [
|
|
61
61
|
"remotion",
|