@remotion/cli 4.0.38 → 4.0.39

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.
@@ -2,4 +2,4 @@ import type { StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
2
  export declare const setStillImageFormat: (format: StillImageFormat) => void;
3
3
  export declare const setVideoImageFormat: (format: VideoImageFormat) => void;
4
4
  export declare const getUserPreferredStillImageFormat: () => "png" | "jpeg" | "pdf" | "webp" | undefined;
5
- export declare const getUserPreferredVideoImageFormat: () => "png" | "jpeg" | "none" | undefined;
5
+ export declare const getUserPreferredVideoImageFormat: () => "none" | "png" | "jpeg" | undefined;
@@ -289,7 +289,7 @@ export declare const ConfigInternals: {
289
289
  getBrowser: () => null;
290
290
  getPixelFormat: () => "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
291
291
  getProResProfile: () => "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | undefined;
292
- getPresetProfile: () => "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
292
+ getPresetProfile: () => "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
293
293
  getShouldOverwrite: ({ defaultValue, }: {
294
294
  defaultValue: boolean;
295
295
  }) => boolean;
@@ -309,7 +309,7 @@ export declare const ConfigInternals: {
309
309
  getShouldOutputImageSequence: (frameRange: FrameRange | null) => boolean;
310
310
  getDotEnvLocation: () => string | null;
311
311
  getUserPreferredStillImageFormat: () => "png" | "jpeg" | "pdf" | "webp" | undefined;
312
- getUserPreferredVideoImageFormat: () => "png" | "jpeg" | "none" | undefined;
312
+ getUserPreferredVideoImageFormat: () => "none" | "png" | "jpeg" | undefined;
313
313
  getWebpackOverrideFn: () => WebpackOverrideFn;
314
314
  getWebpackCaching: () => boolean;
315
315
  getOutputLocation: () => string | null;
@@ -0,0 +1,3 @@
1
+ import type { x264Preset } from '@remotion/renderer';
2
+ export declare const getPresetProfile: () => x264Preset | undefined;
3
+ export declare const setPresetProfile: (profile: x264Preset | undefined) => void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setPresetProfile = exports.getPresetProfile = void 0;
4
+ let preset;
5
+ const getPresetProfile = () => {
6
+ return preset;
7
+ };
8
+ exports.getPresetProfile = getPresetProfile;
9
+ const setPresetProfile = (profile) => {
10
+ preset = profile;
11
+ };
12
+ exports.setPresetProfile = setPresetProfile;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import type { Bug } from './UpdateCheck';
3
+ export declare const KnownBugs: React.FC<{
4
+ bugs: Bug[];
5
+ }>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KnownBugs = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const OpenIssueButton_1 = require("./UpdateModal/OpenIssueButton");
6
+ const container = {
7
+ display: 'flex',
8
+ flexDirection: 'row',
9
+ alignItems: 'center',
10
+ };
11
+ const KnownBugs = ({ bugs }) => {
12
+ const bugElements = bugs.map((bug) => {
13
+ return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsxs)("div", { children: ["\uD83E\uDEB2 ", bug.title] }), (0, jsx_runtime_1.jsx)(OpenIssueButton_1.OpenIssueButton, { link: bug.link })] }, bug.description + bug.link));
14
+ });
15
+ return (0, jsx_runtime_1.jsx)("div", { children: bugElements });
16
+ };
17
+ exports.KnownBugs = KnownBugs;
@@ -13,5 +13,5 @@ export declare const getInputBorderColor: ({ status, isFocused, isHovered, }: {
13
13
  isFocused: boolean;
14
14
  isHovered: boolean;
15
15
  }) => "hsla(0, 0%, 100%, 0.15)" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)" | "#ff3232" | "#f1c40f";
16
- export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | "rightAlign" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
16
+ export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | keyof React.InputHTMLAttributes<HTMLInputElement> | "status" | "rightAlign"> & React.RefAttributes<HTMLInputElement>>;
17
17
  export {};
@@ -4,5 +4,5 @@ type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>
4
4
  status: RemInputStatus;
5
5
  name: string;
6
6
  };
7
- export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
7
+ export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "key" | keyof React.InputHTMLAttributes<HTMLInputElement> | "status"> & React.RefAttributes<HTMLInputElement>>;
8
8
  export {};
@@ -1,2 +1,2 @@
1
1
  import type { Codec } from '@remotion/renderer';
