@remotion/studio-server 4.0.470 → 4.0.472
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/add-effect.d.ts +26 -0
- package/dist/codemods/add-effect.js +193 -0
- package/dist/codemods/format-file-content.js +1 -1
- package/dist/codemods/parse-ast.js +4 -1
- package/dist/codemods/paste-effects.d.ts +15 -0
- package/dist/codemods/paste-effects.js +234 -0
- package/dist/codemods/recast-mods.js +178 -31
- package/dist/codemods/reorder-effect.d.ts +13 -0
- package/dist/codemods/reorder-effect.js +61 -0
- package/dist/codemods/update-keyframes/ensure-imports-and-frame-hook.d.ts +1 -1
- package/dist/codemods/update-keyframes/ensure-imports-and-frame-hook.js +7 -55
- package/dist/codemods/update-keyframes/update-keyframes.d.ts +15 -6
- package/dist/codemods/update-keyframes/update-keyframes.js +152 -26
- package/dist/helpers/get-ast-node-path.js +6 -1
- package/dist/helpers/import-agnostic-node-path.d.ts +10 -0
- package/dist/helpers/import-agnostic-node-path.js +154 -0
- package/dist/helpers/imports.d.ts +16 -0
- package/dist/helpers/imports.js +145 -0
- package/dist/helpers/open-in-editor.d.ts +2 -2
- package/dist/helpers/open-in-editor.js +35 -2
- package/dist/helpers/resolve-composition-component.d.ts +15 -0
- package/dist/helpers/resolve-composition-component.js +332 -31
- package/dist/preview-server/api-routes.js +10 -4
- package/dist/preview-server/routes/add-effect-keyframe.js +4 -2
- package/dist/preview-server/routes/add-effect.d.ts +3 -0
- package/dist/preview-server/routes/add-effect.js +68 -0
- package/dist/preview-server/routes/add-sequence-keyframe.js +7 -3
- package/dist/preview-server/routes/apply-codemod.js +18 -0
- package/dist/preview-server/routes/can-update-effect-props.d.ts +3 -2
- package/dist/preview-server/routes/can-update-effect-props.js +75 -6
- package/dist/preview-server/routes/can-update-sequence-props.d.ts +1 -0
- package/dist/preview-server/routes/can-update-sequence-props.js +47 -30
- package/dist/preview-server/routes/delete-keyframes.d.ts +13 -0
- package/dist/preview-server/routes/delete-keyframes.js +264 -0
- package/dist/preview-server/routes/insert-jsx-element.d.ts +3 -0
- package/dist/preview-server/routes/insert-jsx-element.js +102 -0
- package/dist/preview-server/routes/paste-effects.d.ts +3 -0
- package/dist/preview-server/routes/paste-effects.js +78 -0
- package/dist/preview-server/routes/reorder-effect.d.ts +3 -0
- package/dist/preview-server/routes/reorder-effect.js +67 -0
- package/dist/preview-server/routes/save-effect-props.js +1 -0
- package/dist/preview-server/routes/subscribe-to-sequence-props.js +2 -1
- package/dist/preview-server/sequence-props-watchers.d.ts +2 -1
- package/dist/preview-server/sequence-props-watchers.js +22 -2
- package/dist/preview-server/undo-stack.d.ts +15 -1
- package/package.json +6 -6
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ensureNamedImports = exports.ensureNamedImport = exports.normalizeImportSpacing = exports.insertImportDeclaration = exports.findImportDeclaration = exports.getImportedName = void 0;
|
|
37
|
+
const recast = __importStar(require("recast"));
|
|
38
|
+
const b = recast.types.builders;
|
|
39
|
+
const getImportedName = (specifier) => {
|
|
40
|
+
if (specifier.imported.type === 'Identifier') {
|
|
41
|
+
return specifier.imported.name;
|
|
42
|
+
}
|
|
43
|
+
return specifier.imported.value;
|
|
44
|
+
};
|
|
45
|
+
exports.getImportedName = getImportedName;
|
|
46
|
+
const findImportDeclaration = (ast, sourcePath) => {
|
|
47
|
+
for (const stmt of ast.program.body) {
|
|
48
|
+
if (stmt.type === 'ImportDeclaration' &&
|
|
49
|
+
stmt.source.type === 'StringLiteral' &&
|
|
50
|
+
stmt.source.value === sourcePath) {
|
|
51
|
+
return stmt;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return null;
|
|
55
|
+
};
|
|
56
|
+
exports.findImportDeclaration = findImportDeclaration;
|
|
57
|
+
const findImportDeclarations = (ast, sourcePath) => {
|
|
58
|
+
return ast.program.body.filter((stmt) => stmt.type === 'ImportDeclaration' &&
|
|
59
|
+
stmt.source.type === 'StringLiteral' &&
|
|
60
|
+
stmt.source.value === sourcePath);
|
|
61
|
+
};
|
|
62
|
+
const insertImportDeclaration = (ast, importDeclaration) => {
|
|
63
|
+
const { body } = ast.program;
|
|
64
|
+
let lastImportIndex = -1;
|
|
65
|
+
for (let i = 0; i < body.length; i++) {
|
|
66
|
+
if (body[i].type === 'ImportDeclaration') {
|
|
67
|
+
lastImportIndex = i;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
body.splice(lastImportIndex + 1, 0, importDeclaration);
|
|
71
|
+
};
|
|
72
|
+
exports.insertImportDeclaration = insertImportDeclaration;
|
|
73
|
+
const normalizeImportSpacing = (input) => {
|
|
74
|
+
return input.replace(/(import[^\n]*\n)\n+(?=import\b)/g, '$1');
|
|
75
|
+
};
|
|
76
|
+
exports.normalizeImportSpacing = normalizeImportSpacing;
|
|
77
|
+
const hasNamespaceSpecifier = (importDeclaration) => {
|
|
78
|
+
var _a;
|
|
79
|
+
return (_a = importDeclaration.specifiers) === null || _a === void 0 ? void 0 : _a.some((specifier) => specifier.type === 'ImportNamespaceSpecifier');
|
|
80
|
+
};
|
|
81
|
+
const ensureNamedImport = ({ ast, importedName, sourcePath, localName, }) => {
|
|
82
|
+
var _a, _b;
|
|
83
|
+
var _c, _d;
|
|
84
|
+
const existingImports = findImportDeclarations(ast, sourcePath);
|
|
85
|
+
for (const existingImportDeclaration of existingImports) {
|
|
86
|
+
const matchingSpecifier = (_a = existingImportDeclaration.specifiers) === null || _a === void 0 ? void 0 : _a.find((importSpecifierCandidate) => importSpecifierCandidate.type === 'ImportSpecifier' &&
|
|
87
|
+
(0, exports.getImportedName)(importSpecifierCandidate) === importedName);
|
|
88
|
+
if (matchingSpecifier) {
|
|
89
|
+
return (_c = (_b = matchingSpecifier.local) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : importedName;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const existingImport = existingImports.find((candidateImportDeclaration) => !hasNamespaceSpecifier(candidateImportDeclaration));
|
|
93
|
+
if (existingImport) {
|
|
94
|
+
const importSpecifier = b.importSpecifier(b.identifier(importedName), localName === importedName ? null : b.identifier(localName));
|
|
95
|
+
existingImport.specifiers = [
|
|
96
|
+
...((_d = existingImport.specifiers) !== null && _d !== void 0 ? _d : []),
|
|
97
|
+
importSpecifier,
|
|
98
|
+
];
|
|
99
|
+
return localName;
|
|
100
|
+
}
|
|
101
|
+
const specifier = b.importSpecifier(b.identifier(importedName), localName === importedName ? null : b.identifier(localName));
|
|
102
|
+
const importDeclaration = b.importDeclaration([specifier], b.stringLiteral(sourcePath));
|
|
103
|
+
(0, exports.insertImportDeclaration)(ast, importDeclaration);
|
|
104
|
+
return localName;
|
|
105
|
+
};
|
|
106
|
+
exports.ensureNamedImport = ensureNamedImport;
|
|
107
|
+
const ensureNamedImports = ({ ast, importedNames, sourcePath, }) => {
|
|
108
|
+
var _a, _b;
|
|
109
|
+
if (importedNames.size === 0) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const existingImports = findImportDeclarations(ast, sourcePath);
|
|
113
|
+
const existingNames = new Set();
|
|
114
|
+
for (const existingImportDeclaration of existingImports) {
|
|
115
|
+
for (const importSpecifierCandidate of (_a = existingImportDeclaration.specifiers) !== null && _a !== void 0 ? _a : []) {
|
|
116
|
+
if (importSpecifierCandidate.type !== 'ImportSpecifier') {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
existingNames.add((0, exports.getImportedName)(importSpecifierCandidate));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const existingImport = existingImports.find((candidateImportDeclaration) => !hasNamespaceSpecifier(candidateImportDeclaration));
|
|
123
|
+
if (existingImport) {
|
|
124
|
+
for (const importedName of importedNames) {
|
|
125
|
+
if (existingNames.has(importedName)) {
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
existingImport.specifiers = [
|
|
129
|
+
...((_b = existingImport.specifiers) !== null && _b !== void 0 ? _b : []),
|
|
130
|
+
b.importSpecifier(b.identifier(importedName)),
|
|
131
|
+
];
|
|
132
|
+
existingNames.add(importedName);
|
|
133
|
+
}
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const specifiers = [...importedNames]
|
|
137
|
+
.filter((importedName) => !existingNames.has(importedName))
|
|
138
|
+
.map((importedName) => b.importSpecifier(b.identifier(importedName)));
|
|
139
|
+
if (specifiers.length === 0) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const importDeclaration = b.importDeclaration(specifiers, b.stringLiteral(sourcePath));
|
|
143
|
+
(0, exports.insertImportDeclaration)(ast, importDeclaration);
|
|
144
|
+
};
|
|
145
|
+
exports.ensureNamedImports = ensureNamedImports;
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import type { LogLevel } from '@remotion/renderer';
|
|
8
|
-
declare const editorNames: readonly ["atom", "/Applications/Atom Beta.app/Contents/MacOS/Atom Beta", "brackets", "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl", "code", "code-insiders", "vscodium", "/Applications/AppCode.app/Contents/MacOS/appcode", "/Applications/CLion.app/Contents/MacOS/clion", "/Applications/IntelliJ IDEA.app/Contents/MacOS/idea", "/Applications/PhpStorm.app/Contents/MacOS/phpstorm", "/Applications/PyCharm.app/Contents/MacOS/pycharm", "/Applications/PyCharm CE.app/Contents/MacOS/pycharm", "/Applications/RubyMine.app/Contents/MacOS/rubymine", "/Applications/WebStorm.app/Contents/MacOS/webstorm", "/Applications/GoLand.app/Contents/MacOS/goland", "/Applications/Rider.app/Contents/MacOS/rider", "mvim", "emacs", "gvim", "idea", "phpstorm", "pycharm", "rubymine", "subl", "sublime_text", "vim", "webstorm", "goland", "rider", "Brackets.exe", "Code.exe", "Code - Insiders.exe", "VSCodium.exe", "atom.exe", "sublime_text.exe", "notepad++.exe", "clion.exe", "clion64.exe", "idea.exe", "idea64.exe", "phpstorm.exe", "phpstorm64.exe", "pycharm.exe", "pycharm64.exe", "rubymine.exe", "rubymine64.exe", "webstorm.exe", "webstorm64.exe", "goland.exe", "goland64.exe", "rider.exe", "rider64.exe", "nano", "cursor", "/Applications/Cursor.app/Contents/MacOS/Cursor", "Cursor.exe", "windsurf", "/Applications/Windsurf.app/Contents/MacOS/Windsurf", "Windsurf.exe", "zed"];
|
|
9
|
-
export declare const getDisplayNameForEditor: (editor: "/Applications/AppCode.app/Contents/MacOS/appcode" | "/Applications/Atom Beta.app/Contents/MacOS/Atom Beta" | "/Applications/CLion.app/Contents/MacOS/clion" | "/Applications/Cursor.app/Contents/MacOS/Cursor" | "/Applications/GoLand.app/Contents/MacOS/goland" | "/Applications/IntelliJ IDEA.app/Contents/MacOS/idea" | "/Applications/PhpStorm.app/Contents/MacOS/phpstorm" | "/Applications/PyCharm CE.app/Contents/MacOS/pycharm" | "/Applications/PyCharm.app/Contents/MacOS/pycharm" | "/Applications/Rider.app/Contents/MacOS/rider" | "/Applications/RubyMine.app/Contents/MacOS/rubymine" | "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" | "/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl" | "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" | "/Applications/WebStorm.app/Contents/MacOS/webstorm" | "/Applications/Windsurf.app/Contents/MacOS/Windsurf" | "Brackets.exe" | "Code - Insiders.exe" | "Code.exe" | "Cursor.exe" | "VSCodium.exe" | "Windsurf.exe" | "atom" | "atom.exe" | "brackets" | "clion.exe" | "clion64.exe" | "code" | "code-insiders" | "cursor" | "emacs" | "goland" | "goland.exe" | "goland64.exe" | "gvim" | "idea" | "idea.exe" | "idea64.exe" | "mvim" | "nano" | "notepad++.exe" | "phpstorm" | "phpstorm.exe" | "phpstorm64.exe" | "pycharm" | "pycharm.exe" | "pycharm64.exe" | "rider" | "rider.exe" | "rider64.exe" | "rubymine" | "rubymine.exe" | "rubymine64.exe" | "subl" | "sublime_text" | "sublime_text.exe" | "vim" | "vscodium" | "webstorm" | "webstorm.exe" | "webstorm64.exe" | "windsurf" | "zed" | null) => string | null;
|
|
8
|
+
declare const editorNames: readonly ["atom", "/Applications/Atom Beta.app/Contents/MacOS/Atom Beta", "brackets", "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl", "code", "code-insiders", "vscodium", "/Applications/AppCode.app/Contents/MacOS/appcode", "/Applications/CLion.app/Contents/MacOS/clion", "/Applications/IntelliJ IDEA.app/Contents/MacOS/idea", "/Applications/PhpStorm.app/Contents/MacOS/phpstorm", "/Applications/PyCharm.app/Contents/MacOS/pycharm", "/Applications/PyCharm CE.app/Contents/MacOS/pycharm", "/Applications/RubyMine.app/Contents/MacOS/rubymine", "/Applications/WebStorm.app/Contents/MacOS/webstorm", "/Applications/GoLand.app/Contents/MacOS/goland", "/Applications/Rider.app/Contents/MacOS/rider", "mvim", "emacs", "gvim", "idea", "phpstorm", "pycharm", "rubymine", "subl", "sublime_text", "vim", "webstorm", "goland", "rider", "Brackets.exe", "Code.exe", "Code - Insiders.exe", "VSCodium.exe", "atom.exe", "sublime_text.exe", "notepad++.exe", "clion.exe", "clion64.exe", "idea.exe", "idea64.exe", "phpstorm.exe", "phpstorm64.exe", "pycharm.exe", "pycharm64.exe", "rubymine.exe", "rubymine64.exe", "webstorm.exe", "webstorm64.exe", "goland.exe", "goland64.exe", "rider.exe", "rider64.exe", "nano", "cursor", "/Applications/Cursor.app/Contents/MacOS/Cursor", "Cursor.exe", "windsurf", "/Applications/Windsurf.app/Contents/MacOS/Windsurf", "Windsurf.exe", "zed", "zedit", "zeditor", "zed-editor", "/Applications/Zed.app/Contents/MacOS/zed", "/Applications/Zed.app/Contents/MacOS/cli", "/Applications/Zed Preview.app/Contents/MacOS/zed", "/Applications/Zed Preview.app/Contents/MacOS/cli", "/Applications/Zed Preview.app/Contents/MacOS/Zed Preview", "Zed.exe"];
|
|
9
|
+
export declare const getDisplayNameForEditor: (editor: "/Applications/AppCode.app/Contents/MacOS/appcode" | "/Applications/Atom Beta.app/Contents/MacOS/Atom Beta" | "/Applications/CLion.app/Contents/MacOS/clion" | "/Applications/Cursor.app/Contents/MacOS/Cursor" | "/Applications/GoLand.app/Contents/MacOS/goland" | "/Applications/IntelliJ IDEA.app/Contents/MacOS/idea" | "/Applications/PhpStorm.app/Contents/MacOS/phpstorm" | "/Applications/PyCharm CE.app/Contents/MacOS/pycharm" | "/Applications/PyCharm.app/Contents/MacOS/pycharm" | "/Applications/Rider.app/Contents/MacOS/rider" | "/Applications/RubyMine.app/Contents/MacOS/rubymine" | "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" | "/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl" | "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" | "/Applications/WebStorm.app/Contents/MacOS/webstorm" | "/Applications/Windsurf.app/Contents/MacOS/Windsurf" | "/Applications/Zed Preview.app/Contents/MacOS/Zed Preview" | "/Applications/Zed Preview.app/Contents/MacOS/cli" | "/Applications/Zed Preview.app/Contents/MacOS/zed" | "/Applications/Zed.app/Contents/MacOS/cli" | "/Applications/Zed.app/Contents/MacOS/zed" | "Brackets.exe" | "Code - Insiders.exe" | "Code.exe" | "Cursor.exe" | "VSCodium.exe" | "Windsurf.exe" | "Zed.exe" | "atom" | "atom.exe" | "brackets" | "clion.exe" | "clion64.exe" | "code" | "code-insiders" | "cursor" | "emacs" | "goland" | "goland.exe" | "goland64.exe" | "gvim" | "idea" | "idea.exe" | "idea64.exe" | "mvim" | "nano" | "notepad++.exe" | "phpstorm" | "phpstorm.exe" | "phpstorm64.exe" | "pycharm" | "pycharm.exe" | "pycharm64.exe" | "rider" | "rider.exe" | "rider64.exe" | "rubymine" | "rubymine.exe" | "rubymine64.exe" | "subl" | "sublime_text" | "sublime_text.exe" | "vim" | "vscodium" | "webstorm" | "webstorm.exe" | "webstorm64.exe" | "windsurf" | "zed" | "zed-editor" | "zedit" | "zeditor" | null) => string | null;
|
|
10
10
|
type Editor = (typeof editorNames)[number];
|
|
11
11
|
type ProcessAndCommand = {
|
|
12
12
|
process: string;
|
|
@@ -136,6 +136,15 @@ const editorNames = [
|
|
|
136
136
|
'/Applications/Windsurf.app/Contents/MacOS/Windsurf',
|
|
137
137
|
'Windsurf.exe',
|
|
138
138
|
'zed',
|
|
139
|
+
'zedit',
|
|
140
|
+
'zeditor',
|
|
141
|
+
'zed-editor',
|
|
142
|
+
'/Applications/Zed.app/Contents/MacOS/zed',
|
|
143
|
+
'/Applications/Zed.app/Contents/MacOS/cli',
|
|
144
|
+
'/Applications/Zed Preview.app/Contents/MacOS/zed',
|
|
145
|
+
'/Applications/Zed Preview.app/Contents/MacOS/cli',
|
|
146
|
+
'/Applications/Zed Preview.app/Contents/MacOS/Zed Preview',
|
|
147
|
+
'Zed.exe',
|
|
139
148
|
];
|
|
140
149
|
const displayNameForEditor = {
|
|
141
150
|
'/Applications/AppCode.app/Contents/MacOS/appcode': 'AppCode',
|
|
@@ -159,6 +168,7 @@ const displayNameForEditor = {
|
|
|
159
168
|
'Code.exe': 'VS Code',
|
|
160
169
|
'Cursor.exe': 'Cursor',
|
|
161
170
|
'Windsurf.exe': 'Windsurf',
|
|
171
|
+
'Zed.exe': 'Zed',
|
|
162
172
|
'VSCodium.exe': 'VS Codium',
|
|
163
173
|
'atom.exe': 'Atom',
|
|
164
174
|
'clion.exe': 'CLion',
|
|
@@ -186,6 +196,14 @@ const displayNameForEditor = {
|
|
|
186
196
|
cursor: 'Cursor',
|
|
187
197
|
windsurf: 'Windsurf',
|
|
188
198
|
zed: 'Zed',
|
|
199
|
+
zedit: 'Zed',
|
|
200
|
+
zeditor: 'Zed',
|
|
201
|
+
'zed-editor': 'Zed',
|
|
202
|
+
'/Applications/Zed.app/Contents/MacOS/zed': 'Zed',
|
|
203
|
+
'/Applications/Zed.app/Contents/MacOS/cli': 'Zed',
|
|
204
|
+
'/Applications/Zed Preview.app/Contents/MacOS/zed': 'Zed Preview',
|
|
205
|
+
'/Applications/Zed Preview.app/Contents/MacOS/cli': 'Zed Preview',
|
|
206
|
+
'/Applications/Zed Preview.app/Contents/MacOS/Zed Preview': 'Zed Preview',
|
|
189
207
|
emacs: 'emacs',
|
|
190
208
|
goland: 'GoLand',
|
|
191
209
|
gvim: 'GVim',
|
|
@@ -228,6 +246,9 @@ const COMMON_EDITORS_OSX = {
|
|
|
228
246
|
'/Applications/VSCodium.app/Contents/MacOS/Electron': 'vscodium',
|
|
229
247
|
'/Applications/Cursor.app/Contents/MacOS/Cursor': 'cursor',
|
|
230
248
|
'/Applications/Windsurf.app/Contents/MacOS/Electron': 'windsurf',
|
|
249
|
+
'/Applications/Zed.app/Contents/MacOS/zed': '/Applications/Zed.app/Contents/MacOS/cli',
|
|
250
|
+
'/Applications/Zed Preview.app/Contents/MacOS/zed': '/Applications/Zed Preview.app/Contents/MacOS/cli',
|
|
251
|
+
'/Applications/Zed Preview.app/Contents/MacOS/Zed Preview': '/Applications/Zed Preview.app/Contents/MacOS/cli',
|
|
231
252
|
'/Applications/AppCode.app/Contents/MacOS/appcode': '/Applications/AppCode.app/Contents/MacOS/appcode',
|
|
232
253
|
'/Applications/CLion.app/Contents/MacOS/clion': '/Applications/CLion.app/Contents/MacOS/clion',
|
|
233
254
|
'/Applications/IntelliJ IDEA.app/Contents/MacOS/idea': '/Applications/IntelliJ IDEA.app/Contents/MacOS/idea',
|
|
@@ -248,6 +269,9 @@ const COMMON_EDITORS_LINUX = {
|
|
|
248
269
|
cursor: 'cursor',
|
|
249
270
|
windsurf: 'windsurf',
|
|
250
271
|
zed: 'zed',
|
|
272
|
+
zedit: 'zedit',
|
|
273
|
+
zeditor: 'zeditor',
|
|
274
|
+
'zed-editor': 'zed-editor',
|
|
251
275
|
vscodium: 'vscodium',
|
|
252
276
|
emacs: 'emacs',
|
|
253
277
|
gvim: 'gvim',
|
|
@@ -268,6 +292,7 @@ const COMMON_EDITORS_WIN = [
|
|
|
268
292
|
'VSCodium.exe',
|
|
269
293
|
'Cursor.exe',
|
|
270
294
|
'Windsurf.exe',
|
|
295
|
+
'Zed.exe',
|
|
271
296
|
'atom.exe',
|
|
272
297
|
'sublime_text.exe',
|
|
273
298
|
'notepad++.exe',
|
|
@@ -294,7 +319,17 @@ const COMMON_EDITORS_WIN = [
|
|
|
294
319
|
const WINDOWS_FILE_NAME_WHITELIST = /^([A-Za-z]:[/\\])?(?:[\x2D-9A-Z\\_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFF1]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])+$/;
|
|
295
320
|
function getArgumentsForLineNumber(editor, fileName, lineNumber, colNumber) {
|
|
296
321
|
const editorBasename = node_path_1.default.basename(editor).replace(/\.(exe|cmd|bat)$/i, '');
|
|
322
|
+
const isZedEditor = editor === 'zed' ||
|
|
323
|
+
editor === 'zedit' ||
|
|
324
|
+
editor === 'zeditor' ||
|
|
325
|
+
editor === 'zed-editor' ||
|
|
326
|
+
editor === 'Zed.exe' ||
|
|
327
|
+
editor.endsWith('/Zed.app/Contents/MacOS/cli') ||
|
|
328
|
+
editor.endsWith('/Zed Preview.app/Contents/MacOS/cli');
|
|
297
329
|
const isFolder = node_fs_1.default.existsSync(fileName) && node_fs_1.default.lstatSync(fileName).isDirectory();
|
|
330
|
+
if (isZedEditor) {
|
|
331
|
+
return [fileName + ':' + lineNumber + ':' + colNumber];
|
|
332
|
+
}
|
|
298
333
|
switch (editorBasename) {
|
|
299
334
|
case 'atom':
|
|
300
335
|
case 'Atom':
|
|
@@ -333,8 +368,6 @@ function getArgumentsForLineNumber(editor, fileName, lineNumber, colNumber) {
|
|
|
333
368
|
case 'windsurf':
|
|
334
369
|
case 'Windsurf':
|
|
335
370
|
return ['-g', fileName + ':' + lineNumber + ':' + colNumber];
|
|
336
|
-
case 'zed':
|
|
337
|
-
return ['--new', fileName + ':' + lineNumber + ':' + colNumber];
|
|
338
371
|
case 'appcode':
|
|
339
372
|
case 'clion':
|
|
340
373
|
case 'clion64':
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { InsertableCompositionElement } from '@remotion/studio-shared';
|
|
1
2
|
export type ResolvedCompositionComponent = {
|
|
2
3
|
source: string;
|
|
3
4
|
line: number;
|
|
@@ -9,3 +10,17 @@ export declare const resolveCompositionComponent: ({ remotionRoot, compositionFi
|
|
|
9
10
|
compositionFile: string;
|
|
10
11
|
compositionId: string;
|
|
11
12
|
}) => Promise<ResolvedCompositionComponent>;
|
|
13
|
+
export declare const insertJsxElementIntoComposition: ({ remotionRoot, compositionFile, compositionId, element, prettierConfigOverride, }: {
|
|
14
|
+
remotionRoot: string;
|
|
15
|
+
compositionFile: string;
|
|
16
|
+
compositionId: string;
|
|
17
|
+
element: InsertableCompositionElement;
|
|
18
|
+
prettierConfigOverride: Record<string, unknown> | null;
|
|
19
|
+
}) => Promise<{
|
|
20
|
+
fileName: string;
|
|
21
|
+
source: string;
|
|
22
|
+
oldContents: string;
|
|
23
|
+
output: string;
|
|
24
|
+
formatted: boolean;
|
|
25
|
+
logLine: number;
|
|
26
|
+
}>;
|