@remotion/studio-server 4.0.501 → 4.0.503
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/codemods/update-inline-caption-patches.d.ts +1 -11
- package/dist/codemods/update-inline-caption-patches.js +2 -183
- package/dist/codemods/update-sequence-props/update-sequence-props.d.ts +2 -35
- package/dist/codemods/update-sequence-props/update-sequence-props.js +7 -720
- package/dist/detect-outdated-remotion-skills.d.ts +25 -0
- package/dist/detect-outdated-remotion-skills.js +73 -0
- package/dist/helpers/custom-editor.d.ts +37 -0
- package/dist/helpers/custom-editor.js +167 -0
- package/dist/helpers/editor-registry.d.ts +18 -0
- package/dist/helpers/editor-registry.js +500 -0
- package/dist/helpers/open-in-editor.d.ts +3 -4
- package/dist/helpers/open-in-editor.js +5 -75
- package/dist/helpers/resolve-composition-component.js +18 -6
- package/dist/helpers/resolve-editor.d.ts +27 -0
- package/dist/helpers/resolve-editor.js +90 -0
- package/dist/helpers/resolve-file-inside-project.d.ts +2 -0
- package/dist/helpers/resolve-file-inside-project.js +5 -2
- package/dist/index.d.ts +17 -1
- package/dist/index.js +9 -1
- package/dist/preview-server/api-routes.js +6 -1
- package/dist/preview-server/api-types.d.ts +2 -1
- package/dist/preview-server/element-install-state.d.ts +19 -0
- package/dist/preview-server/element-install-state.js +46 -1
- package/dist/preview-server/handler.d.ts +3 -1
- package/dist/preview-server/handler.js +3 -2
- package/dist/preview-server/parse-body.d.ts +6 -1
- package/dist/preview-server/parse-body.js +60 -9
- package/dist/preview-server/routes/can-update-default-props.d.ts +1 -1
- package/dist/preview-server/routes/can-update-default-props.js +5 -132
- package/dist/preview-server/routes/can-update-sequence-props.d.ts +3 -2
- package/dist/preview-server/routes/can-update-sequence-props.js +52 -9
- package/dist/preview-server/routes/default-editor.d.ts +8 -0
- package/dist/preview-server/routes/default-editor.js +131 -0
- package/dist/preview-server/routes/delete-effect-keyframe.d.ts +3 -0
- package/dist/preview-server/routes/delete-effect-keyframe.js +89 -0
- package/dist/preview-server/routes/delete-sequence-keyframe.d.ts +3 -0
- package/dist/preview-server/routes/delete-sequence-keyframe.js +82 -0
- package/dist/preview-server/routes/element-install-plan.d.ts +32 -0
- package/dist/preview-server/routes/element-install-plan.js +122 -0
- package/dist/preview-server/routes/insert-element.d.ts +1 -1
- package/dist/preview-server/routes/insert-element.js +68 -107
- package/dist/preview-server/routes/insert-jsx-element.js +5 -5
- package/dist/preview-server/routes/open-in-editor.d.ts +5 -1
- package/dist/preview-server/routes/open-in-editor.js +42 -12
- package/dist/preview-server/routes/prepare-element-install.d.ts +3 -0
- package/dist/preview-server/routes/prepare-element-install.js +25 -0
- package/dist/preview-server/routes/safe-element-install-path.d.ts +9 -0
- package/dist/preview-server/routes/safe-element-install-path.js +58 -0
- package/dist/preview-server/routes/save-props-mutex.d.ts +1 -0
- package/dist/preview-server/routes/save-props-mutex.js +11 -0
- package/dist/preview-server/sequence-props-watchers.js +2 -1
- package/dist/preview-server/start-server.d.ts +2 -0
- package/dist/preview-server/start-server.js +1 -0
- package/dist/preview-server/studio-protocol/handle-discovery.d.ts +11 -0
- package/dist/preview-server/studio-protocol/handle-discovery.js +106 -0
- package/dist/preview-server/studio-protocol/handle-install.d.ts +10 -0
- package/dist/preview-server/studio-protocol/handle-install.js +147 -0
- package/dist/preview-server/studio-protocol/origin-policy.d.ts +11 -0
- package/dist/preview-server/studio-protocol/origin-policy.js +43 -0
- package/dist/preview-server/studio-protocol/protocol-response.d.ts +7 -0
- package/dist/preview-server/studio-protocol/protocol-response.js +13 -0
- package/dist/preview-server/update-available.d.ts +6 -0
- package/dist/preview-server/update-available.js +30 -4
- package/dist/remotion-skill-names.d.ts +2 -0
- package/dist/remotion-skill-names.js +16 -0
- package/dist/routes.d.ts +3 -1
- package/dist/routes.js +19 -157
- package/dist/start-studio.d.ts +3 -1
- package/dist/start-studio.js +2 -1
- package/package.json +9 -8
package/dist/routes.js
CHANGED
|
@@ -39,7 +39,6 @@ const node_fs_1 = require("node:fs");
|
|
|
39
39
|
const node_path_1 = __importStar(require("node:path"));
|
|
40
40
|
const node_url_1 = require("node:url");
|
|
41
41
|
const bundler_1 = require("@remotion/bundler");
|
|
42
|
-
const drag_and_drop_1 = require("@remotion/drag-and-drop");
|
|
43
42
|
const renderer_1 = require("@remotion/renderer");
|
|
44
43
|
const studio_shared_1 = require("@remotion/studio-shared");
|
|
45
44
|
const better_opn_1 = require("./better-opn");
|
|
@@ -48,19 +47,18 @@ const get_file_source_1 = require("./helpers/get-file-source");
|
|
|
48
47
|
const get_installed_installable_packages_1 = require("./helpers/get-installed-installable-packages");
|
|
49
48
|
const resolve_output_path_1 = require("./helpers/resolve-output-path");
|
|
50
49
|
const api_routes_1 = require("./preview-server/api-routes");
|
|
51
|
-
const element_install_state_1 = require("./preview-server/element-install-state");
|
|
52
50
|
const get_package_manager_1 = require("./preview-server/get-package-manager");
|
|
53
51
|
const get_static_file_fallback_hint_1 = require("./preview-server/get-static-file-fallback-hint");
|
|
54
52
|
const handler_1 = require("./preview-server/handler");
|
|
55
|
-
const parse_body_1 = require("./preview-server/parse-body");
|
|
56
53
|
const public_folder_1 = require("./preview-server/public-folder");
|
|
57
54
|
const open_in_editor_1 = require("./preview-server/routes/open-in-editor");
|
|
58
55
|
const serve_static_1 = require("./preview-server/serve-static");
|
|
56
|
+
const handle_discovery_1 = require("./preview-server/studio-protocol/handle-discovery");
|
|
57
|
+
const handle_install_1 = require("./preview-server/studio-protocol/handle-install");
|
|
58
|
+
const origin_policy_1 = require("./preview-server/studio-protocol/origin-policy");
|
|
59
59
|
const validate_same_origin_1 = require("./preview-server/validate-same-origin");
|
|
60
60
|
const watch_ignore_next_change_1 = require("./preview-server/watch-ignore-next-change");
|
|
61
61
|
const loggedStaticFileHints = new Set();
|
|
62
|
-
const ELEMENT_INSTALL_FOCUS_MAX_AGE = 5 * 60 * 1000;
|
|
63
|
-
const ELEMENT_INSTALL_TARGET_RESPONSE_WAIT = 250;
|
|
64
62
|
const static404 = (response) => {
|
|
65
63
|
response.writeHead(404);
|
|
66
64
|
response.end('The static/ prefix has been changed, this URL is no longer valid.');
|
|
@@ -84,148 +82,7 @@ const handleRemotionConfig = (response, remotionRoot) => {
|
|
|
84
82
|
response.end(JSON.stringify(body));
|
|
85
83
|
return Promise.resolve();
|
|
86
84
|
};
|
|
87
|
-
const
|
|
88
|
-
if (!origin) {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
try {
|
|
92
|
-
const url = new URL(origin);
|
|
93
|
-
return ((url.protocol === 'https:' &&
|
|
94
|
-
(url.hostname === 'remotion.dev' ||
|
|
95
|
-
url.hostname === 'www.remotion.dev')) ||
|
|
96
|
-
(url.protocol === 'http:' &&
|
|
97
|
-
(url.hostname === 'localhost' || url.hostname === '127.0.0.1')));
|
|
98
|
-
}
|
|
99
|
-
catch (_a) {
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
const setElementInstallCorsHeaders = ({ request, response, }) => {
|
|
104
|
-
const { origin } = request.headers;
|
|
105
|
-
if (isAllowedElementInstallOrigin(origin)) {
|
|
106
|
-
response.setHeader('Access-Control-Allow-Origin', origin);
|
|
107
|
-
response.setHeader('Vary', 'Origin');
|
|
108
|
-
response.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
|
|
109
|
-
response.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
110
|
-
response.setHeader('Access-Control-Max-Age', '600');
|
|
111
|
-
response.setHeader('Access-Control-Allow-Private-Network', 'true');
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
const handleElementInstallOptions = ({ request, response, }) => {
|
|
115
|
-
setElementInstallCorsHeaders({ request, response });
|
|
116
|
-
response.writeHead(isAllowedElementInstallOrigin(request.headers.origin) ? 204 : 403);
|
|
117
|
-
response.end();
|
|
118
|
-
return Promise.resolve();
|
|
119
|
-
};
|
|
120
|
-
const handleElementInstallTarget = ({ liveEventsServer, request, response, remotionRoot, gitSource, }) => {
|
|
121
|
-
if (!isAllowedElementInstallOrigin(request.headers.origin)) {
|
|
122
|
-
response.writeHead(403);
|
|
123
|
-
response.end(JSON.stringify({ success: false, reason: 'Origin not allowed' }));
|
|
124
|
-
return Promise.resolve();
|
|
125
|
-
}
|
|
126
|
-
const requestId = `${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
127
|
-
liveEventsServer.sendEventToClient({
|
|
128
|
-
type: 'request-element-install-target',
|
|
129
|
-
requestId,
|
|
130
|
-
});
|
|
131
|
-
return new Promise((resolve) => {
|
|
132
|
-
setTimeout(() => {
|
|
133
|
-
var _a, _b, _c, _d, _e;
|
|
134
|
-
const target = (0, element_install_state_1.getElementInstallTarget)(requestId);
|
|
135
|
-
const now = Date.now();
|
|
136
|
-
const targetIsLive = target !== null &&
|
|
137
|
-
now - target.updatedAt < element_install_state_1.ELEMENT_INSTALL_TARGET_MAX_AGE;
|
|
138
|
-
const host = (_a = request.headers.host) !== null && _a !== void 0 ? _a : null;
|
|
139
|
-
const port = (_b = host === null || host === void 0 ? void 0 : host.split(':').at(-1)) !== null && _b !== void 0 ? _b : null;
|
|
140
|
-
setElementInstallCorsHeaders({ request, response });
|
|
141
|
-
response.writeHead(200, { 'Content-Type': 'application/json' });
|
|
142
|
-
response.end(JSON.stringify({
|
|
143
|
-
type: 'remotion-studio',
|
|
144
|
-
projectName: (0, studio_shared_1.getProjectName)({
|
|
145
|
-
basename: node_path_1.default.basename,
|
|
146
|
-
gitSource,
|
|
147
|
-
resolvedRemotionRoot: remotionRoot,
|
|
148
|
-
}),
|
|
149
|
-
port: port === null ? null : Number(port),
|
|
150
|
-
lastFocusedAt: (_c = target === null || target === void 0 ? void 0 : target.lastFocusedAt) !== null && _c !== void 0 ? _c : null,
|
|
151
|
-
canInstall: target !== null && target.canInstall && targetIsLive,
|
|
152
|
-
activeCompositionId: (_d = target === null || target === void 0 ? void 0 : target.compositionId) !== null && _d !== void 0 ? _d : null,
|
|
153
|
-
readOnly: (_e = target === null || target === void 0 ? void 0 : target.readOnly) !== null && _e !== void 0 ? _e : false,
|
|
154
|
-
}));
|
|
155
|
-
resolve();
|
|
156
|
-
}, ELEMENT_INSTALL_TARGET_RESPONSE_WAIT);
|
|
157
|
-
});
|
|
158
|
-
};
|
|
159
|
-
const handleRequestElementInstall = async ({ liveEventsServer, request, response, }) => {
|
|
160
|
-
if (!isAllowedElementInstallOrigin(request.headers.origin)) {
|
|
161
|
-
response.writeHead(403);
|
|
162
|
-
response.end(JSON.stringify({ success: false, reason: 'Origin not allowed' }));
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
setElementInstallCorsHeaders({ request, response });
|
|
166
|
-
response.setHeader('Content-Type', 'application/json');
|
|
167
|
-
try {
|
|
168
|
-
const body = await (0, parse_body_1.parseRequestBody)(request);
|
|
169
|
-
const { mimeType, payload } = body;
|
|
170
|
-
const parsed = typeof mimeType === 'string' && typeof payload === 'string'
|
|
171
|
-
? drag_and_drop_1.DragAndDropInternals.parseDragData({ mimeType, payload })
|
|
172
|
-
: null;
|
|
173
|
-
if ((parsed === null || parsed === void 0 ? void 0 : parsed.type) !== 'element') {
|
|
174
|
-
response.writeHead(400);
|
|
175
|
-
response.end(JSON.stringify({ success: false, reason: 'Invalid Element payload' }));
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
const target = (0, element_install_state_1.getElementInstallTarget)(null);
|
|
179
|
-
const now = Date.now();
|
|
180
|
-
const targetIsLive = target !== null &&
|
|
181
|
-
now - target.updatedAt < element_install_state_1.ELEMENT_INSTALL_TARGET_MAX_AGE;
|
|
182
|
-
const targetWasRecentlyFocused = target !== null &&
|
|
183
|
-
target.lastFocusedAt !== null &&
|
|
184
|
-
now - target.lastFocusedAt < ELEMENT_INSTALL_FOCUS_MAX_AGE;
|
|
185
|
-
if (target === null ||
|
|
186
|
-
!target.canInstall ||
|
|
187
|
-
target.compositionFile === null ||
|
|
188
|
-
target.compositionId === null ||
|
|
189
|
-
!targetIsLive ||
|
|
190
|
-
!targetWasRecentlyFocused) {
|
|
191
|
-
response.writeHead(409);
|
|
192
|
-
response.end(JSON.stringify({
|
|
193
|
-
success: false,
|
|
194
|
-
reason: 'No focused writable Remotion Studio composition',
|
|
195
|
-
}));
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
const installRequest = {
|
|
199
|
-
id: `${Date.now()}-${Math.random().toString(16).slice(2)}`,
|
|
200
|
-
clientId: target.clientId,
|
|
201
|
-
createdAt: Date.now(),
|
|
202
|
-
compositionFile: target.compositionFile,
|
|
203
|
-
compositionId: target.compositionId,
|
|
204
|
-
element: parsed.data.element,
|
|
205
|
-
position: null,
|
|
206
|
-
};
|
|
207
|
-
const delivered = liveEventsServer.sendEventToClientId(target.clientId, {
|
|
208
|
-
type: 'element-install-request',
|
|
209
|
-
request: installRequest,
|
|
210
|
-
});
|
|
211
|
-
if (delivered === false) {
|
|
212
|
-
response.writeHead(409);
|
|
213
|
-
response.end(JSON.stringify({
|
|
214
|
-
success: false,
|
|
215
|
-
reason: 'The selected Remotion Studio tab is no longer connected',
|
|
216
|
-
}));
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
(0, better_opn_1.focusBrowserTab)({ url: target.studioUrl }).catch(() => undefined);
|
|
220
|
-
response.writeHead(200);
|
|
221
|
-
response.end(JSON.stringify({ success: true, status: 'sent' }));
|
|
222
|
-
}
|
|
223
|
-
catch (err) {
|
|
224
|
-
response.writeHead(500);
|
|
225
|
-
response.end(JSON.stringify({ success: false, reason: err.message }));
|
|
226
|
-
}
|
|
227
|
-
};
|
|
228
|
-
const handleFallback = async ({ remotionRoot, hash, response, request, getCurrentInputProps, getEnvVariables, publicDir, getRenderQueue, getRenderDefaults, getNumberOfAudioTags, getAudioLatencyHint, getPreviewSampleRate, gitSource, logLevel, enableCrossSiteIsolation, getStudioRuntimeConfig, }) => {
|
|
85
|
+
const handleFallback = async ({ remotionRoot, hash, response, request, getCurrentInputProps, getEnvVariables, publicDir, getRenderQueue, getRenderDefaults, getNumberOfAudioTags, getAudioLatencyHint, getPreviewSampleRate, gitSource, logLevel, enableCrossSiteIsolation, getStudioRuntimeConfig, getDefaultEditor, }) => {
|
|
229
86
|
var _a, _b;
|
|
230
87
|
const acceptsHtml = ((_a = request.headers.accept) !== null && _a !== void 0 ? _a : '').includes('text/html');
|
|
231
88
|
if (request.method === 'GET' && acceptsHtml) {
|
|
@@ -248,7 +105,7 @@ const handleFallback = async ({ remotionRoot, hash, response, request, getCurren
|
|
|
248
105
|
`Change \`"${pathname}"\` to \`staticFile("${pathname}")\` to fix the error.`,
|
|
249
106
|
].join('\n'));
|
|
250
107
|
}
|
|
251
|
-
const displayName = await (0, open_in_editor_1.getEditorName)();
|
|
108
|
+
const displayName = await (0, open_in_editor_1.getEditorName)({ getDefaultEditor, logLevel });
|
|
252
109
|
response.setHeader('content-type', 'text/html');
|
|
253
110
|
if (enableCrossSiteIsolation) {
|
|
254
111
|
response.setHeader('Cross-Origin-Opener-Policy', 'same-origin');
|
|
@@ -394,7 +251,7 @@ const handleBeep = (_, response) => {
|
|
|
394
251
|
readStream.pipe(response);
|
|
395
252
|
return Promise.resolve();
|
|
396
253
|
};
|
|
397
|
-
const handleRoutes = ({ staticHash, staticHashPrefix, outputHash, outputHashPrefix, request, response, liveEventsServer, getCurrentInputProps, getEnvVariables, remotionRoot, entryPoint, publicDir, logLevel, getRenderQueue, getRenderDefaults, getNumberOfAudioTags, queueMethods: methods, gitSource, binariesDirectory, getAudioLatencyHint, getPreviewSampleRate, enableCrossSiteIsolation, getStudioRuntimeConfig, configFile, }) => {
|
|
254
|
+
const handleRoutes = ({ staticHash, staticHashPrefix, outputHash, outputHashPrefix, request, response, liveEventsServer, getCurrentInputProps, getEnvVariables, remotionRoot, entryPoint, publicDir, logLevel, getRenderQueue, getRenderDefaults, getNumberOfAudioTags, queueMethods: methods, gitSource, binariesDirectory, getAudioLatencyHint, getPreviewSampleRate, enableCrossSiteIsolation, getStudioRuntimeConfig, getDefaultEditor, configFile, }) => {
|
|
398
255
|
const url = new URL(request.url, 'http://localhost');
|
|
399
256
|
if (url.pathname === '/api/file-source') {
|
|
400
257
|
return handleFileSource({
|
|
@@ -421,21 +278,24 @@ const handleRoutes = ({ staticHash, staticHashPrefix, outputHash, outputHashPref
|
|
|
421
278
|
remotionRoot,
|
|
422
279
|
});
|
|
423
280
|
}
|
|
424
|
-
if (url.pathname === '/api/
|
|
425
|
-
url.pathname === '/api/
|
|
281
|
+
if (url.pathname === '/api/studio-protocol' ||
|
|
282
|
+
url.pathname === '/api/studio-protocol/install') {
|
|
426
283
|
if (request.method === 'OPTIONS') {
|
|
427
|
-
return
|
|
284
|
+
return (0, origin_policy_1.handleStudioProtocolOptions)({ request, response });
|
|
428
285
|
}
|
|
429
|
-
if (url.pathname === '/api/
|
|
430
|
-
return
|
|
286
|
+
if (url.pathname === '/api/studio-protocol') {
|
|
287
|
+
return (0, handle_discovery_1.handleStudioProtocolDiscovery)({
|
|
288
|
+
gitSource,
|
|
431
289
|
liveEventsServer,
|
|
290
|
+
remotionRoot,
|
|
432
291
|
request,
|
|
433
292
|
response,
|
|
434
|
-
remotionRoot,
|
|
435
|
-
gitSource,
|
|
436
293
|
});
|
|
437
294
|
}
|
|
438
|
-
return
|
|
295
|
+
return (0, handle_install_1.handleStudioProtocolInstall)({
|
|
296
|
+
focusStudioTab: (studioUrl) => {
|
|
297
|
+
(0, better_opn_1.focusBrowserTab)({ url: studioUrl }).catch(() => undefined);
|
|
298
|
+
},
|
|
439
299
|
liveEventsServer,
|
|
440
300
|
request,
|
|
441
301
|
response,
|
|
@@ -454,6 +314,7 @@ const handleRoutes = ({ staticHash, staticHashPrefix, outputHash, outputHashPref
|
|
|
454
314
|
binariesDirectory,
|
|
455
315
|
publicDir,
|
|
456
316
|
configFile,
|
|
317
|
+
getDefaultEditor,
|
|
457
318
|
});
|
|
458
319
|
}
|
|
459
320
|
}
|
|
@@ -514,6 +375,7 @@ const handleRoutes = ({ staticHash, staticHashPrefix, outputHash, outputHashPref
|
|
|
514
375
|
getPreviewSampleRate,
|
|
515
376
|
enableCrossSiteIsolation,
|
|
516
377
|
getStudioRuntimeConfig,
|
|
378
|
+
getDefaultEditor,
|
|
517
379
|
});
|
|
518
380
|
};
|
|
519
381
|
exports.handleRoutes = handleRoutes;
|
package/dist/start-studio.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { BundlerOverrideFn, RspackOverrideFn, WebpackOverrideFn } from '@remotion/bundler';
|
|
2
|
+
import type { DefaultEditor } from '@remotion/renderer';
|
|
2
3
|
import type { GitSource, RenderDefaults, RenderJob, StudioRuntimeConfig } from '@remotion/studio-shared';
|
|
3
4
|
import type { QueueMethods } from './preview-server/api-types';
|
|
4
5
|
export type StartStudioResult = {
|
|
@@ -6,7 +7,7 @@ export type StartStudioResult = {
|
|
|
6
7
|
} | {
|
|
7
8
|
type: 'already-running';
|
|
8
9
|
};
|
|
9
|
-
export declare const startStudio: ({ browserArgs, browserFlag, shouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, remotionRoot, relativePublicDir, bundlerOverride, rspackOverride, webpackOverride, poll, getRenderDefaults, getRenderQueue, getNumberOfAudioTags, queueMethods, previewEntry, gitSource, binariesDirectory, forceIPv4, getAudioLatencyHint, getPreviewSampleRate, enableCrossSiteIsolation, forceNew, rspack, getStudioRuntimeConfig, configFile, }: {
|
|
10
|
+
export declare const startStudio: ({ browserArgs, browserFlag, shouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, remotionRoot, relativePublicDir, bundlerOverride, rspackOverride, webpackOverride, poll, getRenderDefaults, getRenderQueue, getNumberOfAudioTags, queueMethods, previewEntry, gitSource, binariesDirectory, forceIPv4, getAudioLatencyHint, getPreviewSampleRate, enableCrossSiteIsolation, forceNew, rspack, getStudioRuntimeConfig, getDefaultEditor, configFile, }: {
|
|
10
11
|
browserArgs: string;
|
|
11
12
|
browserFlag: string;
|
|
12
13
|
logLevel: "error" | "info" | "trace" | "verbose" | "warn";
|
|
@@ -35,5 +36,6 @@ export declare const startStudio: ({ browserArgs, browserFlag, shouldOpenBrowser
|
|
|
35
36
|
forceNew: boolean;
|
|
36
37
|
rspack: boolean;
|
|
37
38
|
getStudioRuntimeConfig: () => StudioRuntimeConfig;
|
|
39
|
+
getDefaultEditor: () => DefaultEditor | null;
|
|
38
40
|
configFile: string | null;
|
|
39
41
|
}) => Promise<StartStudioResult>;
|
package/dist/start-studio.js
CHANGED
|
@@ -19,7 +19,7 @@ const public_folder_1 = require("./preview-server/public-folder");
|
|
|
19
19
|
const start_server_1 = require("./preview-server/start-server");
|
|
20
20
|
const server_ready_1 = require("./server-ready");
|
|
21
21
|
const watch_root_file_1 = require("./watch-root-file");
|
|
22
|
-
const startStudio = async ({ browserArgs, browserFlag, shouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, remotionRoot, relativePublicDir, bundlerOverride, rspackOverride, webpackOverride, poll, getRenderDefaults, getRenderQueue, getNumberOfAudioTags, queueMethods, previewEntry, gitSource, binariesDirectory, forceIPv4, getAudioLatencyHint, getPreviewSampleRate, enableCrossSiteIsolation, forceNew, rspack, getStudioRuntimeConfig, configFile, }) => {
|
|
22
|
+
const startStudio = async ({ browserArgs, browserFlag, shouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, remotionRoot, relativePublicDir, bundlerOverride, rspackOverride, webpackOverride, poll, getRenderDefaults, getRenderQueue, getNumberOfAudioTags, queueMethods, previewEntry, gitSource, binariesDirectory, forceIPv4, getAudioLatencyHint, getPreviewSampleRate, enableCrossSiteIsolation, forceNew, rspack, getStudioRuntimeConfig, getDefaultEditor, configFile, }) => {
|
|
23
23
|
try {
|
|
24
24
|
if (typeof Bun === 'undefined') {
|
|
25
25
|
process.title = 'node (npx remotion studio)';
|
|
@@ -93,6 +93,7 @@ const startStudio = async ({ browserArgs, browserFlag, shouldOpenBrowser, fullEn
|
|
|
93
93
|
forceNew,
|
|
94
94
|
rspack,
|
|
95
95
|
getStudioRuntimeConfig,
|
|
96
|
+
getDefaultEditor,
|
|
96
97
|
configFile,
|
|
97
98
|
});
|
|
98
99
|
if (result.type === 'already-running') {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio-server"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/studio-server",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.503",
|
|
7
7
|
"description": "Run a Remotion Studio with a server backend",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"scripts": {
|
|
@@ -23,20 +23,21 @@
|
|
|
23
23
|
"access": "public"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@remotion/
|
|
26
|
+
"@remotion/studio-protocol": "4.0.503",
|
|
27
27
|
"@babel/types": "7.24.0",
|
|
28
28
|
"@babel/parser": "7.24.1",
|
|
29
29
|
"@svgr/core": "8.1.0",
|
|
30
30
|
"@svgr/plugin-jsx": "8.1.0",
|
|
31
31
|
"kiwi-schema": "0.5.0",
|
|
32
32
|
"semver": "7.5.3",
|
|
33
|
+
"zod": "4.4.3",
|
|
33
34
|
"prettier": "3.8.1",
|
|
34
|
-
"remotion": "4.0.
|
|
35
|
+
"remotion": "4.0.503",
|
|
35
36
|
"recast": "0.23.11",
|
|
36
|
-
"@remotion/bundler": "4.0.
|
|
37
|
-
"@remotion/renderer": "4.0.
|
|
38
|
-
"@remotion/studio-codemods": "4.0.
|
|
39
|
-
"@remotion/studio-shared": "4.0.
|
|
37
|
+
"@remotion/bundler": "4.0.503",
|
|
38
|
+
"@remotion/renderer": "4.0.503",
|
|
39
|
+
"@remotion/studio-codemods": "4.0.503",
|
|
40
|
+
"@remotion/studio-shared": "4.0.503",
|
|
40
41
|
"memfs": "3.4.3",
|
|
41
42
|
"open": "8.4.2"
|
|
42
43
|
},
|
|
@@ -44,7 +45,7 @@
|
|
|
44
45
|
"ast-types": "0.16.1",
|
|
45
46
|
"react": "19.2.3",
|
|
46
47
|
"@types/semver": "7.5.3",
|
|
47
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
48
|
+
"@remotion/eslint-config-internal": "4.0.503",
|
|
48
49
|
"eslint": "9.19.0",
|
|
49
50
|
"@types/node": "20.12.14",
|
|
50
51
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|