@remotion/cli 4.0.89 → 4.0.91
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/bundle.js +5 -3
- package/dist/cloudrun-command.js +3 -3
- package/dist/config/index.js +3 -3
- package/dist/download-progress.d.ts +1 -1
- package/dist/download-progress.js +2 -2
- package/dist/get-composition-id.js +2 -2
- package/dist/get-env.js +2 -2
- package/dist/get-render-defaults.d.ts +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +4 -4
- package/dist/lambda-command.js +3 -3
- package/dist/list-of-remotion-packages.js +3 -0
- package/dist/make-on-download.d.ts +1 -1
- package/dist/make-on-download.js +2 -2
- package/dist/parse-command-line.d.ts +9 -9
- package/dist/progress-bar.d.ts +1 -1
- package/dist/progress-bar.js +3 -3
- package/dist/progress-types.d.ts +1 -1
- package/dist/render-flows/render.d.ts +1 -1
- package/dist/render-flows/still.d.ts +1 -1
- package/dist/render-queue/process-still.d.ts +1 -1
- package/dist/render-queue/process-video.d.ts +1 -1
- package/dist/render-queue/queue.d.ts +1 -1
- package/dist/render-queue/queue.js +4 -4
- package/dist/setup-cache.d.ts +1 -1
- package/dist/studio.js +5 -4
- package/dist/upgrade.js +4 -4
- package/dist/user-passed-output-location.js +2 -2
- package/package.json +12 -11
package/dist/bundle.js
CHANGED
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.bundleCommand = void 0;
|
|
7
7
|
const bundler_1 = require("@remotion/bundler");
|
|
8
|
-
const
|
|
8
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
9
9
|
const fs_1 = require("fs");
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
11
|
const chalk_1 = require("./chalk");
|
|
@@ -45,7 +45,9 @@ const bundleCommand = async (remotionRoot, args, logLevel) => {
|
|
|
45
45
|
const gitignoreFolder = bundler_1.BundlerInternals.findClosestFolderWithFile(outputPath, '.gitignore');
|
|
46
46
|
const existed = (0, fs_1.existsSync)(outputPath);
|
|
47
47
|
if (existed) {
|
|
48
|
-
|
|
48
|
+
const existsIndexHtml = (0, fs_1.existsSync)(path_1.default.join(outputPath, 'index.html'));
|
|
49
|
+
const isEmpty = (0, fs_1.readdirSync)(outputPath).length === 0;
|
|
50
|
+
if (!existsIndexHtml && !isEmpty) {
|
|
49
51
|
log_1.Log.error(`The folder at ${outputPath} already exists, and needs to be deleted before a new bundle can be created.`);
|
|
50
52
|
log_1.Log.error('However, it does not look like the folder was created by `npx remotion bundle` (no index.html).');
|
|
51
53
|
log_1.Log.error('Aborting to prevent accidental data loss.');
|
|
@@ -72,7 +74,7 @@ const bundleCommand = async (remotionRoot, args, logLevel) => {
|
|
|
72
74
|
}
|
|
73
75
|
if (copying.doneIn === null) {
|
|
74
76
|
if (updatesDontOverwrite) {
|
|
75
|
-
return `Copying public dir ${
|
|
77
|
+
return `Copying public dir ${studio_server_1.StudioServerInternals.formatBytes(copying.bytes)}`;
|
|
76
78
|
}
|
|
77
79
|
}
|
|
78
80
|
},
|
package/dist/cloudrun-command.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cloudrunCommand = void 0;
|
|
4
|
-
const
|
|
4
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
5
5
|
const log_1 = require("./log");
|
|
6
6
|
const cloudrunCommand = async (remotionRoot, args, logLevel) => {
|
|
7
7
|
try {
|
|
@@ -13,13 +13,13 @@ const cloudrunCommand = async (remotionRoot, args, logLevel) => {
|
|
|
13
13
|
process.exit(0);
|
|
14
14
|
}
|
|
15
15
|
catch (err) {
|
|
16
|
-
const manager =
|
|
16
|
+
const manager = studio_server_1.StudioServerInternals.getPackageManager(remotionRoot, undefined);
|
|
17
17
|
const installCommand = manager === 'unknown' ? 'npm i' : manager.installCommand;
|
|
18
18
|
log_1.Log.error(err);
|
|
19
19
|
log_1.Log.error('Remotion Cloud Run is not installed.');
|
|
20
20
|
log_1.Log.infoAdvanced({ indent: false, logLevel }, '');
|
|
21
21
|
log_1.Log.infoAdvanced({ indent: false, logLevel }, 'You can install it using:');
|
|
22
|
-
log_1.Log.infoAdvanced({ indent: false, logLevel }, `${installCommand} @remotion/cloudrun@${
|
|
22
|
+
log_1.Log.infoAdvanced({ indent: false, logLevel }, `${installCommand} @remotion/cloudrun@${studio_server_1.StudioServerInternals.getRemotionVersion()}`);
|
|
23
23
|
process.exit(1);
|
|
24
24
|
}
|
|
25
25
|
};
|
package/dist/config/index.js
CHANGED
|
@@ -48,7 +48,7 @@ const still_frame_1 = require("./still-frame");
|
|
|
48
48
|
const timeout_1 = require("./timeout");
|
|
49
49
|
const webpack_caching_1 = require("./webpack-caching");
|
|
50
50
|
const x264_preset_1 = require("./x264-preset");
|
|
51
|
-
const
|
|
51
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
52
52
|
const audio_codec_1 = require("./audio-codec");
|
|
53
53
|
const beep_on_finish_1 = require("./beep-on-finish");
|
|
54
54
|
const bitrate_1 = require("./bitrate");
|
|
@@ -108,7 +108,7 @@ exports.Config = {
|
|
|
108
108
|
get Puppeteer() {
|
|
109
109
|
throw new Error('The config format has changed. Change `Config.Puppeteer.*()` calls to `Config.*()` in your config file.');
|
|
110
110
|
},
|
|
111
|
-
setMaxTimelineTracks:
|
|
111
|
+
setMaxTimelineTracks: studio_server_1.StudioServerInternals.setMaxTimelineTracks,
|
|
112
112
|
setKeyboardShortcutsEnabled: keyboard_shortcuts_1.setKeyboardShortcutsEnabled,
|
|
113
113
|
setNumberOfSharedAudioTags: number_of_shared_audio_tags_1.setNumberOfSharedAudioTags,
|
|
114
114
|
setWebpackPollingInMilliseconds: webpack_poll_1.setWebpackPollingInMilliseconds,
|
|
@@ -205,7 +205,7 @@ exports.ConfigInternals = {
|
|
|
205
205
|
Logging,
|
|
206
206
|
setFrameRangeFromCli: frame_range_1.setFrameRangeFromCli,
|
|
207
207
|
setStillFrame: still_frame_1.setStillFrame,
|
|
208
|
-
getMaxTimelineTracks:
|
|
208
|
+
getMaxTimelineTracks: studio_server_1.StudioServerInternals.getMaxTimelineTracks,
|
|
209
209
|
defaultOverrideFunction: override_webpack_1.defaultOverrideFunction,
|
|
210
210
|
setMuted: muted_1.setMuted,
|
|
211
211
|
getMuted: muted_1.getMuted,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { DownloadProgress } from '@remotion/studio';
|
|
1
|
+
import type { DownloadProgress } from '@remotion/studio-server';
|
|
2
2
|
export declare const getFileSizeDownloadBar: (downloaded: number) => string;
|
|
3
3
|
export declare const makeMultiDownloadProgress: (progresses: DownloadProgress[]) => string | null;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeMultiDownloadProgress = exports.getFileSizeDownloadBar = void 0;
|
|
4
|
-
const
|
|
4
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
5
5
|
const make_progress_bar_1 = require("./make-progress-bar");
|
|
6
6
|
const truthy_1 = require("./truthy");
|
|
7
7
|
const getFileSizeDownloadBar = (downloaded) => {
|
|
8
8
|
const desiredLength = (0, make_progress_bar_1.makeProgressBar)(0).length;
|
|
9
|
-
return `[${
|
|
9
|
+
return `[${studio_server_1.StudioServerInternals.formatBytes(downloaded).padEnd(desiredLength - 2, ' ')}]`;
|
|
10
10
|
};
|
|
11
11
|
exports.getFileSizeDownloadBar = getFileSizeDownloadBar;
|
|
12
12
|
const makeMultiDownloadProgress = (progresses) => {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCompositionId = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
|
-
const
|
|
5
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
6
6
|
const log_1 = require("./log");
|
|
7
7
|
const show_compositions_picker_1 = require("./show-compositions-picker");
|
|
8
8
|
const getCompName = ({ cliArgs, compositionIdFromUi, }) => {
|
|
@@ -42,7 +42,7 @@ const getCompositionId = async ({ args, compositionIdFromUi, serializedInputProp
|
|
|
42
42
|
log_1.Log.warn({
|
|
43
43
|
indent,
|
|
44
44
|
logLevel,
|
|
45
|
-
}, `The props of your composition are large (${
|
|
45
|
+
}, `The props of your composition are large (${studio_server_1.StudioServerInternals.formatBytes(propsSize)}). This may cause slowdown.`);
|
|
46
46
|
}
|
|
47
47
|
if (!config) {
|
|
48
48
|
throw new Error(`Cannot find composition with ID "${compName}"`);
|
package/dist/get-env.js
CHANGED
|
@@ -28,7 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.getEnvironmentVariables = void 0;
|
|
30
30
|
const renderer_1 = require("@remotion/renderer");
|
|
31
|
-
const
|
|
31
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
32
32
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
33
33
|
const node_fs_1 = __importStar(require("node:fs"));
|
|
34
34
|
const node_path_1 = __importDefault(require("node:path"));
|
|
@@ -52,7 +52,7 @@ const watchEnvFile = ({ processEnv, envFile, onUpdate, logLevel, }) => {
|
|
|
52
52
|
...dotenv_1.default.parse(file),
|
|
53
53
|
});
|
|
54
54
|
};
|
|
55
|
-
const { unwatch } =
|
|
55
|
+
const { unwatch } = studio_server_1.StudioServerInternals.installFileWatcher({
|
|
56
56
|
file: envFile,
|
|
57
57
|
onChange: async (type) => {
|
|
58
58
|
try {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { RenderDefaults } from '@remotion/
|
|
1
|
+
import type { RenderDefaults } from '@remotion/studio';
|
|
2
2
|
export declare const getRenderDefaults: () => RenderDefaults;
|
package/dist/index.d.ts
CHANGED
|
@@ -113,6 +113,12 @@ export declare const CliInternals: {
|
|
|
113
113
|
repro: boolean;
|
|
114
114
|
}>;
|
|
115
115
|
loadConfig: (remotionRoot: string) => Promise<string | null>;
|
|
116
|
+
formatBytes: (number: number, options?: (Intl.NumberFormatOptions & {
|
|
117
|
+
locale: string;
|
|
118
|
+
bits?: boolean | undefined;
|
|
119
|
+
binary?: boolean | undefined;
|
|
120
|
+
signed: boolean;
|
|
121
|
+
}) | undefined) => string;
|
|
116
122
|
initializeCli: (remotionRoot: string) => Promise<"verbose" | "info" | "warn" | "error">;
|
|
117
123
|
BooleanFlags: string[];
|
|
118
124
|
quietFlagProvided: () => boolean;
|
|
@@ -184,12 +190,6 @@ export declare const CliInternals: {
|
|
|
184
190
|
_: string[];
|
|
185
191
|
};
|
|
186
192
|
printError: (err: Error, logLevel: "verbose" | "info" | "warn" | "error") => Promise<void>;
|
|
187
|
-
formatBytes: (number: number, options?: (Intl.NumberFormatOptions & {
|
|
188
|
-
locale: string;
|
|
189
|
-
bits?: boolean | undefined;
|
|
190
|
-
binary?: boolean | undefined;
|
|
191
|
-
signed: boolean;
|
|
192
|
-
}) | undefined) => string;
|
|
193
193
|
getFileSizeDownloadBar: (downloaded: number) => string;
|
|
194
194
|
determineFinalStillImageFormat: ({ downloadName, outName, configImageFormat, cliFlag, isLambda, fromUi, }: {
|
|
195
195
|
downloadName: string | null;
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.CliInternals = exports.cli = void 0;
|
|
7
7
|
const renderer_1 = require("@remotion/renderer");
|
|
8
|
-
const studio_1 = require("@remotion/studio");
|
|
9
8
|
const minimist_1 = __importDefault(require("minimist"));
|
|
10
9
|
const benchmark_1 = require("./benchmark");
|
|
11
10
|
const bundle_1 = require("./bundle");
|
|
@@ -37,7 +36,7 @@ const progress_bar_1 = require("./progress-bar");
|
|
|
37
36
|
const render_1 = require("./render");
|
|
38
37
|
const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
|
|
39
38
|
const still_1 = require("./still");
|
|
40
|
-
const
|
|
39
|
+
const studio_1 = require("./studio");
|
|
41
40
|
const upgrade_1 = require("./upgrade");
|
|
42
41
|
const versions_1 = require("./versions");
|
|
43
42
|
const cli = async () => {
|
|
@@ -77,7 +76,7 @@ const cli = async () => {
|
|
|
77
76
|
await (0, compositions_1.listCompositionsCommand)(remotionRoot, args, logLevel);
|
|
78
77
|
}
|
|
79
78
|
else if (isStudio) {
|
|
80
|
-
await (0,
|
|
79
|
+
await (0, studio_1.studioCommand)(remotionRoot, args, logLevel);
|
|
81
80
|
}
|
|
82
81
|
else if (command === 'lambda') {
|
|
83
82
|
await (0, lambda_command_1.lambdaCommand)(remotionRoot, args, logLevel);
|
|
@@ -133,6 +132,7 @@ const cli = async () => {
|
|
|
133
132
|
}
|
|
134
133
|
};
|
|
135
134
|
exports.cli = cli;
|
|
135
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
136
136
|
exports.CliInternals = {
|
|
137
137
|
createOverwriteableCliOutput: progress_bar_1.createOverwriteableCliOutput,
|
|
138
138
|
chalk: chalk_1.chalk,
|
|
@@ -140,12 +140,12 @@ exports.CliInternals = {
|
|
|
140
140
|
Log: log_1.Log,
|
|
141
141
|
getCliOptions: get_cli_options_1.getCliOptions,
|
|
142
142
|
loadConfig: get_config_file_name_1.loadConfig,
|
|
143
|
+
formatBytes: studio_server_1.StudioServerInternals.formatBytes,
|
|
143
144
|
initializeCli: initialize_cli_1.initializeCli,
|
|
144
145
|
BooleanFlags: parse_command_line_1.BooleanFlags,
|
|
145
146
|
quietFlagProvided: parse_command_line_1.quietFlagProvided,
|
|
146
147
|
parsedCli: parse_command_line_1.parsedCli,
|
|
147
148
|
printError: print_error_1.printError,
|
|
148
|
-
formatBytes: studio_1.StudioInternals.formatBytes,
|
|
149
149
|
getFileSizeDownloadBar: download_progress_1.getFileSizeDownloadBar,
|
|
150
150
|
determineFinalStillImageFormat: determine_image_format_1.determineFinalStillImageFormat,
|
|
151
151
|
minimist: minimist_1.default,
|
package/dist/lambda-command.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.lambdaCommand = void 0;
|
|
4
|
-
const
|
|
4
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
5
5
|
const log_1 = require("./log");
|
|
6
6
|
const lambdaCommand = async (remotionRoot, args, logLevel) => {
|
|
7
7
|
try {
|
|
@@ -13,13 +13,13 @@ const lambdaCommand = async (remotionRoot, args, logLevel) => {
|
|
|
13
13
|
process.exit(0);
|
|
14
14
|
}
|
|
15
15
|
catch (err) {
|
|
16
|
-
const manager =
|
|
16
|
+
const manager = studio_server_1.StudioServerInternals.getPackageManager(remotionRoot, undefined);
|
|
17
17
|
const installCommand = manager === 'unknown' ? 'npm i' : manager.installCommand;
|
|
18
18
|
log_1.Log.error(err);
|
|
19
19
|
log_1.Log.error('Remotion Lambda is not installed.');
|
|
20
20
|
log_1.Log.info('');
|
|
21
21
|
log_1.Log.info('You can install it using:');
|
|
22
|
-
log_1.Log.info(`${installCommand} @remotion/lambda@${
|
|
22
|
+
log_1.Log.info(`${installCommand} @remotion/lambda@${studio_server_1.StudioServerInternals.getRemotionVersion()}`);
|
|
23
23
|
process.exit(1);
|
|
24
24
|
}
|
|
25
25
|
};
|
|
@@ -26,8 +26,11 @@ exports.listOfRemotionPackages = [
|
|
|
26
26
|
'@remotion/gif',
|
|
27
27
|
'@remotion/shapes',
|
|
28
28
|
'@remotion/studio',
|
|
29
|
+
'@remotion/studio-server',
|
|
30
|
+
'@remotion/studio-shared',
|
|
29
31
|
'@remotion/zod-types',
|
|
30
32
|
'@remotion/tailwind',
|
|
31
33
|
'@remotion/transitions',
|
|
34
|
+
'@remotion/animation-utils',
|
|
32
35
|
'remotion',
|
|
33
36
|
];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LogLevel, RenderMediaOnDownload } from '@remotion/renderer';
|
|
2
|
-
import type { DownloadProgress } from '@remotion/studio';
|
|
2
|
+
import type { DownloadProgress } from '@remotion/studio-server';
|
|
3
3
|
export declare const makeOnDownload: ({ indent, logLevel, updatesDontOverwrite, downloads, updateRenderProgress, isUsingParallelEncoding, }: {
|
|
4
4
|
indent: boolean;
|
|
5
5
|
logLevel: LogLevel;
|
package/dist/make-on-download.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeOnDownload = void 0;
|
|
4
|
-
const
|
|
4
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
5
5
|
const log_1 = require("./log");
|
|
6
6
|
const makeOnDownload = ({ indent, logLevel, updatesDontOverwrite, downloads, updateRenderProgress, isUsingParallelEncoding, }) => {
|
|
7
7
|
return (src) => {
|
|
@@ -32,7 +32,7 @@ const makeOnDownload = ({ indent, logLevel, updatesDontOverwrite, downloads, upd
|
|
|
32
32
|
lastUpdate = Date.now();
|
|
33
33
|
log_1.Log.verbose({ indent, logLevel }, `Download [${nextDownloadIndex}]:`, percent
|
|
34
34
|
? `${(percent * 100).toFixed(1)}%`
|
|
35
|
-
:
|
|
35
|
+
: studio_server_1.StudioServerInternals.formatBytes(downloaded));
|
|
36
36
|
updateRenderProgress({
|
|
37
37
|
newline: false,
|
|
38
38
|
printToConsole: !updatesDontOverwrite,
|
|
@@ -2,63 +2,63 @@ import type { AudioCodec, BrowserExecutable, Codec, OpenGlRenderer, PixelFormat,
|
|
|
2
2
|
declare const beepOnFinishOption: {
|
|
3
3
|
name: string;
|
|
4
4
|
cliFlag: "beep-on-finish";
|
|
5
|
-
description: () => JSX.Element;
|
|
5
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
ssrName: null;
|
|
7
7
|
docLink: string;
|
|
8
8
|
type: boolean;
|
|
9
9
|
}, colorSpaceOption: {
|
|
10
10
|
name: string;
|
|
11
11
|
cliFlag: "color-space";
|
|
12
|
-
description: () => JSX.Element;
|
|
12
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
docLink: string;
|
|
14
14
|
ssrName: string;
|
|
15
15
|
type: "default" | "bt709" | "bt2020-ncl";
|
|
16
16
|
}, offthreadVideoCacheSizeInBytes: {
|
|
17
17
|
name: string;
|
|
18
18
|
cliFlag: "offthreadvideo-cache-size-in-bytes";
|
|
19
|
-
description: () => JSX.Element;
|
|
19
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
20
20
|
ssrName: "offthreadVideoCacheSizeInBytes";
|
|
21
21
|
docLink: string;
|
|
22
22
|
type: number | null;
|
|
23
23
|
}, encodingBufferSizeOption: {
|
|
24
24
|
name: string;
|
|
25
25
|
cliFlag: "buffer-size";
|
|
26
|
-
description: () => JSX.Element;
|
|
26
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
27
27
|
ssrName: "encodingBufferSize";
|
|
28
28
|
docLink: string;
|
|
29
29
|
type: string | null;
|
|
30
30
|
}, encodingMaxRateOption: {
|
|
31
31
|
name: string;
|
|
32
32
|
cliFlag: "max-rate";
|
|
33
|
-
description: () => JSX.Element;
|
|
33
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
34
34
|
ssrName: "encodingMaxRate";
|
|
35
35
|
docLink: string;
|
|
36
36
|
type: string | null;
|
|
37
37
|
}, deleteAfterOption: {
|
|
38
38
|
name: string;
|
|
39
39
|
cliFlag: "delete-after";
|
|
40
|
-
description: () => JSX.Element;
|
|
40
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
41
41
|
ssrName: "deleteAfter";
|
|
42
42
|
docLink: string;
|
|
43
43
|
type: string | null;
|
|
44
44
|
}, folderExpiryOption: {
|
|
45
45
|
name: string;
|
|
46
46
|
cliFlag: "enable-folder-expiry";
|
|
47
|
-
description: () => JSX.Element;
|
|
47
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
48
48
|
ssrName: "enableFolderExpiry";
|
|
49
49
|
docLink: string;
|
|
50
50
|
type: boolean | null;
|
|
51
51
|
}, enableMultiprocessOnLinuxOption: {
|
|
52
52
|
name: string;
|
|
53
53
|
cliFlag: "enable-multiprocess-on-linux";
|
|
54
|
-
description: () => JSX.Element;
|
|
54
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
55
55
|
ssrName: string;
|
|
56
56
|
docLink: string;
|
|
57
57
|
type: boolean;
|
|
58
58
|
}, numberOfGifLoopsOption: {
|
|
59
59
|
name: string;
|
|
60
60
|
cliFlag: "number-of-gif-loops";
|
|
61
|
-
description: () => JSX.Element;
|
|
61
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
62
62
|
ssrName: "numberOfGifLoops";
|
|
63
63
|
docLink: string;
|
|
64
64
|
type: number | null;
|
package/dist/progress-bar.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CancelSignal } from '@remotion/renderer';
|
|
2
|
-
import type { AggregateRenderProgress, BundlingState, CopyingState } from '@remotion/studio';
|
|
2
|
+
import type { AggregateRenderProgress, BundlingState, CopyingState } from '@remotion/studio-server';
|
|
3
3
|
export type OverwriteableCliOutput = {
|
|
4
4
|
update: (up: string, newline: boolean) => boolean;
|
|
5
5
|
};
|
package/dist/progress-bar.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeRenderingAndStitchingProgress = exports.makeBundlingAndCopyProgress = exports.createOverwriteableCliOutput = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
|
-
const
|
|
5
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
6
6
|
const chalk_1 = require("./chalk");
|
|
7
7
|
const download_progress_1 = require("./download-progress");
|
|
8
8
|
const make_progress_bar_1 = require("./make-progress-bar");
|
|
@@ -33,7 +33,7 @@ const createOverwriteableCliOutput = (options) => {
|
|
|
33
33
|
},
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
-
const diff = new
|
|
36
|
+
const diff = new studio_server_1.StudioServerInternals.AnsiDiff();
|
|
37
37
|
(_a = options.cancelSignal) === null || _a === void 0 ? void 0 : _a.call(options, () => {
|
|
38
38
|
process.stdout.write(diff.finish());
|
|
39
39
|
});
|
|
@@ -172,7 +172,7 @@ const getGuiProgressSubtitle = (progress) => {
|
|
|
172
172
|
return `Bundling ${Math.round(progress.bundling.progress * 100)}%`;
|
|
173
173
|
}
|
|
174
174
|
if (progress.copyingState.doneIn === null) {
|
|
175
|
-
return `Copying public dir ${
|
|
175
|
+
return `Copying public dir ${studio_server_1.StudioServerInternals.formatBytes(progress.copyingState.bytes)}`;
|
|
176
176
|
}
|
|
177
177
|
if (!progress.rendering) {
|
|
178
178
|
return `Getting compositions`;
|
package/dist/progress-types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { AggregateRenderProgress } from '@remotion/studio';
|
|
1
|
+
import type { AggregateRenderProgress } from '@remotion/studio-server';
|
|
2
2
|
export declare const initialAggregateRenderProgress: () => AggregateRenderProgress;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AudioCodec, Browser, BrowserExecutable, CancelSignal, ChromiumOptions, Codec, ColorSpace, Crf, FfmpegOverrideFn, FrameRange, LogLevel, PixelFormat, ProResProfile, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
|
-
import type { JobProgressCallback } from '@remotion/studio';
|
|
2
|
+
import type { JobProgressCallback } from '@remotion/studio-server';
|
|
3
3
|
import type { Loop } from '../config/number-of-gif-loops';
|
|
4
4
|
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, }: {
|
|
5
5
|
remotionRoot: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Browser, BrowserExecutable, CancelSignal, ChromiumOptions, LogLevel, StillImageFormat } from '@remotion/renderer';
|
|
2
|
-
import type { JobProgressCallback } from '@remotion/studio';
|
|
2
|
+
import type { JobProgressCallback } from '@remotion/studio-server';
|
|
3
3
|
export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, }: {
|
|
4
4
|
remotionRoot: string;
|
|
5
5
|
fullEntryPoint: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { JobProgressCallback, RenderJob } from '@remotion/studio';
|
|
1
|
+
import type { JobProgressCallback, RenderJob } from '@remotion/studio-server';
|
|
2
2
|
export declare const processStill: ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }: {
|
|
3
3
|
job: RenderJob;
|
|
4
4
|
remotionRoot: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LogLevel } from '@remotion/renderer';
|
|
2
|
-
import type { JobProgressCallback, RenderJob } from '@remotion/studio';
|
|
2
|
+
import type { JobProgressCallback, RenderJob } from '@remotion/studio-server';
|
|
3
3
|
export declare const processVideoJob: ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, logLevel, }: {
|
|
4
4
|
job: RenderJob;
|
|
5
5
|
remotionRoot: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LogLevel } from '@remotion/renderer';
|
|
2
|
-
import type { RenderJob, RenderJobWithCleanup } from '@remotion/studio';
|
|
2
|
+
import type { RenderJob, RenderJobWithCleanup } from '@remotion/studio-server';
|
|
3
3
|
export declare const getRenderQueue: () => RenderJob[];
|
|
4
4
|
export declare const addJob: ({ job, entryPoint, remotionRoot, logLevel, }: {
|
|
5
5
|
job: RenderJobWithCleanup;
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.cancelJob = exports.removeJob = exports.addJob = exports.getRenderQueue = void 0;
|
|
7
|
-
const
|
|
7
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const chalk_1 = require("../chalk");
|
|
10
10
|
const config_1 = require("../config");
|
|
@@ -31,7 +31,7 @@ const getRenderQueue = () => {
|
|
|
31
31
|
};
|
|
32
32
|
exports.getRenderQueue = getRenderQueue;
|
|
33
33
|
const notifyClientsOfJobUpdate = () => {
|
|
34
|
-
|
|
34
|
+
studio_server_1.StudioServerInternals.waitForLiveEventsListener().then((listener) => {
|
|
35
35
|
listener.sendEventToClient({
|
|
36
36
|
type: 'render-queue-updated',
|
|
37
37
|
queue: (0, exports.getRenderQueue)(),
|
|
@@ -163,7 +163,7 @@ const processJobIfPossible = async ({ remotionRoot, entryPoint, logLevel, }) =>
|
|
|
163
163
|
logLevel,
|
|
164
164
|
});
|
|
165
165
|
log_1.Log.info(chalk_1.chalk.gray('╰─ Done in ' + (Date.now() - startTime) + 'ms.'));
|
|
166
|
-
const { unwatch } =
|
|
166
|
+
const { unwatch } = studio_server_1.StudioServerInternals.installFileWatcher({
|
|
167
167
|
file: node_path_1.default.resolve(remotionRoot, nextJob.outName),
|
|
168
168
|
onChange: (type) => {
|
|
169
169
|
if (type === 'created') {
|
|
@@ -205,7 +205,7 @@ const processJobIfPossible = async ({ remotionRoot, entryPoint, logLevel, }) =>
|
|
|
205
205
|
};
|
|
206
206
|
});
|
|
207
207
|
await (0, print_error_1.printError)(err, config_1.ConfigInternals.Logging.getLogLevel());
|
|
208
|
-
|
|
208
|
+
studio_server_1.StudioServerInternals.waitForLiveEventsListener().then((listener) => {
|
|
209
209
|
listener.sendEventToClient({
|
|
210
210
|
type: 'render-job-failed',
|
|
211
211
|
compositionId: nextJob.compositionId,
|
package/dist/setup-cache.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LogLevel } from '@remotion/renderer';
|
|
2
|
-
import type { BundlingState, CopyingState } from '@remotion/studio';
|
|
2
|
+
import type { BundlingState, CopyingState } from '@remotion/studio-server';
|
|
3
3
|
export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, bundlingStep, steps, onDirectoryCreated, quietProgress, quietFlag, outDir, }: {
|
|
4
4
|
fullPath: string;
|
|
5
5
|
remotionRoot: string;
|
package/dist/studio.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.studioCommand = void 0;
|
|
4
|
-
const
|
|
4
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
5
5
|
const config_1 = require("./config");
|
|
6
6
|
const number_of_shared_audio_tags_1 = require("./config/number-of-shared-audio-tags");
|
|
7
7
|
const convert_entry_point_to_serve_url_1 = require("./convert-entry-point-to-serve-url");
|
|
@@ -35,7 +35,7 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
|
35
35
|
const desiredPort = getPort();
|
|
36
36
|
const fullEntryPath = (0, convert_entry_point_to_serve_url_1.convertEntryPointToServeUrl)(file);
|
|
37
37
|
let inputProps = (0, get_input_props_1.getInputProps)((newProps) => {
|
|
38
|
-
|
|
38
|
+
studio_server_1.StudioServerInternals.waitForLiveEventsListener().then((listener) => {
|
|
39
39
|
inputProps = newProps;
|
|
40
40
|
listener.sendEventToClient({
|
|
41
41
|
type: 'new-input-props',
|
|
@@ -44,7 +44,7 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
|
44
44
|
});
|
|
45
45
|
}, logLevel);
|
|
46
46
|
let envVariables = (0, get_env_1.getEnvironmentVariables)((newEnvVariables) => {
|
|
47
|
-
|
|
47
|
+
studio_server_1.StudioServerInternals.waitForLiveEventsListener().then((listener) => {
|
|
48
48
|
envVariables = newEnvVariables;
|
|
49
49
|
listener.sendEventToClient({
|
|
50
50
|
type: 'new-env-variables',
|
|
@@ -54,7 +54,8 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
|
54
54
|
}, logLevel);
|
|
55
55
|
const maxTimelineTracks = config_1.ConfigInternals.getMaxTimelineTracks();
|
|
56
56
|
const keyboardShortcutsEnabled = config_1.ConfigInternals.getKeyboardShortcutsEnabled();
|
|
57
|
-
await
|
|
57
|
+
await studio_server_1.StudioServerInternals.startStudio({
|
|
58
|
+
previewEntry: require.resolve('@remotion/studio/entry'),
|
|
58
59
|
browserArgs: parse_command_line_1.parsedCli['browser-args'],
|
|
59
60
|
browserFlag: parse_command_line_1.parsedCli.browser,
|
|
60
61
|
logLevel,
|
package/dist/upgrade.js
CHANGED
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.upgrade = void 0;
|
|
7
7
|
const renderer_1 = require("@remotion/renderer");
|
|
8
|
-
const
|
|
8
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
10
|
const config_1 = require("./config");
|
|
11
11
|
const list_of_remotion_packages_1 = require("./list-of-remotion-packages");
|
|
@@ -34,12 +34,12 @@ const upgrade = async (remotionRoot, packageManager, version) => {
|
|
|
34
34
|
log_1.Log.info('Upgrading to specified version: ' + version);
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
|
-
targetVersion = await
|
|
37
|
+
targetVersion = await studio_server_1.StudioServerInternals.getLatestRemotionVersion();
|
|
38
38
|
log_1.Log.info('Newest Remotion version is', targetVersion);
|
|
39
39
|
}
|
|
40
|
-
const manager =
|
|
40
|
+
const manager = studio_server_1.StudioServerInternals.getPackageManager(remotionRoot, packageManager);
|
|
41
41
|
if (manager === 'unknown') {
|
|
42
|
-
throw new Error(`No lockfile was found in your project (one of ${
|
|
42
|
+
throw new Error(`No lockfile was found in your project (one of ${studio_server_1.StudioServerInternals.lockFilePaths
|
|
43
43
|
.map((p) => p.path)
|
|
44
44
|
.join(', ')}). Install dependencies using your favorite manager!`);
|
|
45
45
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getOutputLocation = exports.getUserPassedOutputLocation = void 0;
|
|
4
|
-
const
|
|
4
|
+
const studio_server_1 = require("@remotion/studio-server");
|
|
5
5
|
const config_1 = require("./config");
|
|
6
6
|
const parse_command_line_1 = require("./parse-command-line");
|
|
7
7
|
const getUserPassedOutputLocation = (args, uiPassedOutName) => {
|
|
@@ -16,7 +16,7 @@ const getOutputLocation = ({ compositionId, defaultExtension, args, type, output
|
|
|
16
16
|
typeof parse_command_line_1.parsedCli.output !== 'undefined') {
|
|
17
17
|
throw new Error('Both an output flag (--output) and an output location as a positional argument were passed. Please choose only one of the ways.');
|
|
18
18
|
}
|
|
19
|
-
return ((_a = (0, exports.getUserPassedOutputLocation)(args, outputLocationFromUi)) !== null && _a !== void 0 ? _a :
|
|
19
|
+
return ((_a = (0, exports.getUserPassedOutputLocation)(args, outputLocationFromUi)) !== null && _a !== void 0 ? _a : (0, studio_server_1.getDefaultOutLocation)({
|
|
20
20
|
compositionName: compositionId,
|
|
21
21
|
defaultExtension,
|
|
22
22
|
type,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/cli",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.91",
|
|
4
4
|
"description": "CLI for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -31,12 +31,13 @@
|
|
|
31
31
|
"dotenv": "9.0.2",
|
|
32
32
|
"minimist": "1.2.6",
|
|
33
33
|
"prompts": "2.4.2",
|
|
34
|
-
"@remotion/
|
|
35
|
-
"@remotion/
|
|
36
|
-
"@remotion/
|
|
37
|
-
"@remotion/
|
|
38
|
-
"remotion": "4.0.
|
|
39
|
-
"@remotion/studio": "4.0.
|
|
34
|
+
"@remotion/bundler": "4.0.91",
|
|
35
|
+
"@remotion/player": "4.0.91",
|
|
36
|
+
"@remotion/renderer": "4.0.91",
|
|
37
|
+
"@remotion/media-utils": "4.0.91",
|
|
38
|
+
"@remotion/studio-server": "4.0.91",
|
|
39
|
+
"@remotion/studio": "4.0.91",
|
|
40
|
+
"remotion": "4.0.91"
|
|
40
41
|
},
|
|
41
42
|
"peerDependencies": {
|
|
42
43
|
"react": ">=16.8.0",
|
|
@@ -48,9 +49,9 @@
|
|
|
48
49
|
"bun-types": "0.8.0",
|
|
49
50
|
"@types/node": "18.14.6",
|
|
50
51
|
"@types/prompts": "^2.4.1",
|
|
51
|
-
"@types/react": "18.
|
|
52
|
+
"@types/react": "18.2.48",
|
|
52
53
|
"@types/prettier": "^2.7.2",
|
|
53
|
-
"@types/react-dom": "18.
|
|
54
|
+
"@types/react-dom": "18.2.18",
|
|
54
55
|
"eslint": "8.42.0",
|
|
55
56
|
"eslint-plugin-10x": "1.5.2",
|
|
56
57
|
"eslint-plugin-react": "7.32.2",
|
|
@@ -61,8 +62,8 @@
|
|
|
61
62
|
"react-dom": "18.2.0",
|
|
62
63
|
"vitest": "0.31.1",
|
|
63
64
|
"zod": "^3.22.3",
|
|
64
|
-
"@remotion/
|
|
65
|
-
"@remotion/
|
|
65
|
+
"@remotion/tailwind": "4.0.91",
|
|
66
|
+
"@remotion/zod-types": "4.0.91"
|
|
66
67
|
},
|
|
67
68
|
"keywords": [
|
|
68
69
|
"remotion",
|