@remotion/studio-server 4.0.498 → 4.0.499

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.
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.insertElementHandler = void 0;
7
7
  const node_fs_1 = require("node:fs");
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
+ const drag_and_drop_1 = require("@remotion/drag-and-drop");
9
10
  const renderer_1 = require("@remotion/renderer");
10
- const studio_shared_1 = require("@remotion/studio-shared");
11
11
  const file_watcher_1 = require("../../file-watcher");
12
12
  const resolve_composition_component_1 = require("../../helpers/resolve-composition-component");
13
13
  const format_log_file_location_1 = require("../format-log-file-location");
@@ -56,7 +56,7 @@ const validateDimensions = (dimensions) => {
56
56
  }
57
57
  };
58
58
  const validateElement = (element) => {
59
- if ((0, studio_shared_1.makeElementFileNameFromSlug)(element.slug) === null) {
59
+ if (drag_and_drop_1.DragAndDropInternals.makeElementFileNameFromSlug(element.slug) === null) {
60
60
  throw new Error('Element slug must produce a safe lowercase .tsx file name');
61
61
  }
62
62
  if (typeof element.sourceCode !== 'string' ||
@@ -64,7 +64,7 @@ const validateElement = (element) => {
64
64
  element.sourceCode.length > 200000) {
65
65
  throw new Error('Unsupported Element source code');
66
66
  }
67
- if ((0, studio_shared_1.getElementComponentNameFromSourceCode)(element.sourceCode) === null) {
67
+ if (drag_and_drop_1.DragAndDropInternals.getElementComponentNameFromSourceCode(element.sourceCode) === null) {
68
68
  throw new Error('Element source must export exactly one named component');
69
69
  }
70
70
  validateDimensions(element.dimensions);
@@ -77,7 +77,7 @@ const insertElementHandler = ({ input: { compositionFile, compositionId, element
77
77
  (!Number.isInteger(from) || !Number.isFinite(from) || from < 0)) {
78
78
  throw new Error('from must be a non-negative integer');
79
79
  }
80
- const componentName = (0, studio_shared_1.getElementComponentNameFromSourceCode)(element.sourceCode);
80
+ const componentName = drag_and_drop_1.DragAndDropInternals.getElementComponentNameFromSourceCode(element.sourceCode);
81
81
  if (componentName === null) {
82
82
  throw new Error('Element source must export exactly one named component');
83
83
  }
@@ -90,7 +90,7 @@ const insertElementHandler = ({ input: { compositionFile, compositionId, element
90
90
  if (!location.canAddSequence) {
91
91
  throw new Error('Cannot insert Element into this composition component');
92
92
  }
93
- const derivedElementFileName = (0, studio_shared_1.makeElementFileNameFromSlug)(element.slug);
93
+ const derivedElementFileName = drag_and_drop_1.DragAndDropInternals.makeElementFileNameFromSlug(element.slug);
94
94
  if (derivedElementFileName === null) {
95
95
  throw new Error('Element slug must produce a safe lowercase .tsx file name');
96
96
  }
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.insertJsxElementHandler = void 0;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
+ const drag_and_drop_1 = require("@remotion/drag-and-drop");
8
9
  const renderer_1 = require("@remotion/renderer");
9
10
  const studio_shared_1 = require("@remotion/studio-shared");
10
11
  const file_watcher_1 = require("../../file-watcher");
@@ -78,16 +79,16 @@ const validateElement = (element, remotionRoot) => {
78
79
  return;
79
80
  }
80
81
  if (element.type === 'component') {
81
- if (!(0, studio_shared_1.isComponentIdentifier)(element.componentName)) {
82
+ if (!drag_and_drop_1.DragAndDropInternals.isComponentIdentifier(element.componentName)) {
82
83
  throw new Error('Unsupported component name');
83
84
  }
84
- if (!(0, studio_shared_1.isComponentIdentifier)(element.importName)) {
85
+ if (!drag_and_drop_1.DragAndDropInternals.isComponentIdentifier(element.importName)) {
85
86
  throw new Error('Unsupported component import name');
86
87
  }
87
- if (!(0, studio_shared_1.isComponentImportPath)(element.importPath)) {
88
+ if (!drag_and_drop_1.DragAndDropInternals.isComponentImportPath(element.importPath)) {
88
89
  throw new Error('Unsupported component import path');
89
90
  }
90
- if (!(0, studio_shared_1.areComponentProps)(element.props)) {
91
+ if (!drag_and_drop_1.DragAndDropInternals.areComponentProps(element.props)) {
91
92
  throw new Error('Unsupported component props');
92
93
  }
93
94
  return;
package/dist/routes.js CHANGED
@@ -39,6 +39,7 @@ 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");
42
43
  const renderer_1 = require("@remotion/renderer");
43
44
  const studio_shared_1 = require("@remotion/studio-shared");
44
45
  const better_opn_1 = require("./better-opn");
@@ -165,12 +166,11 @@ const handleRequestElementInstall = async ({ liveEventsServer, request, response
165
166
  response.setHeader('Content-Type', 'application/json');
166
167
  try {
167
168
  const body = await (0, parse_body_1.parseRequestBody)(request);
168
- const parsed = (0, studio_shared_1.parseElementDragData)(JSON.stringify({
169
- type: 'remotion-element',
170
- version: 1,
171
- element: body.element,
172
- }));
173
- if (parsed === null) {
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
174
  response.writeHead(400);
175
175
  response.end(JSON.stringify({ success: false, reason: 'Invalid Element payload' }));
176
176
  return;
@@ -201,7 +201,7 @@ const handleRequestElementInstall = async ({ liveEventsServer, request, response
201
201
  createdAt: Date.now(),
202
202
  compositionFile: target.compositionFile,
203
203
  compositionId: target.compositionId,
204
- element: parsed.element,
204
+ element: parsed.data.element,
205
205
  position: null,
206
206
  };
207
207
  const delivered = liveEventsServer.sendEventToClientId(target.clientId, {
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.498",
6
+ "version": "4.0.499",
7
7
  "description": "Run a Remotion Studio with a server backend",
8
8
  "main": "dist",
9
9
  "scripts": {
@@ -23,6 +23,7 @@
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
+ "@remotion/drag-and-drop": "4.0.499",
26
27
  "@babel/types": "7.24.0",
27
28
  "@babel/parser": "7.24.1",
28
29
  "@svgr/core": "8.1.0",
@@ -30,11 +31,11 @@
30
31
  "kiwi-schema": "0.5.0",
31
32
  "semver": "7.5.3",
32
33
  "prettier": "3.8.1",
33
- "remotion": "4.0.498",
34
+ "remotion": "4.0.499",
34
35
  "recast": "0.23.11",
35
- "@remotion/bundler": "4.0.498",
36
- "@remotion/renderer": "4.0.498",
37
- "@remotion/studio-shared": "4.0.498",
36
+ "@remotion/bundler": "4.0.499",
37
+ "@remotion/renderer": "4.0.499",
38
+ "@remotion/studio-shared": "4.0.499",
38
39
  "memfs": "3.4.3",
39
40
  "open": "8.4.2"
40
41
  },
@@ -42,7 +43,7 @@
42
43
  "ast-types": "0.16.1",
43
44
  "react": "19.2.3",
44
45
  "@types/semver": "7.5.3",
45
- "@remotion/eslint-config-internal": "4.0.498",
46
+ "@remotion/eslint-config-internal": "4.0.499",
46
47
  "eslint": "9.19.0",
47
48
  "@types/node": "20.12.14",
48
49
  "@typescript/native-preview": "7.0.0-dev.20260217.1"