@remotion/studio-server 4.0.527 → 4.0.529
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/apply-codemod-to-file.d.ts +2 -1
- package/dist/codemods/apply-codemod-to-file.js +141 -8
- package/dist/codemods/effect-param-expression.d.ts +1 -1
- package/dist/codemods/effect-param-expression.js +3 -2
- package/dist/codemods/update-effect-props/update-effect-props.d.ts +6 -33
- package/dist/codemods/update-effect-props/update-effect-props.js +16 -6
- package/dist/codemods/update-keyframes/update-keyframes.d.ts +24 -65
- package/dist/codemods/update-keyframes/update-keyframes.js +23 -5
- package/dist/codemods/update-sequence-props/update-sequence-props.d.ts +2 -17
- package/dist/codemods/update-sequence-props/update-sequence-props.js +15 -8
- package/dist/helpers/open-file-for-writing-without-symlinks.d.ts +6 -1
- package/dist/helpers/open-file-for-writing-without-symlinks.js +9 -6
- package/dist/index.d.ts +0 -22
- package/dist/index.js +0 -7
- package/dist/preview-server/api-routes.js +4 -0
- package/dist/preview-server/hot-middleware/index.js +13 -46
- package/dist/preview-server/routes/add-effect.js +16 -8
- package/dist/preview-server/routes/apply-codemod.d.ts +0 -19
- package/dist/preview-server/routes/apply-codemod.js +22 -25
- package/dist/preview-server/routes/apply-visual-control-change.js +12 -65
- package/dist/preview-server/routes/can-update-sequence-props.d.ts +0 -10
- package/dist/preview-server/routes/can-update-sequence-props.js +52 -511
- package/dist/preview-server/routes/delete-effect.js +14 -13
- package/dist/preview-server/routes/delete-jsx-nodes.js +15 -4
- package/dist/preview-server/routes/download-remote-asset.d.ts +5 -0
- package/dist/preview-server/routes/download-remote-asset.js +25 -20
- package/dist/preview-server/routes/duplicate-effect.js +11 -4
- package/dist/preview-server/routes/duplicate-jsx-node.js +14 -4
- package/dist/preview-server/routes/insert-element.js +399 -280
- package/dist/preview-server/routes/install-dependency.js +14 -4
- package/dist/preview-server/routes/prepare-element-install.js +3 -0
- package/dist/preview-server/routes/reorder-effect.js +11 -5
- package/dist/preview-server/routes/reorder-sequence.js +9 -5
- package/dist/preview-server/routes/replace-video-source.d.ts +3 -0
- package/dist/preview-server/routes/replace-video-source.js +81 -0
- package/dist/preview-server/routes/save-sequence-props.js +5 -26
- package/dist/preview-server/routes/split-jsx-sequence.js +13 -5
- package/dist/preview-server/routes/split-video-from-audio.js +8 -4
- package/dist/preview-server/routes/subscribe-to-sequence-props.js +6 -10
- package/dist/preview-server/routes/update-config.js +38 -2
- package/dist/preview-server/routes/update-default-props.js +11 -8
- package/dist/preview-server/routes/wrap-jsx-node.d.ts +3 -0
- package/dist/preview-server/routes/wrap-jsx-node.js +97 -0
- package/dist/preview-server/studio-protocol/handle-discovery.js +1 -1
- package/dist/preview-server/studio-protocol/handle-element-library.js +3 -3
- package/dist/preview-server/undo-stack.d.ts +2 -1
- package/dist/preview-server/undo-stack.js +19 -0
- package/dist/routes.js +2 -0
- package/package.json +8 -8
|
@@ -24,7 +24,7 @@ const handleStudioProtocolElementLibrary = async ({ configFile, focusStudioTab,
|
|
|
24
24
|
if (request.method !== 'POST') {
|
|
25
25
|
(0, protocol_response_1.writeStudioProtocolError)({
|
|
26
26
|
code: 'method-not-allowed',
|
|
27
|
-
message: 'Use POST to add an Element
|
|
27
|
+
message: 'Use POST to add an Element Library.',
|
|
28
28
|
response,
|
|
29
29
|
status: 405,
|
|
30
30
|
});
|
|
@@ -75,7 +75,7 @@ const handleStudioProtocolElementLibrary = async ({ configFile, focusStudioTab,
|
|
|
75
75
|
catch (_c) {
|
|
76
76
|
(0, protocol_response_1.writeStudioProtocolError)({
|
|
77
77
|
code: 'invalid-url',
|
|
78
|
-
message: 'The Element
|
|
78
|
+
message: 'The Element Library URL must be an absolute HTTP or HTTPS URL.',
|
|
79
79
|
response,
|
|
80
80
|
status: 400,
|
|
81
81
|
});
|
|
@@ -85,7 +85,7 @@ const handleStudioProtocolElementLibrary = async ({ configFile, focusStudioTab,
|
|
|
85
85
|
if (displayName === '') {
|
|
86
86
|
(0, protocol_response_1.writeStudioProtocolError)({
|
|
87
87
|
code: 'invalid-display-name',
|
|
88
|
-
message: 'The Element
|
|
88
|
+
message: 'The Element Library display name must not be empty.',
|
|
89
89
|
response,
|
|
90
90
|
status: 400,
|
|
91
91
|
});
|
|
@@ -4,7 +4,7 @@ export interface UndoEntryDescription {
|
|
|
4
4
|
undoMessage: string;
|
|
5
5
|
redoMessage: string;
|
|
6
6
|
}
|
|
7
|
-
type UndoEntryType = 'visual-control' | 'default-props' | 'sequence-props' | 'effect-props' | 'keyframe-add' | 'keyframe-delete' | 'add-effect' | 'delete-effect' | 'duplicate-effect' | 'paste-effects' | 'reorder-effect' | 'reorder-sequence' | 'delete-jsx-nodes' | 'duplicate-jsx-node' | 'split-jsx-sequence' | 'split-video-from-audio' | 'insert-basic-captions' | 'insert-jsx-element' | 'delete-composition' | 'rename-composition' | 'update-composition-metadata' | 'new-composition' | 'duplicate-composition' | 'move-composition-
|
|
7
|
+
type UndoEntryType = 'visual-control' | 'default-props' | 'sequence-props' | 'effect-props' | 'keyframe-add' | 'keyframe-delete' | 'add-effect' | 'delete-effect' | 'duplicate-effect' | 'paste-effects' | 'reorder-effect' | 'reorder-sequence' | 'delete-jsx-nodes' | 'duplicate-jsx-node' | 'wrap-jsx-node' | 'split-jsx-sequence' | 'split-video-from-audio' | 'insert-basic-captions' | 'replace-video-source' | 'insert-jsx-element' | 'delete-composition' | 'rename-composition' | 'update-composition-metadata' | 'new-composition' | 'duplicate-composition' | 'move-composition-or-folder' | 'new-folder' | 'delete-folder' | 'rename-folder';
|
|
8
8
|
type UndoEntrySnapshot = {
|
|
9
9
|
filePath: string;
|
|
10
10
|
oldContents: string | null;
|
|
@@ -66,5 +66,6 @@ export declare function popUndo(): UndoResponse;
|
|
|
66
66
|
export declare function popRedo(): RedoResponse;
|
|
67
67
|
export declare function getUndoStack(): readonly UndoEntry[];
|
|
68
68
|
export declare function getRedoStack(): readonly UndoEntry[];
|
|
69
|
+
export declare function discardLastUndoEntryAfterFailedCommit(): void;
|
|
69
70
|
export declare function clearUndoStackForTests(): void;
|
|
70
71
|
export {};
|
|
@@ -9,6 +9,7 @@ exports.popUndo = popUndo;
|
|
|
9
9
|
exports.popRedo = popRedo;
|
|
10
10
|
exports.getUndoStack = getUndoStack;
|
|
11
11
|
exports.getRedoStack = getRedoStack;
|
|
12
|
+
exports.discardLastUndoEntryAfterFailedCommit = discardLastUndoEntryAfterFailedCommit;
|
|
12
13
|
exports.clearUndoStackForTests = clearUndoStackForTests;
|
|
13
14
|
const node_fs_1 = require("node:fs");
|
|
14
15
|
const renderer_1 = require("@remotion/renderer");
|
|
@@ -392,6 +393,24 @@ function getUndoStack() {
|
|
|
392
393
|
function getRedoStack() {
|
|
393
394
|
return redoStack;
|
|
394
395
|
}
|
|
396
|
+
function discardLastUndoEntryAfterFailedCommit() {
|
|
397
|
+
var _a;
|
|
398
|
+
const entry = undoStack.pop();
|
|
399
|
+
if (!entry) {
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
for (const filePath of getEntryFilePaths(entry)) {
|
|
403
|
+
const count = (_a = suppressedWrites.get(filePath)) !== null && _a !== void 0 ? _a : 0;
|
|
404
|
+
if (count <= 1) {
|
|
405
|
+
suppressedWrites.delete(filePath);
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
suppressedWrites.set(filePath, count - 1);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
cleanupWatchers();
|
|
412
|
+
broadcastState();
|
|
413
|
+
}
|
|
395
414
|
function clearUndoStackForTests() {
|
|
396
415
|
undoStack.length = 0;
|
|
397
416
|
redoStack.length = 0;
|
package/dist/routes.js
CHANGED
|
@@ -210,6 +210,7 @@ const handleAddAsset = ({ req, res, search, publicDir, }) => {
|
|
|
210
210
|
const fileDescriptor = (0, open_file_for_writing_without_symlinks_1.openFileForWritingWithoutSymlinks)({
|
|
211
211
|
rootDirectory: publicDir,
|
|
212
212
|
absolutePath,
|
|
213
|
+
exclusive: false,
|
|
213
214
|
});
|
|
214
215
|
const writeStream = (0, node_fs_1.createWriteStream)(absolutePath, {
|
|
215
216
|
fd: fileDescriptor,
|
|
@@ -242,6 +243,7 @@ const handleUploadOutput = ({ req, res, search, remotionRoot, }) => {
|
|
|
242
243
|
const fileDescriptor = (0, open_file_for_writing_without_symlinks_1.openFileForWritingWithoutSymlinks)({
|
|
243
244
|
rootDirectory: remotionRoot,
|
|
244
245
|
absolutePath,
|
|
246
|
+
exclusive: false,
|
|
245
247
|
});
|
|
246
248
|
const writeStream = (0, node_fs_1.createWriteStream)(absolutePath, {
|
|
247
249
|
fd: fileDescriptor,
|
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.529",
|
|
7
7
|
"description": "Run a Remotion Studio with a server backend",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"scripts": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"access": "public"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@remotion/studio-protocol": "4.0.
|
|
26
|
+
"@remotion/studio-protocol": "4.0.529",
|
|
27
27
|
"@babel/types": "7.24.0",
|
|
28
28
|
"@babel/parser": "7.24.1",
|
|
29
29
|
"@svgr/core": "8.1.0",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"kiwi-schema": "0.5.0",
|
|
32
32
|
"semver": "7.5.3",
|
|
33
33
|
"zod": "4.5.4",
|
|
34
|
-
"remotion": "4.0.
|
|
34
|
+
"remotion": "4.0.529",
|
|
35
35
|
"recast": "0.23.21",
|
|
36
|
-
"@remotion/bundler": "4.0.
|
|
37
|
-
"@remotion/renderer": "4.0.
|
|
38
|
-
"@remotion/codemods": "4.0.
|
|
39
|
-
"@remotion/studio-shared": "4.0.
|
|
36
|
+
"@remotion/bundler": "4.0.529",
|
|
37
|
+
"@remotion/renderer": "4.0.529",
|
|
38
|
+
"@remotion/codemods": "4.0.529",
|
|
39
|
+
"@remotion/studio-shared": "4.0.529",
|
|
40
40
|
"memfs": "3.4.3",
|
|
41
41
|
"open": "8.4.2"
|
|
42
42
|
},
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"ast-types": "0.16.1",
|
|
45
45
|
"react": "19.2.3",
|
|
46
46
|
"@types/semver": "7.5.3",
|
|
47
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
47
|
+
"@remotion/eslint-config-internal": "4.0.529",
|
|
48
48
|
"eslint": "9.19.0",
|
|
49
49
|
"prettier": "3.8.1",
|
|
50
50
|
"@types/node": "20.12.14",
|