2
- export declare const humanReadableCodec: (codec: Codec) => "GIF" | "AAC" | "MP3" | "H.264" | "H.264 Matroska" | "H.265" | "ProRes" | "WebM VP8" | "WebM VP9" | "Waveform" | undefined;
2
+ export declare const humanReadableCodec: (codec: Codec) => "AAC" | "MP3" | "GIF" | "H.264" | "H.264 Matroska" | "H.265" | "ProRes" | "WebM VP8" | "WebM VP9" | "Waveform" | undefined;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { PackageManager } from '../../preview-server/get-package-manager';
2
3
  export type UpdateInfo = {
3
4
  currentVersion: string;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const OpenIssueButton: React.FC<{
3
+ link: string;
4
+ }>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenIssueButton = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const colors_1 = require("../../helpers/colors");
7
+ const svgStyle = {
8
+ width: '11px',
9
+ height: '11px',
10
+ };
11
+ const buttonStyle = {
12
+ border: 'none',
13
+ width: '24px',
14
+ height: '24px',
15
+ display: 'flex',
16
+ justifyContent: 'center',
17
+ alignItems: 'center',
18
+ };
19
+ const OpenIssueButton = ({ link }) => {
20
+ const [hovered, setHovered] = (0, react_1.useState)(false);
21
+ const buttonTooltip = `Open GitHub issue in new Tab`;
22
+ const handleClick = (0, react_1.useCallback)(() => {
23
+ window.open(link, '_blank');
24
+ }, [link]);
25
+ const svgFillColor = (0, react_1.useMemo)(() => {
26
+ return hovered ? 'white' : colors_1.LIGHT_TEXT;
27
+ }, [hovered]);
28
+ const openInEditorSvg = ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 512 512", style: svgStyle, children: (0, jsx_runtime_1.jsx)("path", { fill: svgFillColor, d: "M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z" }) }));
29
+ const onPointerEnter = (0, react_1.useCallback)(() => {
30
+ setHovered(true);
31
+ }, []);
32
+ const onPointerLeave = (0, react_1.useCallback)(() => {
33
+ setHovered(false);
34
+ }, []);
35
+ return ((0, jsx_runtime_1.jsx)("button", { title: buttonTooltip, type: "button", onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: buttonStyle, onClick: handleClick, children: openInEditorSvg }));
36
+ };
37
+ exports.OpenIssueButton = OpenIssueButton;
@@ -1,2 +1,2 @@
1
1
  import type { X264Preset } from '@remotion/renderer';
2
- export declare const labelx264Preset: (profile: X264Preset) => "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
2
+ export declare const labelx264Preset: (profile: X264Preset) => "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
@@ -13,9 +13,11 @@ const candidates = [
13
13
  node_path_1.default.join('src', 'index.ts'),
14
14
  node_path_1.default.join('src', 'index.tsx'),
15
15
  node_path_1.default.join('src', 'index.js'),
16
+ node_path_1.default.join('src', 'index.mjs'),
16
17
  node_path_1.default.join('remotion', 'index.tsx'),
17
18
  node_path_1.default.join('remotion', 'index.ts'),
18
19
  node_path_1.default.join('remotion', 'index.js'),
20
+ node_path_1.default.join('remotion', 'index.mjs'),
19
21
  ];
20
22
  const findCommonPath = (remotionRoot) => {
21
23
  return candidates.find((candidate) => (0, node_fs_1.existsSync)(node_path_1.default.resolve(remotionRoot, candidate)));
@@ -16,7 +16,7 @@ export declare const getCliOptions: (options: {
16
16
  crf: import("@remotion/renderer").Crf | null;
17
17
  pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
18
18
  proResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | undefined;
19
- x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
19
+ x264Preset: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
20
20
  everyNthFrame: number;
21
21
  numberOfGifLoops: import("./config/number-of-gif-loops").Loop;
22
22
  stillFrame: number;
@@ -34,7 +34,7 @@ export declare const getCliOptions: (options: {
34
34
  videoBitrate: string | null;
35
35
  height: number | null;
36
36
  width: number | null;
37
- configFileImageFormat: "png" | "jpeg" | "none" | undefined;
37
+ configFileImageFormat: "none" | "png" | "jpeg" | undefined;
38
38
  offthreadVideoCacheSizeInBytes: number | null;
39
39
  deleteAfter: ("1-day" | "3-days" | "7-days" | "30-days") | null;
40
40
  colorSpace: "default" | "bt709";
@@ -0,0 +1,2 @@
1
+ import type { LogLevel } from '@remotion/renderer';
2
+ export declare const handleCommonError: (err: Error, logLevel: LogLevel) => Promise<void>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleCommonError = void 0;
4
+ const chalk_1 = require("./chalk");
5
+ const log_1 = require("./log");
6
+ const print_error_1 = require("./print-error");
7
+ const truthy_1 = require("./truthy");
8
+ const handleCommonError = async (err, logLevel) => {
9
+ var _a;
10
+ await (0, print_error_1.printError)(err, logLevel);
11
+ if (err.message.includes('Could not play video with')) {
12
+ log_1.Log.info();
13
+ log_1.Log.info('💡 Get help for this issue at https://remotion.dev/docs/media-playback-error');
14
+ }
15
+ if (err.message.includes('A delayRender()') &&
16
+ err.message.includes('was called but not cleared after')) {
17
+ log_1.Log.info();
18
+ log_1.Log.info('💡 Get help for this issue at https://remotion.dev/docs/timeout');
19
+ }
20
+ if (err.message.includes('Target closed')) {
21
+ log_1.Log.info();
22
+ log_1.Log.info('💡 Get help for this issue at https://remotion.dev/docs/target-closed');
23
+ }
24
+ if (err.message.includes('ENAMETOOLONG')) {
25
+ log_1.Log.info();
26
+ log_1.Log.info('💡 Get help for this issue at https://remotion.dev/docs/enametoolong');
27
+ }
28
+ if (err.message.includes('Error creating WebGL context')) {
29
+ log_1.Log.info();
30
+ log_1.Log.warn('💡 You might need to set the OpenGL renderer to "angle" (or "swangle" if rendering on lambda). Learn why at https://www.remotion.dev/docs/three');
31
+ log_1.Log.warn("💡 Check how it's done at https://www.remotion.dev/docs/chromium-flags#--gl");
32
+ }
33
+ if (err.message.includes('The bucket does not allow ACLs')) {
34
+ log_1.Log.info();
35
+ log_1.Log.info(chalk_1.chalk.green('💡 Fix this issue https://remotion.dev/docs/lambda/troubleshooting/bucket-disallows-acl'));
36
+ }
37
+ if (err.message.includes('Minified React error #306')) {
38
+ const componentName = (_a = err.message.match(/<\w+>/)) === null || _a === void 0 ? void 0 : _a[0];
39
+ log_1.Log.info([
40
+ '💡 This error indicates that the component',
41
+ componentName ? `(${componentName})` : null,
42
+ 'you are trying to render is not imported correctly.',
43
+ ]
44
+ .filter(truthy_1.truthy)
45
+ .join(' '));
46
+ log_1.Log.info();
47
+ log_1.Log.info(' Check the root file and ensure that the component is not undefined.');
48
+ log_1.Log.info(' Oftentimes, this happens if the component is missing the `export` keyword');
49
+ log_1.Log.info(' or if the component was renamed and the import statement not properly adjusted.');
50
+ }
51
+ if (err.message.includes('GLIBC_')) {
52
+ log_1.Log.info('💡 Remotion requires at least Libc 2.35.');
53
+ log_1.Log.info('💡 Get help for this issue: https://github.com/remotion-dev/remotion/issues/2439');
54
+ }
55
+ if (err.message.includes('EBADF')) {
56
+ log_1.Log.info('💡 This error might be fixed by changing your Node version:');
57
+ log_1.Log.info(' https://github.com/remotion-dev/remotion/issues/2452');
58
+ }
59
+ };
60
+ exports.handleCommonError = handleCommonError;
package/dist/index.d.ts CHANGED
@@ -101,7 +101,7 @@ export declare const CliInternals: {
101
101
  crf: import("@remotion/renderer").Crf | null;
102
102
  pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
103
103
  proResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | undefined;
104
- x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
104
+ x264Preset: "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo" | undefined;
105
105
  everyNthFrame: number;
106
106
  numberOfGifLoops: import("./config/number-of-gif-loops").Loop;
107
107
  stillFrame: number;
@@ -119,7 +119,7 @@ export declare const CliInternals: {
119
119
  videoBitrate: string | null;
120
120
  height: number | null;
121
121
  width: number | null;
122
- configFileImageFormat: "png" | "jpeg" | "none" | undefined;
122
+ configFileImageFormat: "none" | "png" | "jpeg" | undefined;
123
123
  offthreadVideoCacheSizeInBytes: number | null;
124
124
  deleteAfter: ("1-day" | "3-days" | "7-days" | "30-days") | null;
125
125
  colorSpace: "default" | "bt709";
@@ -131,9 +131,9 @@ export declare const CliInternals: {
131
131
  parsedCli: {
132
132
  "browser-executable": import("@remotion/renderer").BrowserExecutable;
133
133
  "pixel-format": "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
134
- "image-format": "png" | "jpeg" | "none" | "pdf" | "webp";
134
+ "image-format": "none" | "png" | "jpeg" | "pdf" | "webp";
135
135
  "prores-profile": "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy";
136
- "x264-preset": "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
136
+ "x264-preset": "medium" | "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "slow" | "slower" | "veryslow" | "placebo";
137
137
  "bundle-cache": string;
138
138
  "env-file": string;
139
139
  "ignore-certificate-errors": string;
@@ -201,7 +201,7 @@ export declare const CliInternals: {
201
201
  downloadName: string | null;
202
202
  outName: string | null;
203
203
  configImageFormat: "png" | "jpeg" | "pdf" | "webp" | null;
204
- cliFlag: "png" | "jpeg" | "none" | "pdf" | "webp" | null;
204
+ cliFlag: "none" | "png" | "jpeg" | "pdf" | "webp" | null;
205
205
  isLambda: boolean;
206
206
  fromUi: "png" | "jpeg" | "pdf" | "webp" | null;
207
207
  }) => {
@@ -216,8 +216,8 @@ export declare const CliInternals: {
216
216
  };
217
217
  getVideoImageFormat: ({ codec, uiImageFormat, }: {
218
218
  codec: import("@remotion/renderer").CodecOrUndefined;
219
- uiImageFormat: "png" | "jpeg" | "none" | null;
220
- }) => "png" | "jpeg" | "none";
219
+ uiImageFormat: "none" | "png" | "jpeg" | null;
220
+ }) => "none" | "png" | "jpeg";
221
221
  printCompositions: (compositions: import("remotion").VideoConfig[]) => void;
222
222
  getFinalOutputCodec: ({ cliFlag, configFile, downloadName, outName, uiCodec, }: {
223
223
  cliFlag: import("@remotion/renderer").CodecOrUndefined;
@@ -11,5 +11,5 @@ type Range = {
11
11
  type Ranges = Range[] & {
12
12
  type?: string;
13
13
  };
14
- export declare function parseRange(size: number, str: string | string[]): -1 | Ranges | -2;
14
+ export declare function parseRange(size: number, str: string | string[]): -1 | -2 | Ranges;
15
15
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import type { IncomingMessage, ServerResponse } from 'node:http';
2
3
  import type { LiveEventsServer } from './live-events';
3
4
  export declare const handleRoutes: ({ hash, hashPrefix, request, response, liveEventsServer, getCurrentInputProps, getEnvVariables, remotionRoot, entryPoint, publicDir, }: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "4.0.38",
3
+ "version": "4.0.39",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -35,11 +35,11 @@
35
35
  "prompts": "2.4.1",
36
36
  "semver": "7.5.3",
37
37
  "source-map": "0.6.1",
38
- "remotion": "4.0.38",
39
- "@remotion/bundler": "4.0.38",
40
- "@remotion/player": "4.0.38",
41
- "@remotion/renderer": "4.0.38",
42
- "@remotion/media-utils": "4.0.38"
38
+ "@remotion/bundler": "4.0.39",
39
+ "@remotion/media-utils": "4.0.39",
40
+ "@remotion/player": "4.0.39",
41
+ "@remotion/renderer": "4.0.39",
42
+ "remotion": "4.0.39"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "react": ">=16.8.0",
@@ -65,8 +65,8 @@
65
65
  "react-dom": "^18.0.0",
66
66
  "vitest": "0.31.1",
67
67
  "zod": "^3.21.4",
68
- "@remotion/zod-types": "4.0.38",
69
- "@remotion/tailwind": "4.0.38"
68
+ "@remotion/zod-types": "4.0.39",
69
+ "@remotion/tailwind": "4.0.39"
70
70
  },
71
71
  "keywords": [
72
72
  "remotion",