@remotion/cli 4.0.36 → 4.0.38
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/config/image-format.d.ts +1 -1
- package/dist/config/index.d.ts +2 -2
- package/dist/editor/components/NewComposition/RemInput.d.ts +1 -1
- package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +1 -1
- package/dist/editor/components/RenderModal/human-readable-codec.d.ts +1 -1
- package/dist/editor/components/UpdateCheck.d.ts +0 -1
- package/dist/editor/components/UpdateModal/UpdateModal.js +1 -0
- package/dist/editor/helpers/presets-labels.d.ts +1 -1
- package/dist/get-cli-options.d.ts +2 -2
- package/dist/index.d.ts +7 -7
- package/dist/index.js +4 -0
- package/dist/load-config.js +4 -1
- package/dist/preview-server/dev-middleware/range-parser.d.ts +1 -1
- package/dist/preview-server/get-package-manager.d.ts +1 -1
- package/dist/preview-server/get-package-manager.js +6 -0
- package/dist/preview-server/routes.d.ts +0 -1
- package/dist/upgrade.js +1 -0
- package/package.json +8 -8
- package/dist/editor/components/RenderModal/SchemaEditor/input-props-serialization.d.ts +0 -14
- package/dist/editor/components/RenderModal/SchemaEditor/input-props-serialization.js +0 -42
- package/dist/editor/components/RightPanel.d.ts +0 -8
- package/dist/editor/components/RightPanel.js +0 -79
- package/dist/handle-common-errors.d.ts +0 -2
- package/dist/handle-common-errors.js +0 -60
|
@@ -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: () => "
|
|
5
|
+
export declare const getUserPreferredVideoImageFormat: () => "png" | "jpeg" | "none" | undefined;
|
package/dist/config/index.d.ts
CHANGED
|
@@ -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: () => "
|
|
292
|
+
getPresetProfile: () => "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "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: () => "
|
|
312
|
+
getUserPreferredVideoImageFormat: () => "png" | "jpeg" | "none" | undefined;
|
|
313
313
|
getWebpackOverrideFn: () => WebpackOverrideFn;
|
|
314
314
|
getWebpackCaching: () => boolean;
|
|
315
315
|
getOutputLocation: () => string | null;
|
|
@@ -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" |
|
|
16
|
+
export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | "rightAlign" | keyof React.InputHTMLAttributes<HTMLInputElement>> & 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" | keyof React.InputHTMLAttributes<HTMLInputElement
|
|
7
|
+
export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | keyof React.InputHTMLAttributes<HTMLInputElement>> & 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) => "
|
|
2
|
+
export declare const humanReadableCodec: (codec: Codec) => "GIF" | "AAC" | "MP3" | "H.264" | "H.264 Matroska" | "H.265" | "ProRes" | "WebM VP8" | "WebM VP9" | "Waveform" | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { X264Preset } from '@remotion/renderer';
|
|
2
|
-
export declare const labelx264Preset: (profile: X264Preset) => "
|
|
2
|
+
export declare const labelx264Preset: (profile: X264Preset) => "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
@@ -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: "
|
|
19
|
+
x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "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: "
|
|
37
|
+
configFileImageFormat: "png" | "jpeg" | "none" | undefined;
|
|
38
38
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
39
39
|
deleteAfter: ("1-day" | "3-days" | "7-days" | "30-days") | null;
|
|
40
40
|
colorSpace: "default" | "bt709";
|
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: "
|
|
104
|
+
x264Preset: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "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: "
|
|
122
|
+
configFileImageFormat: "png" | "jpeg" | "none" | 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": "
|
|
134
|
+
"image-format": "png" | "jpeg" | "none" | "pdf" | "webp";
|
|
135
135
|
"prores-profile": "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy";
|
|
136
|
-
"x264-preset": "
|
|
136
|
+
"x264-preset": "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "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: "
|
|
204
|
+
cliFlag: "png" | "jpeg" | "none" | "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: "
|
|
220
|
-
}) => "
|
|
219
|
+
uiImageFormat: "png" | "jpeg" | "none" | null;
|
|
220
|
+
}) => "png" | "jpeg" | "none";
|
|
221
221
|
printCompositions: (compositions: import("remotion").VideoConfig[]) => void;
|
|
222
222
|
getFinalOutputCodec: ({ cliFlag, configFile, downloadName, outName, uiCodec, }: {
|
|
223
223
|
cliFlag: import("@remotion/renderer").CodecOrUndefined;
|
package/dist/index.js
CHANGED
|
@@ -62,6 +62,10 @@ const cli = async () => {
|
|
|
62
62
|
if (command !== versions_1.VERSIONS_COMMAND) {
|
|
63
63
|
await (0, versions_1.validateVersionsBeforeCommand)(remotionRoot);
|
|
64
64
|
}
|
|
65
|
+
const isBun = typeof Bun !== 'undefined';
|
|
66
|
+
if (isBun) {
|
|
67
|
+
log_1.Log.warn('You are running Remotion with Bun. Visit https://remotion.dev/bun for known bugs and status updates.');
|
|
68
|
+
}
|
|
65
69
|
const isStudio = command === 'studio' || command === 'preview';
|
|
66
70
|
const errorSymbolicationLock = isStudio
|
|
67
71
|
? 0
|
package/dist/load-config.js
CHANGED
|
@@ -36,12 +36,15 @@ const loadConfigFile = async (remotionRoot, configFileName, isJavascript) => {
|
|
|
36
36
|
}
|
|
37
37
|
process.exit(1);
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
let str = new TextDecoder().decode(result.outputFiles[0].contents);
|
|
40
40
|
const currentCwd = process.cwd();
|
|
41
41
|
// The config file is always executed from the Remotion root, if `process.cwd()` is being used. We cannot enforce this in worker threads used for testing
|
|
42
42
|
if (node_worker_threads_1.isMainThread) {
|
|
43
43
|
process.chdir(remotionRoot);
|
|
44
44
|
}
|
|
45
|
+
if (process.env.PATCH_BUN_DEVELOPMENT) {
|
|
46
|
+
str = str.replace('@remotion/cli/config', './config');
|
|
47
|
+
}
|
|
45
48
|
// Exectute the contents of the config file
|
|
46
49
|
// eslint-disable-next-line no-eval
|
|
47
50
|
eval(str);
|
|
@@ -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 |
|
|
14
|
+
export declare function parseRange(size: number, str: string | string[]): -1 | Ranges | -2;
|
|
15
15
|
export {};
|
|
@@ -25,6 +25,12 @@ exports.lockFilePaths = [
|
|
|
25
25
|
installCommand: 'pnpm i',
|
|
26
26
|
startCommand: 'pnpm start',
|
|
27
27
|
},
|
|
28
|
+
{
|
|
29
|
+
path: 'bun.lockb',
|
|
30
|
+
manager: 'bun',
|
|
31
|
+
installCommand: 'bun i',
|
|
32
|
+
startCommand: 'bun start',
|
|
33
|
+
},
|
|
28
34
|
];
|
|
29
35
|
const getPackageManager = (remotionRoot, packageManager) => {
|
|
30
36
|
if (packageManager) {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
3
2
|
import type { LiveEventsServer } from './live-events';
|
|
4
3
|
export declare const handleRoutes: ({ hash, hashPrefix, request, response, liveEventsServer, getCurrentInputProps, getEnvVariables, remotionRoot, entryPoint, publicDir, }: {
|
package/dist/upgrade.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/cli",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.38",
|
|
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
|
-
"
|
|
39
|
-
"@remotion/
|
|
40
|
-
"@remotion/
|
|
41
|
-
"remotion": "4.0.
|
|
42
|
-
"@remotion/
|
|
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"
|
|
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.
|
|
69
|
-
"@remotion/tailwind": "4.0.
|
|
68
|
+
"@remotion/zod-types": "4.0.38",
|
|
69
|
+
"@remotion/tailwind": "4.0.38"
|
|
70
70
|
},
|
|
71
71
|
"keywords": [
|
|
72
72
|
"remotion",
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export type SerializedJSONWithCustomFields = {
|
|
2
|
-
serializedString: string;
|
|
3
|
-
customDateUsed: boolean;
|
|
4
|
-
customFileUsed: boolean;
|
|
5
|
-
mapUsed: boolean;
|
|
6
|
-
setUsed: boolean;
|
|
7
|
-
};
|
|
8
|
-
export declare const FILE_TOKEN = "remotion-file:";
|
|
9
|
-
export declare const serializeJSONWithDate: ({ data, indent, staticBase, }: {
|
|
10
|
-
data: unknown;
|
|
11
|
-
indent: number | undefined;
|
|
12
|
-
staticBase: string;
|
|
13
|
-
}) => SerializedJSONWithCustomFields;
|
|
14
|
-
export declare const deserializeJSONWithCustomFields: (data: string) => any;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deserializeJSONWithCustomFields = exports.serializeJSONWithDate = exports.FILE_TOKEN = void 0;
|
|
4
|
-
const DATE_TOKEN = 'remotion-date:';
|
|
5
|
-
exports.FILE_TOKEN = 'remotion-file:';
|
|
6
|
-
const serializeJSONWithDate = ({ data, indent, staticBase, }) => {
|
|
7
|
-
let customDateUsed = false;
|
|
8
|
-
let customFileUsed = false;
|
|
9
|
-
let mapUsed = false;
|
|
10
|
-
let setUsed = false;
|
|
11
|
-
const serializedString = JSON.stringify(data, function (key, value) {
|
|
12
|
-
const item = this[key];
|
|
13
|
-
if (item instanceof Date) {
|
|
14
|
-
customDateUsed = true;
|
|
15
|
-
return `${DATE_TOKEN}${item.toISOString()}`;
|
|
16
|
-
}
|
|
17
|
-
if (item instanceof Map) {
|
|
18
|
-
mapUsed = true;
|
|
19
|
-
return value;
|
|
20
|
-
}
|
|
21
|
-
if (item instanceof Set) {
|
|
22
|
-
setUsed = true;
|
|
23
|
-
return value;
|
|
24
|
-
}
|
|
25
|
-
if (typeof item === 'string' && item.startsWith(staticBase)) {
|
|
26
|
-
customFileUsed = true;
|
|
27
|
-
return `${exports.FILE_TOKEN}${item.replace(staticBase + '/', '')}`;
|
|
28
|
-
}
|
|
29
|
-
return value;
|
|
30
|
-
}, indent);
|
|
31
|
-
return { serializedString, customDateUsed, customFileUsed, mapUsed, setUsed };
|
|
32
|
-
};
|
|
33
|
-
exports.serializeJSONWithDate = serializeJSONWithDate;
|
|
34
|
-
const deserializeJSONWithCustomFields = (data) => {
|
|
35
|
-
return JSON.parse(data, (_, value) => {
|
|
36
|
-
if (typeof value === 'string' && value.startsWith(DATE_TOKEN)) {
|
|
37
|
-
return new Date(value.replace(DATE_TOKEN, ''));
|
|
38
|
-
}
|
|
39
|
-
return value;
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
exports.deserializeJSONWithCustomFields = deserializeJSONWithCustomFields;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
type SidebarPanel = 'input-props' | 'renders';
|
|
3
|
-
export declare const persistSelectedPanel: (panel: SidebarPanel) => void;
|
|
4
|
-
export declare const rightSidebarTabs: React.RefObject<{
|
|
5
|
-
selectRendersPanel: () => void;
|
|
6
|
-
}>;
|
|
7
|
-
export declare const RightPanel: React.FC<{}>;
|
|
8
|
-
export {};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RightPanel = exports.rightSidebarTabs = exports.persistSelectedPanel = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const remotion_1 = require("remotion");
|
|
7
|
-
const colors_1 = require("../helpers/colors");
|
|
8
|
-
const DataEditor_1 = require("./RenderModal/DataEditor");
|
|
9
|
-
const RenderQueue_1 = require("./RenderQueue");
|
|
10
|
-
const RendersTab_1 = require("./RendersTab");
|
|
11
|
-
const Tabs_1 = require("./Tabs");
|
|
12
|
-
const container = {
|
|
13
|
-
height: '100%',
|
|
14
|
-
width: '100%',
|
|
15
|
-
position: 'absolute',
|
|
16
|
-
display: 'flex',
|
|
17
|
-
flexDirection: 'column',
|
|
18
|
-
};
|
|
19
|
-
const PropsEditor = ({ composition }) => {
|
|
20
|
-
const { props, updateProps } = (0, react_1.useContext)(remotion_1.Internals.EditorPropsContext);
|
|
21
|
-
const setInputProps = (0, react_1.useCallback)((newProps) => {
|
|
22
|
-
updateProps({
|
|
23
|
-
id: composition.id,
|
|
24
|
-
defaultProps: composition.defaultProps,
|
|
25
|
-
newProps,
|
|
26
|
-
});
|
|
27
|
-
}, [composition.defaultProps, composition.id, updateProps]);
|
|
28
|
-
const actualProps = (0, react_1.useMemo)(() => { var _a, _b; return (_b = (_a = props[composition.id]) !== null && _a !== void 0 ? _a : composition.defaultProps) !== null && _b !== void 0 ? _b : {}; }, [composition.defaultProps, composition.id, props]);
|
|
29
|
-
return ((0, jsx_runtime_1.jsx)(DataEditor_1.DataEditor, { unresolvedComposition: composition, inputProps: actualProps, setInputProps: setInputProps, mayShowSaveButton: true, propsEditType: "default-props" }, composition.id));
|
|
30
|
-
};
|
|
31
|
-
const localStorageKey = 'remotion.sidebarPanel';
|
|
32
|
-
const getSelectedPanel = () => {
|
|
33
|
-
const panel = localStorage.getItem(localStorageKey);
|
|
34
|
-
if (panel === 'renders') {
|
|
35
|
-
return 'renders';
|
|
36
|
-
}
|
|
37
|
-
return 'input-props';
|
|
38
|
-
};
|
|
39
|
-
const tabsContainer = {
|
|
40
|
-
backgroundColor: colors_1.BACKGROUND,
|
|
41
|
-
};
|
|
42
|
-
const persistSelectedPanel = (panel) => {
|
|
43
|
-
localStorage.setItem(localStorageKey, panel);
|
|
44
|
-
};
|
|
45
|
-
exports.persistSelectedPanel = persistSelectedPanel;
|
|
46
|
-
exports.rightSidebarTabs = (0, react_1.createRef)();
|
|
47
|
-
const RightPanel = () => {
|
|
48
|
-
const [panel, setPanel] = (0, react_1.useState)(() => getSelectedPanel());
|
|
49
|
-
const onCompositionsSelected = (0, react_1.useCallback)(() => {
|
|
50
|
-
setPanel('input-props');
|
|
51
|
-
(0, exports.persistSelectedPanel)('input-props');
|
|
52
|
-
}, []);
|
|
53
|
-
const onRendersSelected = (0, react_1.useCallback)(() => {
|
|
54
|
-
setPanel('renders');
|
|
55
|
-
(0, exports.persistSelectedPanel)('renders');
|
|
56
|
-
}, []);
|
|
57
|
-
(0, react_1.useImperativeHandle)(exports.rightSidebarTabs, () => {
|
|
58
|
-
return {
|
|
59
|
-
selectRendersPanel: () => {
|
|
60
|
-
setPanel('renders');
|
|
61
|
-
(0, exports.persistSelectedPanel)('renders');
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
}, []);
|
|
65
|
-
const { compositions, currentComposition } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
|
|
66
|
-
const composition = (0, react_1.useMemo)(() => {
|
|
67
|
-
for (const comp of compositions) {
|
|
68
|
-
if (comp.id === currentComposition) {
|
|
69
|
-
return comp;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
}, [compositions, currentComposition]);
|
|
74
|
-
if (composition === null) {
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: container, className: "css-reset", children: [(0, jsx_runtime_1.jsx)("div", { style: tabsContainer, children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tab, { selected: panel === 'input-props', onClick: onCompositionsSelected, children: "Props" }), (0, jsx_runtime_1.jsx)(RendersTab_1.RendersTab, { onClick: onRendersSelected, selected: panel === 'renders' })] }) }), panel === 'renders' ? ((0, jsx_runtime_1.jsx)(RenderQueue_1.RenderQueue, {})) : ((0, jsx_runtime_1.jsx)(PropsEditor, { composition: composition }))] }));
|
|
78
|
-
};
|
|
79
|
-
exports.RightPanel = RightPanel;
|
|
@@ -1,60 +0,0 @@
|
|
|
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.info('💡 You might need to set the OpenGL renderer to "angle"');
|
|
31
|
-
log_1.Log.info('💡 Get help for this issue at https://www.remotion.dev/docs/three');
|
|
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;
|