@remotion/cli 3.1.6 → 3.1.7
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/code-frame.js +3 -3
- package/dist/compositions.d.ts +1 -1
- package/dist/compositions.js +9 -3
- package/dist/config/browser-executable.d.ts +3 -0
- package/dist/config/browser-executable.js +12 -0
- package/dist/config/browser.d.ts +3 -0
- package/dist/config/browser.js +18 -0
- package/dist/config/chromium-flags.d.ts +9 -0
- package/dist/config/chromium-flags.js +33 -0
- package/dist/config/codec.d.ts +7 -0
- package/dist/config/codec.js +40 -0
- package/dist/config/concurrency.d.ts +3 -0
- package/dist/config/concurrency.js +12 -0
- package/dist/config/crf.d.ts +4 -0
- package/dist/config/crf.js +23 -0
- package/dist/config/env-file.d.ts +2 -0
- package/dist/config/env-file.js +10 -0
- package/dist/config/every-nth-frame.d.ts +3 -0
- package/dist/config/every-nth-frame.js +20 -0
- package/dist/config/ffmpeg-executable.d.ts +5 -0
- package/dist/config/ffmpeg-executable.js +21 -0
- package/dist/config/frame-range.d.ts +4 -0
- package/dist/config/frame-range.js +35 -0
- package/dist/config/image-format.d.ts +3 -0
- package/dist/config/image-format.js +20 -0
- package/dist/config/image-sequence.d.ts +3 -0
- package/dist/config/image-sequence.js +15 -0
- package/dist/config/index.d.ts +43 -0
- package/dist/config/index.js +162 -0
- package/dist/config/log.d.ts +3 -0
- package/dist/config/log.js +12 -0
- package/dist/config/max-timeline-tracks.d.ts +2 -0
- package/dist/config/max-timeline-tracks.js +24 -0
- package/dist/config/number-of-gif-loops.d.ts +4 -0
- package/dist/config/number-of-gif-loops.js +21 -0
- package/dist/config/output-location.d.ts +2 -0
- package/dist/config/output-location.js +16 -0
- package/dist/config/override-webpack.d.ts +5 -0
- package/dist/config/override-webpack.js +14 -0
- package/dist/config/overwrite.d.ts +2 -0
- package/dist/config/overwrite.js +14 -0
- package/dist/config/pixel-format.d.ts +3 -0
- package/dist/config/pixel-format.js +16 -0
- package/dist/config/preview-server.d.ts +2 -0
- package/dist/config/preview-server.js +20 -0
- package/dist/config/prores-profile.d.ts +3 -0
- package/dist/config/prores-profile.js +12 -0
- package/dist/config/quality.d.ts +2 -0
- package/dist/config/quality.js +17 -0
- package/dist/config/scale.d.ts +3 -0
- package/dist/config/scale.js +15 -0
- package/dist/config/still-frame.d.ts +2 -0
- package/dist/config/still-frame.js +12 -0
- package/dist/config/timeout.d.ts +2 -0
- package/dist/config/timeout.js +17 -0
- package/dist/config/webpack-caching.d.ts +3 -0
- package/dist/config/webpack-caching.js +16 -0
- package/dist/editor/components/CompositionSelectorItem.d.ts +1 -1
- package/dist/editor/components/CompositionSelectorItem.js +2 -1
- package/dist/editor/components/Editor.js +2 -1
- package/dist/editor/components/InitialCompositionLoader.d.ts +1 -1
- package/dist/editor/components/InitialCompositionLoader.js +17 -4
- package/dist/editor/components/PlayPause.js +4 -0
- package/dist/editor/components/Timeline/TimelineDragHandler.js +3 -2
- package/dist/editor/components/Timeline/TimelineInOutPointer.js +2 -1
- package/dist/editor/components/Timeline/TimelineListItem.js +1 -0
- package/dist/editor/components/TimelineInOutToggle.js +3 -2
- package/dist/editor/state/in-out.d.ts +12 -0
- package/dist/editor/state/in-out.js +23 -0
- package/dist/find-closest-package-json.d.ts +2 -0
- package/dist/find-closest-package-json.js +35 -0
- package/dist/get-cli-options.d.ts +4 -5
- package/dist/get-cli-options.js +35 -32
- package/dist/get-config-file-name.d.ts +1 -1
- package/dist/get-config-file-name.js +9 -6
- package/dist/get-env.js +6 -4
- package/dist/get-filename.d.ts +1 -1
- package/dist/get-final-output-codec.d.ts +6 -0
- package/dist/get-final-output-codec.js +63 -0
- package/dist/image-formats.d.ts +3 -3
- package/dist/image-formats.js +4 -3
- package/dist/index.d.ts +10 -8
- package/dist/index.js +17 -9
- package/dist/initialize-render-cli.d.ts +1 -1
- package/dist/initialize-render-cli.js +8 -3
- package/dist/lambda-command.d.ts +1 -1
- package/dist/lambda-command.js +4 -4
- package/dist/load-config.d.ts +1 -1
- package/dist/load-config.js +16 -5
- package/dist/log.js +7 -6
- package/dist/parse-command-line.d.ts +1 -1
- package/dist/parse-command-line.js +31 -30
- package/dist/preview-server/error-overlay/react-overlay/effects/map-error-to-react-stack.js +2 -2
- package/dist/preview-server/error-overlay/react-overlay/utils/get-file-source.d.ts +1 -1
- package/dist/preview-server/error-overlay/react-overlay/utils/get-file-source.js +3 -3
- package/dist/preview-server/get-package-manager.d.ts +1 -1
- package/dist/preview-server/get-package-manager.js +2 -2
- package/dist/preview-server/project-info.d.ts +1 -1
- package/dist/preview-server/project-info.js +3 -3
- package/dist/preview-server/routes.d.ts +2 -1
- package/dist/preview-server/routes.js +28 -17
- package/dist/preview-server/start-server.d.ts +1 -0
- package/dist/preview-server/start-server.js +4 -2
- package/dist/preview-server/update-available.d.ts +1 -1
- package/dist/preview-server/update-available.js +8 -5
- package/dist/preview.d.ts +1 -1
- package/dist/preview.js +5 -4
- package/dist/previewEntry.js +1 -0
- package/dist/progress-bar.d.ts +1 -2
- package/dist/progress-bar.js +5 -4
- package/dist/render.d.ts +1 -1
- package/dist/render.js +17 -10
- package/dist/setup-cache.d.ts +2 -1
- package/dist/setup-cache.js +16 -9
- package/dist/still.d.ts +1 -1
- package/dist/still.js +15 -10
- package/dist/truthy.d.ts +3 -0
- package/dist/truthy.js +7 -0
- package/dist/upgrade.d.ts +1 -1
- package/dist/upgrade.js +5 -10
- package/dist/user-passed-output-location.js +2 -2
- package/dist/versions.d.ts +2 -2
- package/dist/versions.js +13 -12
- package/dist/webpack-cache.d.ts +2 -2
- package/dist/webpack-cache.js +10 -10
- package/package.json +7 -7
|
@@ -4,9 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.quietFlagProvided = exports.parseCommandLine = exports.parsedCli = exports.BooleanFlags = void 0;
|
|
7
|
+
const renderer_1 = require("@remotion/renderer");
|
|
7
8
|
const minimist_1 = __importDefault(require("minimist"));
|
|
8
9
|
const path_1 = require("path");
|
|
9
|
-
const
|
|
10
|
+
const config_1 = require("./config");
|
|
10
11
|
const log_1 = require("./log");
|
|
11
12
|
exports.BooleanFlags = [
|
|
12
13
|
'force',
|
|
@@ -31,99 +32,99 @@ exports.parsedCli = (0, minimist_1.default)(process.argv.slice(2), {
|
|
|
31
32
|
});
|
|
32
33
|
const parseCommandLine = (type) => {
|
|
33
34
|
if (exports.parsedCli['pixel-format']) {
|
|
34
|
-
|
|
35
|
+
config_1.Config.Output.setPixelFormat(exports.parsedCli['pixel-format']);
|
|
35
36
|
}
|
|
36
37
|
if (exports.parsedCli['image-format']) {
|
|
37
|
-
|
|
38
|
+
config_1.Config.Rendering.setImageFormat(exports.parsedCli['image-format']);
|
|
38
39
|
}
|
|
39
40
|
if (exports.parsedCli['browser-executable']) {
|
|
40
|
-
|
|
41
|
+
config_1.Config.Puppeteer.setBrowserExecutable(exports.parsedCli['browser-executable']);
|
|
41
42
|
}
|
|
42
43
|
if (exports.parsedCli['ffmpeg-executable']) {
|
|
43
|
-
|
|
44
|
+
config_1.Config.Rendering.setFfmpegExecutable((0, path_1.resolve)(exports.parsedCli['ffmpeg-executable']));
|
|
44
45
|
}
|
|
45
46
|
if (exports.parsedCli['number-of-gif-loops']) {
|
|
46
|
-
|
|
47
|
+
config_1.Config.Rendering.setNumberOfGifLoops(exports.parsedCli['number-of-gif-loops']);
|
|
47
48
|
}
|
|
48
49
|
if (exports.parsedCli['ffprobe-executable']) {
|
|
49
|
-
|
|
50
|
+
config_1.Config.Rendering.setFfprobeExecutable((0, path_1.resolve)(exports.parsedCli['ffprobe-executable']));
|
|
50
51
|
}
|
|
51
52
|
if (typeof exports.parsedCli['bundle-cache'] !== 'undefined') {
|
|
52
|
-
|
|
53
|
+
config_1.Config.Bundling.setCachingEnabled(exports.parsedCli['bundle-cache'] !== 'false');
|
|
53
54
|
}
|
|
54
55
|
if (exports.parsedCli['disable-web-security']) {
|
|
55
|
-
|
|
56
|
+
config_1.Config.Puppeteer.setChromiumDisableWebSecurity(true);
|
|
56
57
|
}
|
|
57
58
|
if (exports.parsedCli['ignore-certificate-errors']) {
|
|
58
|
-
|
|
59
|
+
config_1.Config.Puppeteer.setChromiumIgnoreCertificateErrors(true);
|
|
59
60
|
}
|
|
60
61
|
if (exports.parsedCli['disable-headless']) {
|
|
61
|
-
|
|
62
|
+
config_1.Config.Puppeteer.setChromiumHeadlessMode(false);
|
|
62
63
|
}
|
|
63
64
|
if (exports.parsedCli.log) {
|
|
64
|
-
if (!
|
|
65
|
+
if (!renderer_1.RenderInternals.isValidLogLevel(exports.parsedCli.log)) {
|
|
65
66
|
log_1.Log.error('Invalid `--log` value passed.');
|
|
66
|
-
log_1.Log.error(`Accepted values: ${
|
|
67
|
+
log_1.Log.error(`Accepted values: ${renderer_1.RenderInternals.logLevels
|
|
67
68
|
.map((l) => `'${l}'`)
|
|
68
69
|
.join(', ')}.`);
|
|
69
70
|
process.exit(1);
|
|
70
71
|
}
|
|
71
|
-
|
|
72
|
+
config_1.ConfigInternals.Logging.setLogLevel(exports.parsedCli.log);
|
|
72
73
|
}
|
|
73
74
|
if (exports.parsedCli.concurrency) {
|
|
74
|
-
|
|
75
|
+
config_1.Config.Rendering.setConcurrency(exports.parsedCli.concurrency);
|
|
75
76
|
}
|
|
76
77
|
if (exports.parsedCli.timeout) {
|
|
77
|
-
|
|
78
|
+
config_1.Config.Puppeteer.setTimeoutInMilliseconds(exports.parsedCli.timeout);
|
|
78
79
|
}
|
|
79
80
|
if (exports.parsedCli.frames) {
|
|
80
81
|
if (type === 'still') {
|
|
81
82
|
log_1.Log.error('--frames flag was passed to the `still` command. This flag only works with the `render` command. Did you mean `--frame`? See reference: https://www.remotion.dev/docs/cli/');
|
|
82
83
|
process.exit(1);
|
|
83
84
|
}
|
|
84
|
-
|
|
85
|
+
config_1.ConfigInternals.setFrameRangeFromCli(exports.parsedCli.frames);
|
|
85
86
|
}
|
|
86
87
|
if (exports.parsedCli.frame) {
|
|
87
88
|
if (type === 'sequence') {
|
|
88
89
|
log_1.Log.error('--frame flag was passed to the `render` command. This flag only works with the `still` command. Did you mean `--frames`? See reference: https://www.remotion.dev/docs/cli/');
|
|
89
90
|
process.exit(1);
|
|
90
91
|
}
|
|
91
|
-
|
|
92
|
+
config_1.ConfigInternals.setStillFrame(Number(exports.parsedCli.frame));
|
|
92
93
|
}
|
|
93
94
|
if (exports.parsedCli.png) {
|
|
94
95
|
log_1.Log.warn('The --png flag has been deprecrated. Use --sequence --image-format=png from now on.');
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
config_1.Config.Output.setImageSequence(true);
|
|
97
|
+
config_1.Config.Rendering.setImageFormat('png');
|
|
97
98
|
}
|
|
98
99
|
if (exports.parsedCli.sequence) {
|
|
99
|
-
|
|
100
|
+
config_1.Config.Output.setImageSequence(true);
|
|
100
101
|
}
|
|
101
102
|
if (typeof exports.parsedCli.crf !== 'undefined') {
|
|
102
|
-
|
|
103
|
+
config_1.Config.Output.setCrf(exports.parsedCli.crf);
|
|
103
104
|
}
|
|
104
105
|
if (exports.parsedCli.codec) {
|
|
105
|
-
|
|
106
|
+
config_1.Config.Output.setCodec(exports.parsedCli.codec);
|
|
106
107
|
}
|
|
107
108
|
if (exports.parsedCli['every-nth-frame']) {
|
|
108
|
-
|
|
109
|
+
config_1.Config.Rendering.setEveryNthFrame(exports.parsedCli['every-nth-frame']);
|
|
109
110
|
}
|
|
110
111
|
if (exports.parsedCli.gl) {
|
|
111
|
-
|
|
112
|
+
config_1.Config.Puppeteer.setChromiumOpenGlRenderer(exports.parsedCli.gl);
|
|
112
113
|
}
|
|
113
114
|
if (exports.parsedCli['prores-profile']) {
|
|
114
|
-
|
|
115
|
+
config_1.Config.Output.setProResProfile(String(exports.parsedCli['prores-profile']));
|
|
115
116
|
}
|
|
116
117
|
if (exports.parsedCli.overwrite) {
|
|
117
|
-
|
|
118
|
+
config_1.Config.Output.setOverwriteOutput(exports.parsedCli.overwrite);
|
|
118
119
|
}
|
|
119
120
|
if (typeof exports.parsedCli.quality !== 'undefined') {
|
|
120
|
-
|
|
121
|
+
config_1.Config.Rendering.setQuality(exports.parsedCli.quality);
|
|
121
122
|
}
|
|
122
123
|
if (typeof exports.parsedCli.scale !== 'undefined') {
|
|
123
|
-
|
|
124
|
+
config_1.Config.Rendering.setScale(exports.parsedCli.scale);
|
|
124
125
|
}
|
|
125
126
|
if (typeof exports.parsedCli.port !== 'undefined') {
|
|
126
|
-
|
|
127
|
+
config_1.Config.Bundling.setPort(exports.parsedCli.port);
|
|
127
128
|
}
|
|
128
129
|
};
|
|
129
130
|
exports.parseCommandLine = parseCommandLine;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getLocationFromBuildError = void 0;
|
|
4
|
-
const
|
|
4
|
+
const truthy_1 = require("../../../../truthy");
|
|
5
5
|
const getLocationFromBuildError = (err) => {
|
|
6
6
|
var _a;
|
|
7
7
|
if (!err.stack) {
|
|
@@ -41,6 +41,6 @@ const getLocationFromBuildError = (err) => {
|
|
|
41
41
|
fileName: filename.trim(),
|
|
42
42
|
};
|
|
43
43
|
})
|
|
44
|
-
.filter(
|
|
44
|
+
.filter(truthy_1.truthy)[0]) !== null && _a !== void 0 ? _a : null);
|
|
45
45
|
};
|
|
46
46
|
exports.getLocationFromBuildError = getLocationFromBuildError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getFileSource: (p: string) => Promise<string>;
|
|
1
|
+
export declare const getFileSource: (remotionRoot: string, p: string) => Promise<string>;
|
|
@@ -7,12 +7,12 @@ exports.getFileSource = void 0;
|
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const allowedFileExtensions = ['js', 'ts', 'tsx', 'jsx', 'map', 'mjs'];
|
|
10
|
-
const getFileSource = (p) => {
|
|
10
|
+
const getFileSource = (remotionRoot, p) => {
|
|
11
11
|
if (!allowedFileExtensions.find((extension) => p.endsWith(extension))) {
|
|
12
12
|
throw new Error(`Not allowed to open ${p}`);
|
|
13
13
|
}
|
|
14
|
-
const resolved = path_1.default.resolve(
|
|
15
|
-
const relativeToProcessCwd = path_1.default.relative(
|
|
14
|
+
const resolved = path_1.default.resolve(remotionRoot, p);
|
|
15
|
+
const relativeToProcessCwd = path_1.default.relative(remotionRoot, resolved);
|
|
16
16
|
if (relativeToProcessCwd.startsWith('..')) {
|
|
17
17
|
throw new Error(`Not allowed to open ${relativeToProcessCwd}`);
|
|
18
18
|
}
|
|
@@ -5,5 +5,5 @@ declare type LockfilePath = {
|
|
|
5
5
|
installCommand: string;
|
|
6
6
|
};
|
|
7
7
|
export declare const lockFilePaths: LockfilePath[];
|
|
8
|
-
export declare const getPackageManager: () => LockfilePath | 'unknown';
|
|
8
|
+
export declare const getPackageManager: (remotionRoot: string) => LockfilePath | 'unknown';
|
|
9
9
|
export {};
|
|
@@ -19,8 +19,8 @@ exports.lockFilePaths = [
|
|
|
19
19
|
installCommand: 'pnpm i',
|
|
20
20
|
},
|
|
21
21
|
];
|
|
22
|
-
const getPackageManager = () => {
|
|
23
|
-
const existingPkgManagers = exports.lockFilePaths.filter((p) => fs_1.default.existsSync(path_1.default.join(
|
|
22
|
+
const getPackageManager = (remotionRoot) => {
|
|
23
|
+
const existingPkgManagers = exports.lockFilePaths.filter((p) => fs_1.default.existsSync(path_1.default.join(remotionRoot, p.path)));
|
|
24
24
|
if (existingPkgManagers.length === 0) {
|
|
25
25
|
return 'unknown';
|
|
26
26
|
}
|
|
@@ -6,16 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getProjectInfo = void 0;
|
|
7
7
|
const fs_1 = require("fs");
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const getProjectInfo = () => {
|
|
9
|
+
const getProjectInfo = (remotionRoot) => {
|
|
10
10
|
var _a;
|
|
11
11
|
const pathsToLookFor = ['src/Video.tsx', 'src/Video.jsx'].map((p) => {
|
|
12
|
-
return path_1.default.join(
|
|
12
|
+
return path_1.default.join(remotionRoot, p);
|
|
13
13
|
});
|
|
14
14
|
const videoFile = (_a = pathsToLookFor.find((p) => (0, fs_1.existsSync)(p))) !== null && _a !== void 0 ? _a : null;
|
|
15
15
|
return Promise.resolve({
|
|
16
16
|
videoFile,
|
|
17
17
|
relativeVideoFile: videoFile
|
|
18
|
-
? path_1.default.relative(
|
|
18
|
+
? path_1.default.relative(remotionRoot, videoFile)
|
|
19
19
|
: null,
|
|
20
20
|
});
|
|
21
21
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'http';
|
|
2
2
|
import type { LiveEventsServer } from './live-events';
|
|
3
|
-
export declare const handleRoutes: ({ hash, hashPrefix, request, response, liveEventsServer, getCurrentInputProps, }: {
|
|
3
|
+
export declare const handleRoutes: ({ hash, hashPrefix, request, response, liveEventsServer, getCurrentInputProps, remotionRoot, }: {
|
|
4
4
|
hash: string;
|
|
5
5
|
hashPrefix: string;
|
|
6
6
|
request: IncomingMessage;
|
|
7
7
|
response: ServerResponse;
|
|
8
8
|
liveEventsServer: LiveEventsServer;
|
|
9
9
|
getCurrentInputProps: () => object;
|
|
10
|
+
remotionRoot: string;
|
|
10
11
|
}) => void | Promise<void>;
|
|
@@ -13,8 +13,8 @@ const open_in_editor_1 = require("./error-overlay/react-overlay/utils/open-in-ed
|
|
|
13
13
|
const project_info_1 = require("./project-info");
|
|
14
14
|
const serve_static_1 = require("./serve-static");
|
|
15
15
|
const update_available_1 = require("./update-available");
|
|
16
|
-
const handleUpdate = async (_, response) => {
|
|
17
|
-
const data = await (0, update_available_1.isUpdateAvailableWithTimeout)();
|
|
16
|
+
const handleUpdate = async (remotionRoot, _, response) => {
|
|
17
|
+
const data = await (0, update_available_1.isUpdateAvailableWithTimeout)(remotionRoot);
|
|
18
18
|
response.setHeader('content-type', 'application/json');
|
|
19
19
|
response.writeHead(200);
|
|
20
20
|
response.end(JSON.stringify(data));
|
|
@@ -24,20 +24,26 @@ const static404 = (response) => {
|
|
|
24
24
|
response.writeHead(404);
|
|
25
25
|
response.end('The static/ prefix has been changed, this URL is no longer valid.');
|
|
26
26
|
};
|
|
27
|
-
const handleFallback = async (
|
|
27
|
+
const handleFallback = async ({ remotionRoot, hash, response, getCurrentInputProps, }) => {
|
|
28
28
|
const [edit] = await editorGuess;
|
|
29
29
|
const displayName = (0, open_in_editor_1.getDisplayNameForEditor)(edit ? edit.command : null);
|
|
30
30
|
response.setHeader('content-type', 'text/html');
|
|
31
31
|
response.writeHead(200);
|
|
32
|
-
response.end(bundler_1.BundlerInternals.indexHtml(
|
|
32
|
+
response.end(bundler_1.BundlerInternals.indexHtml({
|
|
33
|
+
staticHash: hash,
|
|
34
|
+
baseDir: '/',
|
|
35
|
+
editorName: displayName,
|
|
36
|
+
inputProps: getCurrentInputProps(),
|
|
37
|
+
remotionRoot,
|
|
38
|
+
}));
|
|
33
39
|
};
|
|
34
|
-
const handleProjectInfo = async (_, response) => {
|
|
35
|
-
const data = await (0, project_info_1.getProjectInfo)();
|
|
40
|
+
const handleProjectInfo = async (remotionRoot, _, response) => {
|
|
41
|
+
const data = await (0, project_info_1.getProjectInfo)(remotionRoot);
|
|
36
42
|
response.setHeader('content-type', 'application/json');
|
|
37
43
|
response.writeHead(200);
|
|
38
44
|
response.end(JSON.stringify(data));
|
|
39
45
|
};
|
|
40
|
-
const handleFileSource = async (search, _, response) => {
|
|
46
|
+
const handleFileSource = async (remotionRoot, search, _, response) => {
|
|
41
47
|
if (!search.startsWith('?')) {
|
|
42
48
|
throw new Error('query must start with ?');
|
|
43
49
|
}
|
|
@@ -46,12 +52,12 @@ const handleFileSource = async (search, _, response) => {
|
|
|
46
52
|
if (typeof f !== 'string') {
|
|
47
53
|
throw new Error('must pass `f` parameter');
|
|
48
54
|
}
|
|
49
|
-
const data = await (0, get_file_source_1.getFileSource)(decodeURIComponent(f));
|
|
55
|
+
const data = await (0, get_file_source_1.getFileSource)(remotionRoot, decodeURIComponent(f));
|
|
50
56
|
response.writeHead(200);
|
|
51
57
|
response.write(data);
|
|
52
58
|
return response.end();
|
|
53
59
|
};
|
|
54
|
-
const handleOpenInEditor = async (req, res) => {
|
|
60
|
+
const handleOpenInEditor = async (remotionRoot, req, res) => {
|
|
55
61
|
try {
|
|
56
62
|
const b = await new Promise((_resolve) => {
|
|
57
63
|
let data = '';
|
|
@@ -71,7 +77,7 @@ const handleOpenInEditor = async (req, res) => {
|
|
|
71
77
|
const didOpen = await (0, open_in_editor_1.launchEditor)({
|
|
72
78
|
colNumber: stack.originalColumnNumber,
|
|
73
79
|
editor: guess[0],
|
|
74
|
-
fileName: path_1.default.resolve(
|
|
80
|
+
fileName: path_1.default.resolve(remotionRoot, stack.originalFileName),
|
|
75
81
|
lineNumber: stack.originalLineNumber,
|
|
76
82
|
vsCodeNewWindow: false,
|
|
77
83
|
});
|
|
@@ -99,19 +105,19 @@ const handleFavicon = (_, response) => {
|
|
|
99
105
|
const readStream = (0, fs_1.createReadStream)(filePath);
|
|
100
106
|
readStream.pipe(response);
|
|
101
107
|
};
|
|
102
|
-
const handleRoutes = ({ hash, hashPrefix, request, response, liveEventsServer, getCurrentInputProps, }) => {
|
|
108
|
+
const handleRoutes = ({ hash, hashPrefix, request, response, liveEventsServer, getCurrentInputProps, remotionRoot, }) => {
|
|
103
109
|
const url = new URL(request.url, 'http://localhost');
|
|
104
110
|
if (url.pathname === '/api/update') {
|
|
105
|
-
return handleUpdate(request, response);
|
|
111
|
+
return handleUpdate(remotionRoot, request, response);
|
|
106
112
|
}
|
|
107
113
|
if (url.pathname === '/api/project-info') {
|
|
108
|
-
return handleProjectInfo(request, response);
|
|
114
|
+
return handleProjectInfo(remotionRoot, request, response);
|
|
109
115
|
}
|
|
110
116
|
if (url.pathname === '/api/file-source') {
|
|
111
|
-
return handleFileSource(url.search, request, response);
|
|
117
|
+
return handleFileSource(remotionRoot, url.search, request, response);
|
|
112
118
|
}
|
|
113
119
|
if (url.pathname === '/api/open-in-editor') {
|
|
114
|
-
return handleOpenInEditor(request, response);
|
|
120
|
+
return handleOpenInEditor(remotionRoot, request, response);
|
|
115
121
|
}
|
|
116
122
|
if (url.pathname === '/remotion.png') {
|
|
117
123
|
return handleFavicon(request, response);
|
|
@@ -120,12 +126,17 @@ const handleRoutes = ({ hash, hashPrefix, request, response, liveEventsServer, g
|
|
|
120
126
|
return liveEventsServer.router(request, response);
|
|
121
127
|
}
|
|
122
128
|
if (url.pathname.startsWith(hash)) {
|
|
123
|
-
const root = path_1.default.join(
|
|
129
|
+
const root = path_1.default.join(remotionRoot, 'public');
|
|
124
130
|
return (0, serve_static_1.serveStatic)(root, hash, request, response);
|
|
125
131
|
}
|
|
126
132
|
if (url.pathname.startsWith(hashPrefix)) {
|
|
127
133
|
return static404(response);
|
|
128
134
|
}
|
|
129
|
-
return handleFallback(
|
|
135
|
+
return handleFallback({
|
|
136
|
+
remotionRoot,
|
|
137
|
+
hash,
|
|
138
|
+
response,
|
|
139
|
+
getCurrentInputProps,
|
|
140
|
+
});
|
|
130
141
|
};
|
|
131
142
|
exports.handleRoutes = handleRoutes;
|
|
@@ -6,6 +6,7 @@ export declare const startServer: (entry: string, userDefinedComponent: string,
|
|
|
6
6
|
envVariables?: Record<string, string>;
|
|
7
7
|
port: number | null;
|
|
8
8
|
maxTimelineTracks?: number;
|
|
9
|
+
remotionRoot: string;
|
|
9
10
|
}) => Promise<{
|
|
10
11
|
port: number;
|
|
11
12
|
liveEventsServer: LiveEventsServer;
|
|
@@ -11,7 +11,7 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
11
11
|
const http_1 = __importDefault(require("http"));
|
|
12
12
|
const os_1 = __importDefault(require("os"));
|
|
13
13
|
const path_1 = __importDefault(require("path"));
|
|
14
|
-
const
|
|
14
|
+
const config_1 = require("../config");
|
|
15
15
|
const dev_middleware_1 = require("./dev-middleware");
|
|
16
16
|
const hot_middleware_1 = require("./hot-middleware");
|
|
17
17
|
const live_events_1 = require("./live-events");
|
|
@@ -24,13 +24,14 @@ const startServer = async (entry, userDefinedComponent, options) => {
|
|
|
24
24
|
userDefinedComponent,
|
|
25
25
|
outDir: tmpDir,
|
|
26
26
|
environment: 'development',
|
|
27
|
-
webpackOverride: (_a = options === null || options === void 0 ? void 0 : options.webpackOverride) !== null && _a !== void 0 ? _a :
|
|
27
|
+
webpackOverride: (_a = options === null || options === void 0 ? void 0 : options.webpackOverride) !== null && _a !== void 0 ? _a : config_1.ConfigInternals.getWebpackOverrideFn(),
|
|
28
28
|
envVariables: (_b = options === null || options === void 0 ? void 0 : options.envVariables) !== null && _b !== void 0 ? _b : {},
|
|
29
29
|
maxTimelineTracks: (_c = options === null || options === void 0 ? void 0 : options.maxTimelineTracks) !== null && _c !== void 0 ? _c : 15,
|
|
30
30
|
entryPoints: [
|
|
31
31
|
require.resolve('./hot-middleware/client'),
|
|
32
32
|
require.resolve('./error-overlay/entry-basic.js'),
|
|
33
33
|
],
|
|
34
|
+
remotionRoot: options.remotionRoot,
|
|
34
35
|
});
|
|
35
36
|
const compiler = (0, bundler_1.webpack)(config);
|
|
36
37
|
const hashPrefix = '/static-';
|
|
@@ -59,6 +60,7 @@ const startServer = async (entry, userDefinedComponent, options) => {
|
|
|
59
60
|
response,
|
|
60
61
|
liveEventsServer,
|
|
61
62
|
getCurrentInputProps: options.getCurrentInputProps,
|
|
63
|
+
remotionRoot: options.remotionRoot,
|
|
62
64
|
});
|
|
63
65
|
})
|
|
64
66
|
.catch((err) => {
|
|
@@ -7,5 +7,5 @@ declare type Info = {
|
|
|
7
7
|
packageManager: PackageManager | 'unknown';
|
|
8
8
|
};
|
|
9
9
|
export declare const getRemotionVersion: () => any;
|
|
10
|
-
export declare const isUpdateAvailableWithTimeout: () => Promise<Info>;
|
|
10
|
+
export declare const isUpdateAvailableWithTimeout: (remotionRoot: string) => Promise<Info>;
|
|
11
11
|
export {};
|
|
@@ -7,9 +7,9 @@ exports.isUpdateAvailableWithTimeout = exports.getRemotionVersion = void 0;
|
|
|
7
7
|
const semver_1 = __importDefault(require("semver"));
|
|
8
8
|
const get_latest_remotion_version_1 = require("../get-latest-remotion-version");
|
|
9
9
|
const get_package_manager_1 = require("./get-package-manager");
|
|
10
|
-
const isUpdateAvailable = async (currentVersion) => {
|
|
10
|
+
const isUpdateAvailable = async ({ remotionRoot, currentVersion, }) => {
|
|
11
11
|
const latest = await (0, get_latest_remotion_version_1.getLatestRemotionVersion)();
|
|
12
|
-
const pkgManager = (0, get_package_manager_1.getPackageManager)();
|
|
12
|
+
const pkgManager = (0, get_package_manager_1.getPackageManager)(remotionRoot);
|
|
13
13
|
return {
|
|
14
14
|
updateAvailable: semver_1.default.lt(currentVersion, latest),
|
|
15
15
|
currentVersion,
|
|
@@ -25,10 +25,10 @@ const getRemotionVersion = () => {
|
|
|
25
25
|
return version;
|
|
26
26
|
};
|
|
27
27
|
exports.getRemotionVersion = getRemotionVersion;
|
|
28
|
-
const isUpdateAvailableWithTimeout = () => {
|
|
28
|
+
const isUpdateAvailableWithTimeout = (remotionRoot) => {
|
|
29
29
|
const version = (0, exports.getRemotionVersion)();
|
|
30
30
|
const threeSecTimeout = new Promise((resolve) => {
|
|
31
|
-
const pkgManager = (0, get_package_manager_1.getPackageManager)();
|
|
31
|
+
const pkgManager = (0, get_package_manager_1.getPackageManager)(remotionRoot);
|
|
32
32
|
setTimeout(() => {
|
|
33
33
|
resolve({
|
|
34
34
|
currentVersion: version,
|
|
@@ -39,6 +39,9 @@ const isUpdateAvailableWithTimeout = () => {
|
|
|
39
39
|
});
|
|
40
40
|
}, 3000);
|
|
41
41
|
});
|
|
42
|
-
return Promise.race([
|
|
42
|
+
return Promise.race([
|
|
43
|
+
threeSecTimeout,
|
|
44
|
+
isUpdateAvailable({ remotionRoot, currentVersion: version }),
|
|
45
|
+
]);
|
|
43
46
|
};
|
|
44
47
|
exports.isUpdateAvailableWithTimeout = isUpdateAvailableWithTimeout;
|
package/dist/preview.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const previewCommand: () => Promise<void>;
|
|
1
|
+
export declare const previewCommand: (remotionRoot: string) => Promise<void>;
|
package/dist/preview.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.previewCommand = void 0;
|
|
7
7
|
const better_opn_1 = __importDefault(require("better-opn"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const
|
|
9
|
+
const config_1 = require("./config");
|
|
10
10
|
const get_env_1 = require("./get-env");
|
|
11
11
|
const get_input_props_1 = require("./get-input-props");
|
|
12
12
|
const initialize_render_cli_1 = require("./initialize-render-cli");
|
|
@@ -30,7 +30,7 @@ const waitForLiveEventsListener = () => {
|
|
|
30
30
|
});
|
|
31
31
|
});
|
|
32
32
|
};
|
|
33
|
-
const previewCommand = async () => {
|
|
33
|
+
const previewCommand = async (remotionRoot) => {
|
|
34
34
|
const file = parse_command_line_1.parsedCli._[1];
|
|
35
35
|
if (!file) {
|
|
36
36
|
log_1.Log.error('The preview command requires you to specify a root file. For example');
|
|
@@ -40,7 +40,7 @@ const previewCommand = async () => {
|
|
|
40
40
|
}
|
|
41
41
|
const { port: desiredPort } = parse_command_line_1.parsedCli;
|
|
42
42
|
const fullPath = path_1.default.join(process.cwd(), file);
|
|
43
|
-
await (0, initialize_render_cli_1.initializeRenderCli)('preview');
|
|
43
|
+
await (0, initialize_render_cli_1.initializeRenderCli)(remotionRoot, 'preview');
|
|
44
44
|
let inputProps = (0, get_input_props_1.getInputProps)((newProps) => {
|
|
45
45
|
waitForLiveEventsListener().then((listener) => {
|
|
46
46
|
inputProps = newProps;
|
|
@@ -55,7 +55,8 @@ const previewCommand = async () => {
|
|
|
55
55
|
getCurrentInputProps: () => inputProps,
|
|
56
56
|
envVariables,
|
|
57
57
|
port: desiredPort,
|
|
58
|
-
maxTimelineTracks:
|
|
58
|
+
maxTimelineTracks: config_1.ConfigInternals.getMaxTimelineTracks(),
|
|
59
|
+
remotionRoot,
|
|
59
60
|
});
|
|
60
61
|
setLiveEventsListener(liveEventsServer);
|
|
61
62
|
(0, better_opn_1.default)(`http://localhost:${port}`);
|
package/dist/previewEntry.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
7
|
const client_1 = __importDefault(require("react-dom/client"));
|
|
8
|
+
// eslint-disable-next-line no-restricted-imports
|
|
8
9
|
const remotion_1 = require("remotion");
|
|
9
10
|
require("../styles/styles.css");
|
|
10
11
|
const Editor_1 = require("./editor/components/Editor");
|
package/dist/progress-bar.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { StitchingState } from '@remotion/renderer';
|
|
2
|
-
import type { Codec } from 'remotion';
|
|
1
|
+
import type { Codec, StitchingState } from '@remotion/renderer';
|
|
3
2
|
import type { RenderStep } from './step';
|
|
4
3
|
export declare const createProgressBar: (quiet: boolean) => {
|
|
5
4
|
update: (str: string) => boolean;
|
package/dist/progress-bar.js
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeRenderingAndStitchingProgress = exports.makeStitchingProgress = exports.makeRenderingProgress = exports.makeBundlingProgress = exports.createOverwriteableCliOutput = exports.createProgressBar = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
|
-
const remotion_1 = require("remotion");
|
|
6
5
|
const ansi_diff_1 = require("./ansi/ansi-diff");
|
|
7
6
|
const chalk_1 = require("./chalk");
|
|
7
|
+
const config_1 = require("./config");
|
|
8
8
|
const download_progress_1 = require("./download-progress");
|
|
9
9
|
const make_progress_bar_1 = require("./make-progress-bar");
|
|
10
|
+
const truthy_1 = require("./truthy");
|
|
10
11
|
const createProgressBar = (quiet) => {
|
|
11
|
-
if (!
|
|
12
|
+
if (!renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'info')) {
|
|
12
13
|
return { update: () => false };
|
|
13
14
|
}
|
|
14
15
|
return (0, exports.createOverwriteableCliOutput)(quiet);
|
|
@@ -41,7 +42,7 @@ const makeRenderingProgress = ({ frames, totalFrames, steps, concurrency, doneIn
|
|
|
41
42
|
`(${steps.indexOf('rendering') + 1}/${steps.length})`,
|
|
42
43
|
(0, make_progress_bar_1.makeProgressBar)(progress),
|
|
43
44
|
[doneIn ? 'Rendered' : 'Rendering', `frames (${concurrency}x)`]
|
|
44
|
-
.filter(
|
|
45
|
+
.filter(truthy_1.truthy)
|
|
45
46
|
.join(' '),
|
|
46
47
|
doneIn === null ? `${frames}/${totalFrames}` : chalk_1.chalk.gray(`${doneIn}ms`),
|
|
47
48
|
].join(' ');
|
|
@@ -65,7 +66,7 @@ const makeRenderingAndStitchingProgress = ({ rendering, stitching, downloads, })
|
|
|
65
66
|
(0, download_progress_1.makeMultiDownloadProgress)(downloads),
|
|
66
67
|
stitching === null ? null : (0, exports.makeStitchingProgress)(stitching),
|
|
67
68
|
]
|
|
68
|
-
.filter(
|
|
69
|
+
.filter(truthy_1.truthy)
|
|
69
70
|
.join('\n');
|
|
70
71
|
};
|
|
71
72
|
exports.makeRenderingAndStitchingProgress = makeRenderingAndStitchingProgress;
|
package/dist/render.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const render: () => Promise<void>;
|
|
1
|
+
export declare const render: (remotionRoot: string) => Promise<void>;
|
package/dist/render.js
CHANGED
|
@@ -8,8 +8,10 @@ const renderer_1 = require("@remotion/renderer");
|
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const os_1 = __importDefault(require("os"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
+
// eslint-disable-next-line no-restricted-imports
|
|
11
12
|
const remotion_1 = require("remotion");
|
|
12
13
|
const chalk_1 = require("./chalk");
|
|
14
|
+
const config_1 = require("./config");
|
|
13
15
|
const get_cli_options_1 = require("./get-cli-options");
|
|
14
16
|
const get_composition_id_1 = require("./get-composition-id");
|
|
15
17
|
const get_filename_1 = require("./get-filename");
|
|
@@ -19,7 +21,7 @@ const parse_command_line_1 = require("./parse-command-line");
|
|
|
19
21
|
const progress_bar_1 = require("./progress-bar");
|
|
20
22
|
const setup_cache_1 = require("./setup-cache");
|
|
21
23
|
const validate_ffmpeg_version_1 = require("./validate-ffmpeg-version");
|
|
22
|
-
const render = async () => {
|
|
24
|
+
const render = async (remotionRoot) => {
|
|
23
25
|
const startTime = Date.now();
|
|
24
26
|
const file = parse_command_line_1.parsedCli._[1];
|
|
25
27
|
if (!file) {
|
|
@@ -31,7 +33,8 @@ const render = async () => {
|
|
|
31
33
|
const fullPath = renderer_1.RenderInternals.isServeUrl(file)
|
|
32
34
|
? file
|
|
33
35
|
: path_1.default.join(process.cwd(), file);
|
|
34
|
-
|
|
36
|
+
const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
|
|
37
|
+
await (0, initialize_render_cli_1.initializeRenderCli)(remotionRoot, 'sequence');
|
|
35
38
|
const { codec, proResProfile, parallelism, frameRange, shouldOutputImageSequence, overwrite, inputProps, envVariables, quality, browser, crf, pixelFormat, imageFormat, browserExecutable, ffmpegExecutable, ffprobeExecutable, scale, chromiumOptions, port, numberOfGifLoops, everyNthFrame, puppeteerTimeout, } = await (0, get_cli_options_1.getCliOptions)({
|
|
36
39
|
isLambda: false,
|
|
37
40
|
type: 'series',
|
|
@@ -51,7 +54,7 @@ const render = async () => {
|
|
|
51
54
|
});
|
|
52
55
|
const browserInstance = (0, renderer_1.openBrowser)(browser, {
|
|
53
56
|
browserExecutable,
|
|
54
|
-
shouldDumpIo:
|
|
57
|
+
shouldDumpIo: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
|
|
55
58
|
chromiumOptions,
|
|
56
59
|
forceDeviceScaleFactor: scale,
|
|
57
60
|
});
|
|
@@ -62,7 +65,7 @@ const render = async () => {
|
|
|
62
65
|
].filter(remotion_1.Internals.truthy);
|
|
63
66
|
const urlOrBundle = renderer_1.RenderInternals.isServeUrl(fullPath)
|
|
64
67
|
? fullPath
|
|
65
|
-
: await (0, setup_cache_1.bundleOnCli)({ fullPath, steps });
|
|
68
|
+
: await (0, setup_cache_1.bundleOnCli)({ fullPath, remotionRoot, steps });
|
|
66
69
|
const onDownload = (src) => {
|
|
67
70
|
const id = Math.random();
|
|
68
71
|
const download = {
|
|
@@ -86,9 +89,10 @@ const render = async () => {
|
|
|
86
89
|
inputProps,
|
|
87
90
|
puppeteerInstance,
|
|
88
91
|
envVariables,
|
|
89
|
-
timeoutInMilliseconds:
|
|
92
|
+
timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
|
|
90
93
|
chromiumOptions,
|
|
91
94
|
browserExecutable,
|
|
95
|
+
downloadMap,
|
|
92
96
|
});
|
|
93
97
|
const config = comps.find((c) => c.id === compositionId);
|
|
94
98
|
if (!config) {
|
|
@@ -166,7 +170,7 @@ const render = async () => {
|
|
|
166
170
|
},
|
|
167
171
|
outputDir,
|
|
168
172
|
serveUrl: urlOrBundle,
|
|
169
|
-
dumpBrowserLogs:
|
|
173
|
+
dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
|
|
170
174
|
everyNthFrame,
|
|
171
175
|
envVariables,
|
|
172
176
|
frameRange,
|
|
@@ -180,6 +184,7 @@ const render = async () => {
|
|
|
180
184
|
ffprobeExecutable,
|
|
181
185
|
browserExecutable,
|
|
182
186
|
port,
|
|
187
|
+
downloadMap,
|
|
183
188
|
});
|
|
184
189
|
renderedDoneIn = Date.now() - startTime;
|
|
185
190
|
updateRenderProgress();
|
|
@@ -215,13 +220,15 @@ const render = async () => {
|
|
|
215
220
|
quality,
|
|
216
221
|
serveUrl: urlOrBundle,
|
|
217
222
|
onDownload,
|
|
218
|
-
dumpBrowserLogs:
|
|
223
|
+
dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
|
|
219
224
|
chromiumOptions,
|
|
220
|
-
timeoutInMilliseconds:
|
|
225
|
+
timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
|
|
221
226
|
scale,
|
|
222
227
|
port,
|
|
223
228
|
numberOfGifLoops,
|
|
224
229
|
everyNthFrame,
|
|
230
|
+
verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
|
|
231
|
+
downloadMap,
|
|
225
232
|
});
|
|
226
233
|
log_1.Log.info();
|
|
227
234
|
log_1.Log.info();
|
|
@@ -243,8 +250,8 @@ const render = async () => {
|
|
|
243
250
|
log_1.Log.warn('Do you have minimum required Node.js version?');
|
|
244
251
|
}
|
|
245
252
|
log_1.Log.info(chalk_1.chalk.green(`\nYour ${codec === 'gif' ? 'GIF' : 'video'} is ready!`));
|
|
246
|
-
if (
|
|
247
|
-
|
|
253
|
+
if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose')) {
|
|
254
|
+
renderer_1.RenderInternals.perf.logPerf();
|
|
248
255
|
}
|
|
249
256
|
};
|
|
250
257
|
exports.render = render;
|