@remotion/renderer 4.0.226 → 4.0.227
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/assets/download-and-map-assets-to-file.js +0 -2
- package/dist/browser-instances.js +1 -1
- package/dist/combine-audio.js +1 -1
- package/dist/compositor/compose.js +1 -1
- package/dist/compositor/compositor.js +1 -1
- package/dist/delete-directory.js +1 -1
- package/dist/error-handling/handle-javascript-exception.js +1 -0
- package/dist/get-browser-instance.js +3 -2
- package/dist/get-cpu-count.js +1 -1
- package/dist/get-local-browser-executable.d.ts +6 -1
- package/dist/get-local-browser-executable.js +9 -4
- package/dist/get-port.js +1 -0
- package/dist/logger.js +1 -0
- package/dist/open-browser.js +5 -1
- package/dist/options/audio-codec.d.ts +1 -1
- package/dist/options/audio-codec.js +1 -0
- package/dist/path-normalize.js +1 -1
- package/dist/puppeteer-evaluate.js +2 -3
- package/dist/render-media.js +6 -6
- package/dist/render-still.js +6 -5
- package/dist/serve-handler/index.js +2 -2
- package/eslint.config.mjs +34 -0
- package/package.json +15 -14
- package/Cargo.lock +0 -952
- package/Cargo.toml +0 -26
- package/build.ts +0 -311
- package/dist/browser/BrowserConnector.d.ts +0 -19
- package/dist/browser/BrowserConnector.js +0 -17
- package/dist/browser/PuppeteerNode.d.ts +0 -30
- package/dist/browser/PuppeteerNode.js +0 -52
- package/dist/browser/node.d.ts +0 -2
- package/dist/browser/node.js +0 -5
- package/dist/copy-to-clipboard.d.ts +0 -2
- package/dist/copy-to-clipboard.js +0 -18
|
@@ -125,12 +125,10 @@ const downloadAsset = async ({ src, downloadMap, indent, logLevel, shouldAnalyze
|
|
|
125
125
|
if (node_fs_1.default.existsSync(claimedDownloadLocation)) {
|
|
126
126
|
return claimedDownloadLocation;
|
|
127
127
|
}
|
|
128
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
129
128
|
downloadMap.hasBeenDownloadedMap[src][downloadDir] = null;
|
|
130
129
|
if (!downloadMap.isDownloadingMap[src]) {
|
|
131
130
|
downloadMap.isDownloadingMap[src] = {};
|
|
132
131
|
}
|
|
133
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
134
132
|
downloadMap.isDownloadingMap[src][downloadDir] = false;
|
|
135
133
|
}
|
|
136
134
|
if ((_c = downloadMap.isDownloadingMap[src]) === null || _c === void 0 ? void 0 : _c[downloadDir]) {
|
package/dist/combine-audio.js
CHANGED
|
@@ -145,7 +145,7 @@ const combineAudioSeamlessly = async ({ files, filelistDir, indent, logLevel, ou
|
|
|
145
145
|
}
|
|
146
146
|
catch (e) {
|
|
147
147
|
(0, fs_1.rmSync)(fileListTxt, { recursive: true });
|
|
148
|
-
|
|
148
|
+
logger_1.Log.error({ indent, logLevel }, e);
|
|
149
149
|
throw e;
|
|
150
150
|
}
|
|
151
151
|
};
|
|
@@ -78,7 +78,7 @@ const callCompositor = (payload, indent, logLevel, binariesDirectory) => {
|
|
|
78
78
|
const err = new Error(`${msg}\n${parsed.backtrace}`);
|
|
79
79
|
reject(err);
|
|
80
80
|
}
|
|
81
|
-
catch (
|
|
81
|
+
catch (_a) {
|
|
82
82
|
reject(new Error(`Compositor panicked with code ${code}: ${message}`));
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -62,7 +62,7 @@ const startCompositor = ({ type, payload, logLevel, indent, binariesDirectory =
|
|
|
62
62
|
const parsed = JSON.parse(new TextDecoder('utf8').decode(data));
|
|
63
63
|
waiters.get(nonce).reject(new Error(`Compositor error: ${parsed.error}\n${parsed.backtrace}`));
|
|
64
64
|
}
|
|
65
|
-
catch (
|
|
65
|
+
catch (_a) {
|
|
66
66
|
waiters.get(nonce).reject(new Error(new TextDecoder('utf8').decode(data)));
|
|
67
67
|
}
|
|
68
68
|
}
|
package/dist/delete-directory.js
CHANGED
|
@@ -53,6 +53,7 @@ const handleJavascriptException = ({ page, onError, frame, }) => {
|
|
|
53
53
|
const rawErrorMessage = (_a = exception.exceptionDetails.exception) === null || _a === void 0 ? void 0 : _a.description;
|
|
54
54
|
const cleanErrorMessage = cleanUpErrorMessage(exception);
|
|
55
55
|
if (!cleanErrorMessage) {
|
|
56
|
+
// eslint-disable-next-line no-console
|
|
56
57
|
console.error(exception);
|
|
57
58
|
const err = new Error(rawErrorMessage);
|
|
58
59
|
err.stack = rawErrorMessage;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getPageAndCleanupFn = void 0;
|
|
4
4
|
const browser_1 = require("./browser");
|
|
5
|
+
const logger_1 = require("./logger");
|
|
5
6
|
const open_browser_1 = require("./open-browser");
|
|
6
7
|
const getPageAndCleanupFn = async ({ passedInInstance, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, logLevel, onBrowserDownload, }) => {
|
|
7
8
|
if (passedInInstance) {
|
|
@@ -13,7 +14,7 @@ const getPageAndCleanupFn = async ({ passedInInstance, browserExecutable, chromi
|
|
|
13
14
|
// Keep browser open.
|
|
14
15
|
page.close().catch((err) => {
|
|
15
16
|
if (!err.message.includes('Target closed')) {
|
|
16
|
-
|
|
17
|
+
logger_1.Log.error({ indent, logLevel }, 'Was not able to close puppeteer page', err);
|
|
17
18
|
}
|
|
18
19
|
});
|
|
19
20
|
return Promise.resolve();
|
|
@@ -37,7 +38,7 @@ const getPageAndCleanupFn = async ({ passedInInstance, browserExecutable, chromi
|
|
|
37
38
|
// Close whole browser that was just created and don't wait for it to finish.
|
|
38
39
|
browserInstance.close(true, logLevel, indent).catch((err) => {
|
|
39
40
|
if (!err.message.includes('Target closed')) {
|
|
40
|
-
|
|
41
|
+
logger_1.Log.error({ indent, logLevel }, 'Was not able to close puppeteer page', err);
|
|
41
42
|
}
|
|
42
43
|
});
|
|
43
44
|
return Promise.resolve();
|
package/dist/get-cpu-count.js
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
import type { BrowserExecutable } from './browser-executable';
|
|
2
|
-
|
|
2
|
+
import type { LogLevel } from './log-level';
|
|
3
|
+
export declare const getLocalBrowserExecutable: ({ preferredBrowserExecutable, logLevel, indent, }: {
|
|
4
|
+
preferredBrowserExecutable: BrowserExecutable;
|
|
5
|
+
logLevel: LogLevel;
|
|
6
|
+
indent: boolean;
|
|
7
|
+
}) => string;
|
|
@@ -7,10 +7,11 @@ exports.getLocalBrowserExecutable = void 0;
|
|
|
7
7
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
8
|
const BrowserFetcher_1 = require("./browser/BrowserFetcher");
|
|
9
9
|
const get_local_browser_1 = require("./get-local-browser");
|
|
10
|
-
const
|
|
10
|
+
const logger_1 = require("./logger");
|
|
11
|
+
const getBrowserStatus = ({ browserExecutablePath, indent, logLevel, }) => {
|
|
11
12
|
if (browserExecutablePath) {
|
|
12
13
|
if (!node_fs_1.default.existsSync(browserExecutablePath)) {
|
|
13
|
-
|
|
14
|
+
logger_1.Log.warn({ indent, logLevel }, `Browser executable was specified as '${browserExecutablePath}' but the path doesn't exist.`);
|
|
14
15
|
}
|
|
15
16
|
return { path: browserExecutablePath, type: 'user-defined-path' };
|
|
16
17
|
}
|
|
@@ -24,8 +25,12 @@ const getBrowserStatus = (browserExecutablePath) => {
|
|
|
24
25
|
}
|
|
25
26
|
return { type: 'no-browser' };
|
|
26
27
|
};
|
|
27
|
-
const getLocalBrowserExecutable = (preferredBrowserExecutable) => {
|
|
28
|
-
const status = getBrowserStatus(
|
|
28
|
+
const getLocalBrowserExecutable = ({ preferredBrowserExecutable, logLevel, indent, }) => {
|
|
29
|
+
const status = getBrowserStatus({
|
|
30
|
+
browserExecutablePath: preferredBrowserExecutable,
|
|
31
|
+
indent,
|
|
32
|
+
logLevel,
|
|
33
|
+
});
|
|
29
34
|
if (status.type === 'no-browser') {
|
|
30
35
|
throw new TypeError('No browser found for rendering frames! Please open a GitHub issue and describe ' +
|
|
31
36
|
'how you reached this error: https://remotion.dev/issue');
|
package/dist/get-port.js
CHANGED
|
@@ -61,6 +61,7 @@ const getDesiredPort = async ({ desiredPort, from, hostsToTry, to, }) => {
|
|
|
61
61
|
const actualPort = await getPort({ from, to, hostsToTest: hostsToTry });
|
|
62
62
|
// If did specify a port but did not get that one, fail hard.
|
|
63
63
|
if (desiredPort && desiredPort !== actualPort) {
|
|
64
|
+
unlockPort();
|
|
64
65
|
throw new Error(`You specified port ${desiredPort} to be used for the HTTP server, but it is not available. Choose a different port or remove the setting to let Remotion automatically select a free port.`);
|
|
65
66
|
}
|
|
66
67
|
return { port: actualPort, unlockPort };
|
package/dist/logger.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Log = exports.secondverboseTag = exports.verboseTag = exports.INDENT_TOKEN = void 0;
|
|
4
|
+
/* eslint-disable no-console */
|
|
4
5
|
const chalk_1 = require("./chalk");
|
|
5
6
|
const is_color_supported_1 = require("./chalk/is-color-supported");
|
|
6
7
|
const log_level_1 = require("./log-level");
|
package/dist/open-browser.js
CHANGED
|
@@ -60,7 +60,11 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
60
60
|
indent,
|
|
61
61
|
onBrowserDownload,
|
|
62
62
|
});
|
|
63
|
-
const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(
|
|
63
|
+
const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)({
|
|
64
|
+
preferredBrowserExecutable: browserExecutable,
|
|
65
|
+
logLevel,
|
|
66
|
+
indent,
|
|
67
|
+
});
|
|
64
68
|
const customGlRenderer = getOpenGlRenderer((_a = chromiumOptions.gl) !== null && _a !== void 0 ? _a : null);
|
|
65
69
|
const enableMultiProcessOnLinux = (_b = chromiumOptions.enableMultiProcessOnLinux) !== null && _b !== void 0 ? _b : true;
|
|
66
70
|
logger_1.Log.verbose({ indent, logLevel, tag: 'openBrowser()' }, `Opening browser: gl = ${chromiumOptions.gl}, executable = ${executablePath}, enableMultiProcessOnLinux = ${enableMultiProcessOnLinux}`);
|
|
@@ -20,7 +20,7 @@ type FfmpegAudioCodecName = (typeof audioCodecNames)[number];
|
|
|
20
20
|
export declare const mapAudioCodecToFfmpegAudioCodecName: (audioCodec: AudioCodec) => FfmpegAudioCodecName;
|
|
21
21
|
export declare const defaultAudioCodecs: {
|
|
22
22
|
[key in Codec]: {
|
|
23
|
-
[
|
|
23
|
+
[_ in 'compressed' | 'lossless']: (typeof supportedAudioCodecs)[key][number] | null;
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
export declare const getExtensionFromAudioCodec: (audioCodec: AudioCodec) => "mp3" | "aac" | "wav" | "opus";
|
package/dist/path-normalize.js
CHANGED
|
@@ -11,7 +11,7 @@ The above copyright notice and this permission notice shall be included in all c
|
|
|
11
11
|
|
|
12
12
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
13
13
|
*/
|
|
14
|
-
/* eslint-disable max-depth
|
|
14
|
+
/* eslint-disable max-depth */
|
|
15
15
|
const SLASH = 47;
|
|
16
16
|
const DOT = 46;
|
|
17
17
|
const assertPath = (path) => {
|
|
@@ -63,7 +63,7 @@ async function puppeteerEvaluateWithCatch({ page, pageFunction, frame, args, })
|
|
|
63
63
|
// eslint-disable-next-line no-new-func
|
|
64
64
|
new Function('(' + functionText + ')');
|
|
65
65
|
}
|
|
66
|
-
catch (
|
|
66
|
+
catch (_g) {
|
|
67
67
|
// This means we might have a function shorthand. Try another
|
|
68
68
|
// time prefixing 'function '.
|
|
69
69
|
if (functionText.startsWith('async '))
|
|
@@ -75,7 +75,7 @@ async function puppeteerEvaluateWithCatch({ page, pageFunction, frame, args, })
|
|
|
75
75
|
// eslint-disable-next-line no-new-func
|
|
76
76
|
new Function('(' + functionText + ')');
|
|
77
77
|
}
|
|
78
|
-
catch (
|
|
78
|
+
catch (_h) {
|
|
79
79
|
// We tried hard to serialize, but there's a weird beast here.
|
|
80
80
|
throw new Error('Passed function is not well-serializable!');
|
|
81
81
|
}
|
|
@@ -137,7 +137,6 @@ function convertArgument(arg) {
|
|
|
137
137
|
return { value: arg };
|
|
138
138
|
}
|
|
139
139
|
if (typeof arg === 'bigint')
|
|
140
|
-
// eslint-disable-line valid-typeof
|
|
141
140
|
return { unserializableValue: `${arg.toString()}n` };
|
|
142
141
|
if (Object.is(arg, -0))
|
|
143
142
|
return { unserializableValue: '-0' };
|
package/dist/render-media.js
CHANGED
|
@@ -240,7 +240,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
240
240
|
try {
|
|
241
241
|
await stitcherFfmpeg;
|
|
242
242
|
}
|
|
243
|
-
catch (
|
|
243
|
+
catch (_b) {
|
|
244
244
|
throw new Error(preStitcher === null || preStitcher === void 0 ? void 0 : preStitcher.getLogs());
|
|
245
245
|
}
|
|
246
246
|
}
|
|
@@ -466,7 +466,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
466
466
|
try {
|
|
467
467
|
stitcherFfmpeg.kill();
|
|
468
468
|
}
|
|
469
|
-
catch (
|
|
469
|
+
catch (_a) {
|
|
470
470
|
// Ignore
|
|
471
471
|
}
|
|
472
472
|
return promise.then(() => {
|
|
@@ -487,7 +487,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
487
487
|
cleanupServerFn === null || cleanupServerFn === void 0 ? void 0 : cleanupServerFn(false).catch((err) => {
|
|
488
488
|
// Must prevent unhandled exception in cleanup function.
|
|
489
489
|
// Might crash whole runtime.
|
|
490
|
-
|
|
490
|
+
logger_1.Log.error({ indent, logLevel }, 'Could not cleanup: ', err);
|
|
491
491
|
});
|
|
492
492
|
});
|
|
493
493
|
});
|
|
@@ -507,11 +507,11 @@ exports.internalRenderMedia = (0, wrap_with_error_handling_1.wrapWithErrorHandli
|
|
|
507
507
|
*/
|
|
508
508
|
const renderMedia = ({ proResProfile, x264Preset, crf, composition, inputProps, pixelFormat, codec, envVariables, frameRange, puppeteerInstance, outputLocation, onProgress, overwrite, onDownload, onBrowserLog, onStart, timeoutInMilliseconds, chromiumOptions, scale, browserExecutable, port, cancelSignal, muted, enforceAudioTrack, ffmpegOverride, audioBitrate, videoBitrate, encodingMaxRate, encodingBufferSize, audioCodec, jpegQuality, concurrency, serveUrl, disallowParallelEncoding, everyNthFrame, imageFormat, numberOfGifLoops, dumpBrowserLogs, preferLossless, verbose, quality, logLevel: passedLogLevel, offthreadVideoCacheSizeInBytes, colorSpace, repro, binariesDirectory, separateAudioTo, forSeamlessAacConcatenation, onBrowserDownload, onArtifact, metadata, }) => {
|
|
509
509
|
var _a, _b;
|
|
510
|
-
if (quality !== undefined) {
|
|
511
|
-
console.warn(`The "quality" option has been renamed. Please use "jpegQuality" instead.`);
|
|
512
|
-
}
|
|
513
510
|
const indent = false;
|
|
514
511
|
const logLevel = verbose || dumpBrowserLogs ? 'verbose' : (passedLogLevel !== null && passedLogLevel !== void 0 ? passedLogLevel : 'info');
|
|
512
|
+
if (quality !== undefined) {
|
|
513
|
+
logger_1.Log.warn({ indent, logLevel }, `The "quality" option has been renamed. Please use "jpegQuality" instead.`);
|
|
514
|
+
}
|
|
515
515
|
return (0, exports.internalRenderMedia)({
|
|
516
516
|
proResProfile: proResProfile !== null && proResProfile !== void 0 ? proResProfile : undefined,
|
|
517
517
|
x264Preset: x264Preset !== null && x264Preset !== void 0 ? x264Preset : null,
|
package/dist/render-still.js
CHANGED
|
@@ -40,6 +40,7 @@ const filter_asset_types_1 = require("./filter-asset-types");
|
|
|
40
40
|
const find_closest_package_json_1 = require("./find-closest-package-json");
|
|
41
41
|
const image_format_1 = require("./image-format");
|
|
42
42
|
const jpeg_quality_1 = require("./jpeg-quality");
|
|
43
|
+
const logger_1 = require("./logger");
|
|
43
44
|
const make_cancel_signal_1 = require("./make-cancel-signal");
|
|
44
45
|
const open_browser_1 = require("./open-browser");
|
|
45
46
|
const overwrite_1 = require("./overwrite");
|
|
@@ -127,7 +128,7 @@ const innerRenderStill = async ({ composition, imageFormat = image_format_1.DEFA
|
|
|
127
128
|
}
|
|
128
129
|
else {
|
|
129
130
|
browserInstance.close(true, logLevel, indent).catch((err) => {
|
|
130
|
-
|
|
131
|
+
logger_1.Log.error({ indent, logLevel }, 'Unable to close browser', err);
|
|
131
132
|
});
|
|
132
133
|
}
|
|
133
134
|
};
|
|
@@ -251,7 +252,7 @@ const internalRenderStillRaw = (options) => {
|
|
|
251
252
|
.finally(() => {
|
|
252
253
|
cleanup.forEach((c) => {
|
|
253
254
|
c().catch((err) => {
|
|
254
|
-
|
|
255
|
+
logger_1.Log.error(options, 'Cleanup error:', err);
|
|
255
256
|
});
|
|
256
257
|
});
|
|
257
258
|
});
|
|
@@ -279,11 +280,11 @@ const renderStill = (options) => {
|
|
|
279
280
|
if (typeof jpegQuality !== 'undefined' && imageFormat !== 'jpeg') {
|
|
280
281
|
throw new Error("You can only pass the `quality` option if `imageFormat` is 'jpeg'.");
|
|
281
282
|
}
|
|
283
|
+
const indent = false;
|
|
284
|
+
const logLevel = passedLogLevel !== null && passedLogLevel !== void 0 ? passedLogLevel : (verbose || dumpBrowserLogs ? 'verbose' : 'info');
|
|
282
285
|
if (quality) {
|
|
283
|
-
|
|
286
|
+
logger_1.Log.warn({ indent, logLevel }, 'Passing `quality()` to `renderStill` is deprecated. Use `jpegQuality` instead.');
|
|
284
287
|
}
|
|
285
|
-
const logLevel = passedLogLevel !== null && passedLogLevel !== void 0 ? passedLogLevel : (verbose || dumpBrowserLogs ? 'verbose' : 'info');
|
|
286
|
-
const indent = false;
|
|
287
288
|
return (0, exports.internalRenderStill)({
|
|
288
289
|
composition,
|
|
289
290
|
browserExecutable: browserExecutable !== null && browserExecutable !== void 0 ? browserExecutable : null,
|
|
@@ -80,7 +80,7 @@ const serveHandler = async (request, response, config) => {
|
|
|
80
80
|
try {
|
|
81
81
|
relativePath = decodeURIComponent(node_url_1.default.parse(request.url).pathname);
|
|
82
82
|
}
|
|
83
|
-
catch (
|
|
83
|
+
catch (_a) {
|
|
84
84
|
return sendError('/', response, {
|
|
85
85
|
statusCode: 400,
|
|
86
86
|
code: 'bad_request',
|
|
@@ -192,7 +192,7 @@ const serveHandler = async (request, response, config) => {
|
|
|
192
192
|
try {
|
|
193
193
|
stream = (0, node_fs_1.createReadStream)(absolutePath, streamOpts !== null && streamOpts !== void 0 ? streamOpts : {});
|
|
194
194
|
}
|
|
195
|
-
catch (
|
|
195
|
+
catch (_b) {
|
|
196
196
|
return internalError(absolutePath, response);
|
|
197
197
|
}
|
|
198
198
|
const headers = getHeaders(absolutePath, stats);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {remotionFlatConfig} from '@remotion/eslint-config-internal';
|
|
2
|
+
|
|
3
|
+
const config = remotionFlatConfig({react: false});
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
{
|
|
7
|
+
...config,
|
|
8
|
+
rules: {
|
|
9
|
+
...config.rules,
|
|
10
|
+
'@typescript-eslint/no-use-before-define': 'off',
|
|
11
|
+
'no-restricted-imports': [
|
|
12
|
+
'error',
|
|
13
|
+
{
|
|
14
|
+
patterns: ['@remotion/*/src/*', 'remotion/src/*'],
|
|
15
|
+
paths: ['remotion', 'react', 'react-dom'],
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
ignores: ['src/browser/**'],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
...config,
|
|
23
|
+
files: ['src/test/**'],
|
|
24
|
+
rules: {
|
|
25
|
+
...config.rules,
|
|
26
|
+
'no-restricted-imports': [
|
|
27
|
+
'error',
|
|
28
|
+
{
|
|
29
|
+
patterns: ['@remotion/*/src/*', 'remotion/src/*'],
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
];
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/renderer"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/renderer",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.227",
|
|
7
7
|
"description": "Render Remotion videos using Node.js or Bun",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"extract-zip": "2.0.1",
|
|
19
19
|
"source-map": "^0.8.0-beta.0",
|
|
20
20
|
"ws": "8.17.1",
|
|
21
|
-
"remotion": "4.0.
|
|
22
|
-
"@remotion/streaming": "4.0.
|
|
21
|
+
"remotion": "4.0.227",
|
|
22
|
+
"@remotion/streaming": "4.0.227"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": ">=16.8.0",
|
|
@@ -31,16 +31,18 @@
|
|
|
31
31
|
"@happy-dom/global-registrator": "14.5.1",
|
|
32
32
|
"react": "18.3.1",
|
|
33
33
|
"react-dom": "18.3.1",
|
|
34
|
-
"@types/ws": "8.5.10"
|
|
34
|
+
"@types/ws": "8.5.10",
|
|
35
|
+
"eslint": "9.14.0",
|
|
36
|
+
"@remotion/eslint-config-internal": "4.0.227"
|
|
35
37
|
},
|
|
36
38
|
"optionalDependencies": {
|
|
37
|
-
"@remotion/compositor-darwin-
|
|
38
|
-
"@remotion/compositor-darwin-
|
|
39
|
-
"@remotion/compositor-linux-arm64-gnu": "4.0.
|
|
40
|
-
"@remotion/compositor-linux-x64-gnu": "4.0.
|
|
41
|
-
"@remotion/compositor-
|
|
42
|
-
"@remotion/compositor-
|
|
43
|
-
"@remotion/compositor-linux-
|
|
39
|
+
"@remotion/compositor-darwin-x64": "4.0.227",
|
|
40
|
+
"@remotion/compositor-darwin-arm64": "4.0.227",
|
|
41
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.227",
|
|
42
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.227",
|
|
43
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.227",
|
|
44
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.227",
|
|
45
|
+
"@remotion/compositor-linux-x64-musl": "4.0.227"
|
|
44
46
|
},
|
|
45
47
|
"keywords": [
|
|
46
48
|
"remotion",
|
|
@@ -55,9 +57,8 @@
|
|
|
55
57
|
"homepage": "https://www.remotion.dev/docs/renderer",
|
|
56
58
|
"scripts": {
|
|
57
59
|
"formatting": "prettier src --check",
|
|
58
|
-
"lint": "eslint src
|
|
60
|
+
"lint": "eslint src",
|
|
59
61
|
"test": "bun test src",
|
|
60
|
-
"make": "
|
|
61
|
-
"build-all": "bun build.ts --all"
|
|
62
|
+
"make": "tsc -d"
|
|
62
63
|
}
|
|
63
64
|
}
|