@remotion/studio-server 4.0.537 → 4.0.539
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/ansi-diff.js +3 -19
- package/dist/better-opn/index.d.ts +4 -2
- package/dist/canvas-capture/generate-canvas-capture-composition.d.ts +14 -0
- package/dist/canvas-capture/generate-canvas-capture-composition.js +239 -0
- package/dist/codemods/add-effect.d.ts +1 -0
- package/dist/codemods/add-effect.js +8 -0
- package/dist/codemods/apply-codemod-to-file.d.ts +7 -0
- package/dist/codemods/apply-codemod-to-file.js +171 -0
- package/dist/codemods/apply-visual-control.d.ts +8 -0
- package/dist/codemods/apply-visual-control.js +89 -0
- package/dist/codemods/delete-effect.d.ts +1 -0
- package/dist/codemods/delete-effect.js +6 -0
- package/dist/codemods/delete-jsx-node.d.ts +22 -0
- package/dist/codemods/delete-jsx-node.js +17 -0
- package/dist/codemods/delete-jsx-nodes.d.ts +13 -0
- package/dist/codemods/delete-jsx-nodes.js +10 -0
- package/dist/codemods/duplicate-composition.d.ts +2 -0
- package/dist/codemods/duplicate-composition.js +64 -0
- package/dist/codemods/duplicate-effect.d.ts +1 -0
- package/dist/codemods/duplicate-effect.js +6 -0
- package/dist/codemods/duplicate-jsx-node.d.ts +25 -0
- package/dist/codemods/duplicate-jsx-node.js +26 -0
- package/dist/codemods/effect-param-expression.d.ts +2 -2
- package/dist/codemods/format-file-content.d.ts +7 -0
- package/dist/codemods/format-file-content.js +80 -0
- package/dist/codemods/format-inline-content.d.ts +18 -0
- package/dist/codemods/format-inline-content.js +78 -0
- package/dist/codemods/get-node-path-remappings.d.ts +1 -12
- package/dist/codemods/get-node-path-remappings.js +1 -51
- package/dist/codemods/insert-video-layers.d.ts +11 -0
- package/dist/codemods/insert-video-layers.js +5 -0
- package/dist/codemods/paste-effects.d.ts +2 -15
- package/dist/codemods/recast-mods.d.ts +13 -0
- package/dist/codemods/recast-mods.js +902 -0
- package/dist/codemods/reorder-effect.d.ts +1 -0
- package/dist/codemods/reorder-effect.js +5 -0
- package/dist/codemods/reorder-sequence.d.ts +1 -0
- package/dist/codemods/reorder-sequence.js +5 -0
- package/dist/codemods/simple-diff.d.ts +5 -0
- package/dist/codemods/simple-diff.js +39 -0
- package/dist/codemods/split-jsx-sequence.d.ts +27 -0
- package/dist/codemods/split-jsx-sequence.js +19 -0
- package/dist/codemods/split-video-from-audio.d.ts +1 -0
- package/dist/codemods/split-video-from-audio.js +5 -0
- package/dist/codemods/update-default-props.d.ts +1 -0
- package/dist/codemods/update-default-props.js +6 -0
- package/dist/codemods/update-effect-props/update-effect-props.d.ts +2 -2
- package/dist/codemods/update-inline-caption-patches.d.ts +1 -0
- package/dist/codemods/update-inline-caption-patches.js +5 -0
- package/dist/codemods/update-keyframes/ensure-imports-and-frame-hook.d.ts +1 -0
- package/dist/codemods/update-keyframes/ensure-imports-and-frame-hook.js +7 -0
- package/dist/codemods/update-keyframes/update-keyframes.d.ts +3 -3
- package/dist/codemods/update-nested-prop.d.ts +1 -1
- package/dist/detect-outdated-remotion-skills.d.ts +3 -3
- package/dist/figma/figma-to-svg.d.ts +1 -1
- package/dist/file-watcher.d.ts +1 -1
- package/dist/helpers/coding-agent-registry.d.ts +3 -3
- package/dist/helpers/css-shorthand-properties.d.ts +8 -7
- package/dist/helpers/custom-editor.d.ts +2 -2
- package/dist/helpers/editor-registry.d.ts +2 -2
- package/dist/helpers/get-ast-node-path.d.ts +2 -1
- package/dist/helpers/import-agnostic-node-path.js +22 -13
- package/dist/helpers/open-in-app.d.ts +3 -3
- package/dist/helpers/open-in-editor.d.ts +2 -2
- package/dist/helpers/package-manager-spawn-options.d.ts +1 -1
- package/dist/helpers/read-source-file.d.ts +4 -0
- package/dist/helpers/read-source-file.js +14 -0
- package/dist/helpers/recently-used-apps.d.ts +2 -2
- package/dist/helpers/resolve-composition-component.d.ts +2 -2
- package/dist/helpers/resolve-editor.d.ts +3 -3
- package/dist/helpers/terminal-artwork.d.ts +4 -4
- package/dist/helpers/video-config-values.d.ts +4 -0
- package/dist/helpers/video-config-values.js +11 -3
- package/dist/index.d.ts +39 -100
- package/dist/index.js +1 -1
- package/dist/maybe-open-browser.d.ts +2 -1
- package/dist/open-browser-shortcut.d.ts +9 -0
- package/dist/open-browser-shortcut.js +121 -0
- package/dist/preview-server/api-types.d.ts +1 -1
- package/dist/preview-server/dev-middleware/index.d.ts +2 -1
- package/dist/preview-server/dev-middleware/middleware.d.ts +1 -1
- package/dist/preview-server/dev-middleware/middleware.js +14 -17
- package/dist/preview-server/element-install-state.d.ts +1 -1
- package/dist/preview-server/get-package-manager.d.ts +3 -2
- package/dist/preview-server/handler.d.ts +4 -4
- package/dist/preview-server/hmr-timing.d.ts +2 -1
- package/dist/preview-server/hot-middleware/index.d.ts +2 -1
- package/dist/preview-server/hot-middleware/types.d.ts +2 -0
- package/dist/preview-server/hot-middleware/types.js +2 -0
- package/dist/preview-server/jsx-component-identity.d.ts +4 -3
- package/dist/preview-server/live-events.d.ts +3 -2
- package/dist/preview-server/public-folder.js +11 -2
- package/dist/preview-server/routes/add-keyframes.d.ts +2 -1
- package/dist/preview-server/routes/app-icon.d.ts +1 -1
- package/dist/preview-server/routes/apply-codemod.d.ts +4 -0
- package/dist/preview-server/routes/apply-codemod.js +272 -0
- package/dist/preview-server/routes/apply-visual-control-change.js +1 -4
- package/dist/preview-server/routes/batch-update-keyframe-settings.d.ts +2 -1
- package/dist/preview-server/routes/can-update-default-props.d.ts +2 -1
- package/dist/preview-server/routes/can-update-effect-props.d.ts +2 -6
- package/dist/preview-server/routes/can-update-sequence-props.d.ts +17 -13
- package/dist/preview-server/routes/can-update-sequence-props.js +21 -25
- package/dist/preview-server/routes/delete-jsx-node.d.ts +3 -0
- package/dist/preview-server/routes/delete-jsx-node.js +126 -0
- package/dist/preview-server/routes/delete-jsx-nodes.d.ts +3 -0
- package/dist/preview-server/routes/delete-jsx-nodes.js +137 -0
- package/dist/preview-server/routes/delete-keyframes.d.ts +4 -6
- package/dist/preview-server/routes/delete-keyframes.js +4 -66
- package/dist/preview-server/routes/duplicate-jsx-node.d.ts +3 -0
- package/dist/preview-server/routes/duplicate-jsx-node.js +118 -0
- package/dist/preview-server/routes/element-install-plan.d.ts +3 -3
- package/dist/preview-server/routes/find-in-file.d.ts +2 -9
- package/dist/preview-server/routes/insert-element.js +1 -4
- package/dist/preview-server/routes/insert-jsx-element.d.ts +3 -0
- package/dist/preview-server/routes/insert-jsx-element.js +231 -0
- package/dist/preview-server/routes/insert-video-layers.d.ts +3 -0
- package/dist/preview-server/routes/insert-video-layers.js +68 -0
- package/dist/preview-server/routes/install-dependency.d.ts +2 -14
- package/dist/preview-server/routes/log-updates/log-effect-update.d.ts +2 -1
- package/dist/preview-server/routes/log-updates/log-update.d.ts +3 -2
- package/dist/preview-server/routes/move-keyframes.d.ts +2 -1
- package/dist/preview-server/routes/open-in-editor.d.ts +2 -2
- package/dist/preview-server/routes/remotion-skills-info.d.ts +1 -1
- package/dist/preview-server/routes/save-multiple-effect-props.js +25 -8
- package/dist/preview-server/routes/save-sequence-props.d.ts +2 -2
- package/dist/preview-server/routes/source-file-write-queue.d.ts +3 -2
- package/dist/preview-server/routes/split-jsx-sequence.d.ts +3 -0
- package/dist/preview-server/routes/split-jsx-sequence.js +117 -0
- package/dist/preview-server/routes/subscribe-to-sequence-props.js +55 -34
- package/dist/preview-server/routes/update-public-license.d.ts +11 -0
- package/dist/preview-server/routes/update-public-license.js +97 -0
- 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/sequence-node-path-mutation.d.ts +2 -6
- package/dist/preview-server/sequence-props-watchers.d.ts +7 -5
- package/dist/preview-server/sequence-props-watchers.js +7 -2
- package/dist/preview-server/serve-static.d.ts +1 -1
- package/dist/preview-server/serve-static.js +18 -1
- package/dist/preview-server/start-server.d.ts +3 -3
- package/dist/preview-server/studio-protocol/handle-discovery.d.ts +1 -1
- package/dist/preview-server/studio-protocol/handle-element-library.d.ts +1 -1
- package/dist/preview-server/studio-protocol/handle-install.d.ts +1 -1
- package/dist/preview-server/studio-protocol/handle-license-key.d.ts +1 -1
- package/dist/preview-server/studio-protocol/origin-policy.d.ts +2 -2
- package/dist/preview-server/studio-protocol/protocol-response.d.ts +1 -1
- package/dist/preview-server/undo-stack.d.ts +3 -3
- package/dist/preview-server/undo-stack.js +9 -0
- package/dist/preview-server/update-available.d.ts +3 -2
- package/dist/preview-server/validate-same-origin.js +2 -1
- package/dist/remotion-skill-names.d.ts +1 -1
- package/dist/routes.d.ts +4 -4
- package/dist/server-ready.d.ts +2 -1
- package/dist/start-studio.d.ts +3 -3
- package/dist/studio-shortcuts.d.ts +3 -3
- package/package.json +10 -10
|
@@ -34,7 +34,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.computeSequencePropsStatusFromFilenameByLocation = exports.computeSequencePropsStatus = exports.computeSequencePropsStatusFromContent = exports.resolveSequencePropsNodePathsFromFilename = exports.lineColumnsToNodePaths = exports.lineColumnToNodePath = exports.findNodePathForJsxElement = exports.getStaticJsxTextContent = exports.hasJsxChildrenAttribute = exports.getStaticJsxChildrenAttribute = exports.findJsxElementNodeAtNodePath = exports.findJsxElementAtNodePath = exports.findJsxElementPathAtNodePath = exports.getNodePathForRecastPath = exports.getComputedStatus = exports.extractStaticValue = exports.isStaticValue = void 0;
|
|
37
|
-
const node_fs_1 = require("node:fs");
|
|
38
37
|
const codemods_1 = require("@remotion/codemods");
|
|
39
38
|
const renderer_1 = require("@remotion/renderer");
|
|
40
39
|
const studio_shared_1 = require("@remotion/studio-shared");
|
|
@@ -43,6 +42,7 @@ const no_react_1 = require("remotion/no-react");
|
|
|
43
42
|
const get_ast_node_path_1 = require("../../helpers/get-ast-node-path");
|
|
44
43
|
const import_agnostic_node_path_1 = require("../../helpers/import-agnostic-node-path");
|
|
45
44
|
const parse_keyframe_easing_expression_1 = require("../../helpers/parse-keyframe-easing-expression");
|
|
45
|
+
const read_source_file_1 = require("../../helpers/read-source-file");
|
|
46
46
|
const resolve_file_inside_project_1 = require("../../helpers/resolve-file-inside-project");
|
|
47
47
|
const video_config_numeric_expression_1 = require("../../helpers/video-config-numeric-expression");
|
|
48
48
|
const jsx_component_identity_1 = require("../jsx-component-identity");
|
|
@@ -513,7 +513,7 @@ const findNodePath = (ast, target) => {
|
|
|
513
513
|
visitNode(p) {
|
|
514
514
|
if (p.node === target) {
|
|
515
515
|
found = p;
|
|
516
|
-
return
|
|
516
|
+
return this.abort();
|
|
517
517
|
}
|
|
518
518
|
return this.traverse(p);
|
|
519
519
|
},
|
|
@@ -604,11 +604,13 @@ const getFrameDisplayOffsetAdjustmentBetweenPaths = ({ startPath, endPath, video
|
|
|
604
604
|
? { adjustment, playbackRateAdjustment, hasEnclosingElement }
|
|
605
605
|
: null;
|
|
606
606
|
};
|
|
607
|
-
const resolveCurrentFrameExpression = ({ node, ast, seenDeclarations, }) => {
|
|
607
|
+
const resolveCurrentFrameExpression = ({ node, nodePath, ast, seenDeclarations, }) => {
|
|
608
608
|
var _a;
|
|
609
|
+
var _b, _c, _d;
|
|
609
610
|
if (node.type === 'TSAsExpression') {
|
|
610
611
|
return resolveCurrentFrameExpression({
|
|
611
612
|
node: node.expression,
|
|
613
|
+
nodePath: (_b = nodePath === null || nodePath === void 0 ? void 0 : nodePath.get('expression')) !== null && _b !== void 0 ? _b : null,
|
|
612
614
|
ast,
|
|
613
615
|
seenDeclarations,
|
|
614
616
|
});
|
|
@@ -619,6 +621,7 @@ const resolveCurrentFrameExpression = ({ node, ast, seenDeclarations, }) => {
|
|
|
619
621
|
if (rightValue !== null && Number.isFinite(rightValue)) {
|
|
620
622
|
const resolvedLeft = resolveCurrentFrameExpression({
|
|
621
623
|
node: node.left,
|
|
624
|
+
nodePath: (_c = nodePath === null || nodePath === void 0 ? void 0 : nodePath.get('left')) !== null && _c !== void 0 ? _c : null,
|
|
622
625
|
ast,
|
|
623
626
|
seenDeclarations,
|
|
624
627
|
});
|
|
@@ -635,6 +638,7 @@ const resolveCurrentFrameExpression = ({ node, ast, seenDeclarations, }) => {
|
|
|
635
638
|
if (leftValue !== null && Number.isFinite(leftValue)) {
|
|
636
639
|
const resolvedRight = resolveCurrentFrameExpression({
|
|
637
640
|
node: node.right,
|
|
641
|
+
nodePath: (_d = nodePath === null || nodePath === void 0 ? void 0 : nodePath.get('right')) !== null && _d !== void 0 ? _d : null,
|
|
638
642
|
ast,
|
|
639
643
|
seenDeclarations,
|
|
640
644
|
});
|
|
@@ -651,7 +655,6 @@ const resolveCurrentFrameExpression = ({ node, ast, seenDeclarations, }) => {
|
|
|
651
655
|
if (node.type !== 'Identifier') {
|
|
652
656
|
return null;
|
|
653
657
|
}
|
|
654
|
-
const nodePath = findNodePath(ast, node);
|
|
655
658
|
const bindingScope = (_a = nodePath === null || nodePath === void 0 ? void 0 : nodePath.scope) === null || _a === void 0 ? void 0 : _a.lookup(node.name);
|
|
656
659
|
if (!nodePath || !bindingScope) {
|
|
657
660
|
return null;
|
|
@@ -659,6 +662,7 @@ const resolveCurrentFrameExpression = ({ node, ast, seenDeclarations, }) => {
|
|
|
659
662
|
let matchingDeclarations = 0;
|
|
660
663
|
let matchingDeclaration = null;
|
|
661
664
|
let initializer = null;
|
|
665
|
+
let initializerPath = null;
|
|
662
666
|
let isConstDeclaration = false;
|
|
663
667
|
recast.types.visit(bindingScope.path, {
|
|
664
668
|
visitVariableDeclarator(p) {
|
|
@@ -674,6 +678,7 @@ const resolveCurrentFrameExpression = ({ node, ast, seenDeclarations, }) => {
|
|
|
674
678
|
if (init) {
|
|
675
679
|
matchingDeclaration = p.node;
|
|
676
680
|
initializer = init;
|
|
681
|
+
initializerPath = p.get('init');
|
|
677
682
|
isConstDeclaration =
|
|
678
683
|
declaration.type === 'VariableDeclaration' &&
|
|
679
684
|
declaration.kind === 'const';
|
|
@@ -697,6 +702,7 @@ const resolveCurrentFrameExpression = ({ node, ast, seenDeclarations, }) => {
|
|
|
697
702
|
nextSeenDeclarations.add(matchingDeclaration);
|
|
698
703
|
return resolveCurrentFrameExpression({
|
|
699
704
|
node: initializer,
|
|
705
|
+
nodePath: initializerPath,
|
|
700
706
|
ast,
|
|
701
707
|
seenDeclarations: nextSeenDeclarations,
|
|
702
708
|
});
|
|
@@ -712,6 +718,7 @@ const getCurrentFrameDisplayOffsetAdjustment = ({ node, ast, videoConfigValues,
|
|
|
712
718
|
const nodePath = findNodePath(ast, node);
|
|
713
719
|
const resolved = resolveCurrentFrameExpression({
|
|
714
720
|
node,
|
|
721
|
+
nodePath,
|
|
715
722
|
ast,
|
|
716
723
|
seenDeclarations: new Set(),
|
|
717
724
|
});
|
|
@@ -951,29 +958,16 @@ const lineColumnsToNodePaths = ({ ast, targets, fileContents, }) => {
|
|
|
951
958
|
return targets.map((_, index) => exactMatchCounts[index] === 1 ? exactMatches[index] : lineMatches[index]);
|
|
952
959
|
};
|
|
953
960
|
exports.lineColumnsToNodePaths = lineColumnsToNodePaths;
|
|
954
|
-
const resolveSequencePropsNodePathsFromFilename = ({ fileName, targets, remotionRoot, }) => {
|
|
961
|
+
const resolveSequencePropsNodePathsFromFilename = ({ fileName, targets, remotionRoot, fileContentsCache, }) => {
|
|
955
962
|
const { absolutePath } = (0, resolve_file_inside_project_1.resolveFileInsideProject)({
|
|
956
963
|
remotionRoot,
|
|
957
964
|
fileName,
|
|
958
965
|
action: 'read',
|
|
959
966
|
});
|
|
960
|
-
const fileContents = (0,
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
});
|
|
965
|
-
return targets.map(({ line, column }) => {
|
|
966
|
-
var _a;
|
|
967
|
-
var _b;
|
|
968
|
-
const lineMatches = nodes.filter((node) => {
|
|
969
|
-
var _a;
|
|
970
|
-
return ((_a = node.location) === null || _a === void 0 ? void 0 : _a.line) === line;
|
|
971
|
-
});
|
|
972
|
-
const exactMatches = lineMatches.filter((node) => {
|
|
973
|
-
var _a;
|
|
974
|
-
return ((_a = node.location) === null || _a === void 0 ? void 0 : _a.column) === column;
|
|
975
|
-
});
|
|
976
|
-
return ((_b = (_a = (exactMatches.length === 1 ? exactMatches[0] : lineMatches.at(-1))) === null || _a === void 0 ? void 0 : _a.nodePath) !== null && _b !== void 0 ? _b : null);
|
|
967
|
+
const fileContents = (0, read_source_file_1.readSourceFile)({ absolutePath, fileContentsCache });
|
|
968
|
+
return codemods_1.CodemodsInternals.resolveNodePathsFromLocations({
|
|
969
|
+
fileContents,
|
|
970
|
+
targets,
|
|
977
971
|
});
|
|
978
972
|
};
|
|
979
973
|
exports.resolveSequencePropsNodePathsFromFilename = resolveSequencePropsNodePathsFromFilename;
|
|
@@ -999,13 +993,13 @@ const computeSequencePropsStatusFromContent = ({ fileContents, nodePath, compone
|
|
|
999
993
|
}
|
|
1000
994
|
};
|
|
1001
995
|
exports.computeSequencePropsStatusFromContent = computeSequencePropsStatusFromContent;
|
|
1002
|
-
const computeSequencePropsStatus = ({ fileName, nodePath, componentIdentity, keys, assetKeys = [], effects, remotionRoot, }) => {
|
|
996
|
+
const computeSequencePropsStatus = ({ fileName, nodePath, componentIdentity, keys, assetKeys = [], effects, remotionRoot, fileContentsCache, }) => {
|
|
1003
997
|
const { absolutePath } = (0, resolve_file_inside_project_1.resolveFileInsideProject)({
|
|
1004
998
|
remotionRoot,
|
|
1005
999
|
fileName,
|
|
1006
1000
|
action: 'read',
|
|
1007
1001
|
});
|
|
1008
|
-
const fileContents = (0,
|
|
1002
|
+
const fileContents = (0, read_source_file_1.readSourceFile)({ absolutePath, fileContentsCache });
|
|
1009
1003
|
return (0, exports.computeSequencePropsStatusFromContent)({
|
|
1010
1004
|
fileContents,
|
|
1011
1005
|
nodePath,
|
|
@@ -1016,7 +1010,7 @@ const computeSequencePropsStatus = ({ fileName, nodePath, componentIdentity, key
|
|
|
1016
1010
|
});
|
|
1017
1011
|
};
|
|
1018
1012
|
exports.computeSequencePropsStatus = computeSequencePropsStatus;
|
|
1019
|
-
const computeSequencePropsStatusFromFilenameByLocation = ({ fileName, line, column, componentIdentity, keys, assetKeys = [], effects, remotionRoot, logLevel, }) => {
|
|
1013
|
+
const computeSequencePropsStatusFromFilenameByLocation = ({ fileName, line, column, componentIdentity, keys, assetKeys = [], effects, remotionRoot, logLevel, fileContentsCache, }) => {
|
|
1020
1014
|
try {
|
|
1021
1015
|
const { absolutePath } = (0, resolve_file_inside_project_1.resolveFileInsideProject)({
|
|
1022
1016
|
remotionRoot,
|
|
@@ -1027,6 +1021,7 @@ const computeSequencePropsStatusFromFilenameByLocation = ({ fileName, line, colu
|
|
|
1027
1021
|
fileName,
|
|
1028
1022
|
targets: [{ line, column }],
|
|
1029
1023
|
remotionRoot,
|
|
1024
|
+
fileContentsCache,
|
|
1030
1025
|
});
|
|
1031
1026
|
if (!resolvedNodePath) {
|
|
1032
1027
|
return {
|
|
@@ -1046,6 +1041,7 @@ const computeSequencePropsStatusFromFilenameByLocation = ({ fileName, line, colu
|
|
|
1046
1041
|
assetKeys,
|
|
1047
1042
|
effects,
|
|
1048
1043
|
remotionRoot,
|
|
1044
|
+
fileContentsCache,
|
|
1049
1045
|
}),
|
|
1050
1046
|
nodePath: {
|
|
1051
1047
|
absolutePath,
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteJsxNodeHandler = void 0;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const renderer_1 = require("@remotion/renderer");
|
|
6
|
+
const delete_jsx_node_1 = require("../../codemods/delete-jsx-node");
|
|
7
|
+
const file_watcher_1 = require("../../file-watcher");
|
|
8
|
+
const resolve_file_inside_project_1 = require("../../helpers/resolve-file-inside-project");
|
|
9
|
+
const format_log_file_location_1 = require("../format-log-file-location");
|
|
10
|
+
const hmr_timing_1 = require("../hmr-timing");
|
|
11
|
+
const sequence_node_path_mutation_1 = require("../sequence-node-path-mutation");
|
|
12
|
+
const undo_stack_1 = require("../undo-stack");
|
|
13
|
+
const source_file_write_queue_1 = require("./source-file-write-queue");
|
|
14
|
+
const getDeletedNodeDescription = (nodeLabels) => {
|
|
15
|
+
if (nodeLabels.length === 1) {
|
|
16
|
+
return nodeLabels[0];
|
|
17
|
+
}
|
|
18
|
+
return `${nodeLabels.length} JSX nodes`;
|
|
19
|
+
};
|
|
20
|
+
const deleteJsxNodeHandler = ({ input: { nodes }, remotionRoot, logLevel }) => {
|
|
21
|
+
return (0, source_file_write_queue_1.withSourceFileWriteQueue)(async () => {
|
|
22
|
+
var _a;
|
|
23
|
+
try {
|
|
24
|
+
(0, hmr_timing_1.logHmrTiming)({
|
|
25
|
+
detail: null,
|
|
26
|
+
logLevel,
|
|
27
|
+
stage: 'delete-jsx-node-request-start',
|
|
28
|
+
});
|
|
29
|
+
if (nodes.length === 0) {
|
|
30
|
+
throw new Error('No JSX nodes were specified for deletion');
|
|
31
|
+
}
|
|
32
|
+
renderer_1.RenderInternals.Log.trace({ indent: false, logLevel }, `[delete-jsx-node] Received request to delete ${nodes.length} JSX node${nodes.length === 1 ? '' : 's'}`);
|
|
33
|
+
const itemsByFileName = new Map();
|
|
34
|
+
for (const item of nodes) {
|
|
35
|
+
const fileItems = (_a = itemsByFileName.get(item.fileName)) !== null && _a !== void 0 ? _a : [];
|
|
36
|
+
fileItems.push(item);
|
|
37
|
+
itemsByFileName.set(item.fileName, fileItems);
|
|
38
|
+
}
|
|
39
|
+
const updates = await Promise.all([...itemsByFileName.entries()].map(async ([fileName, fileItems]) => {
|
|
40
|
+
const { absolutePath, fileRelativeToRoot } = (0, resolve_file_inside_project_1.resolveFileInsideProject)({
|
|
41
|
+
remotionRoot,
|
|
42
|
+
fileName,
|
|
43
|
+
action: 'modify',
|
|
44
|
+
});
|
|
45
|
+
const fileContents = (0, node_fs_1.readFileSync)(absolutePath, 'utf-8');
|
|
46
|
+
const { output, nodeLabels, logLines, nodePathRemappings } = await (0, delete_jsx_node_1.deleteJsxNodes)({
|
|
47
|
+
input: fileContents,
|
|
48
|
+
nodePaths: fileItems.map((item) => item.nodePath),
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
absolutePath,
|
|
52
|
+
fileRelativeToRoot,
|
|
53
|
+
fileContents,
|
|
54
|
+
output,
|
|
55
|
+
nodeLabels,
|
|
56
|
+
nodePathRemappings,
|
|
57
|
+
logLine: Math.min(...logLines),
|
|
58
|
+
};
|
|
59
|
+
}));
|
|
60
|
+
(0, hmr_timing_1.logHmrTiming)({
|
|
61
|
+
detail: `files=${updates.length}`,
|
|
62
|
+
logLevel,
|
|
63
|
+
stage: 'delete-jsx-node-codemod-complete',
|
|
64
|
+
});
|
|
65
|
+
const nodePathMutation = (0, sequence_node_path_mutation_1.broadcastSequenceNodePathMutation)(updates.map((update) => ({
|
|
66
|
+
absolutePath: update.absolutePath,
|
|
67
|
+
remappings: update.nodePathRemappings,
|
|
68
|
+
})), null);
|
|
69
|
+
for (const update of updates) {
|
|
70
|
+
const deletedNodeDescription = getDeletedNodeDescription(update.nodeLabels);
|
|
71
|
+
(0, undo_stack_1.pushToUndoStack)({
|
|
72
|
+
filePath: update.absolutePath,
|
|
73
|
+
oldContents: update.fileContents,
|
|
74
|
+
newContents: null,
|
|
75
|
+
logLevel,
|
|
76
|
+
remotionRoot,
|
|
77
|
+
logLine: update.logLine,
|
|
78
|
+
description: {
|
|
79
|
+
undoMessage: `↩️ Deletion of ${deletedNodeDescription}`,
|
|
80
|
+
redoMessage: `↪️ Deletion of ${deletedNodeDescription}`,
|
|
81
|
+
},
|
|
82
|
+
entryType: 'delete-jsx-node',
|
|
83
|
+
suppressHmrOnFileRestore: false,
|
|
84
|
+
nodePathRemappings: update.nodePathRemappings,
|
|
85
|
+
});
|
|
86
|
+
(0, undo_stack_1.suppressUndoStackInvalidation)(update.absolutePath);
|
|
87
|
+
(0, hmr_timing_1.logHmrTiming)({
|
|
88
|
+
detail: `file=${update.fileRelativeToRoot}`,
|
|
89
|
+
logLevel,
|
|
90
|
+
stage: 'source-file-write-start',
|
|
91
|
+
});
|
|
92
|
+
(0, file_watcher_1.writeFileAndNotifyFileWatchers)({
|
|
93
|
+
file: update.absolutePath,
|
|
94
|
+
content: update.output,
|
|
95
|
+
originatorClientId: undefined,
|
|
96
|
+
metadata: { skipSequencePropsUpdate: true },
|
|
97
|
+
});
|
|
98
|
+
(0, hmr_timing_1.logHmrTiming)({
|
|
99
|
+
detail: `file=${update.fileRelativeToRoot}`,
|
|
100
|
+
logLevel,
|
|
101
|
+
stage: 'source-file-write-complete',
|
|
102
|
+
});
|
|
103
|
+
const locationLabel = (0, format_log_file_location_1.formatLogFileLocation)({
|
|
104
|
+
remotionRoot,
|
|
105
|
+
absolutePath: update.absolutePath,
|
|
106
|
+
line: update.logLine,
|
|
107
|
+
});
|
|
108
|
+
renderer_1.RenderInternals.Log.info({ indent: false, logLevel }, `${(0, source_file_write_queue_1.getCodemodTimingPrefix)(logLevel)}${renderer_1.RenderInternals.chalk.blueBright(`${locationLabel}`)} Deleted ${deletedNodeDescription}`);
|
|
109
|
+
renderer_1.RenderInternals.Log.verbose({ indent: false, logLevel }, `[delete-jsx-node] Wrote ${update.fileRelativeToRoot}`);
|
|
110
|
+
}
|
|
111
|
+
(0, undo_stack_1.printUndoHint)(logLevel);
|
|
112
|
+
return {
|
|
113
|
+
success: true,
|
|
114
|
+
nodePathMutation,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
return {
|
|
119
|
+
success: false,
|
|
120
|
+
reason: err.message,
|
|
121
|
+
stack: err.stack,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
exports.deleteJsxNodeHandler = deleteJsxNodeHandler;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteJsxNodesHandler = void 0;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const codemods_1 = require("@remotion/codemods");
|
|
6
|
+
const renderer_1 = require("@remotion/renderer");
|
|
7
|
+
const file_watcher_1 = require("../../file-watcher");
|
|
8
|
+
const resolve_file_inside_project_1 = require("../../helpers/resolve-file-inside-project");
|
|
9
|
+
const format_log_file_location_1 = require("../format-log-file-location");
|
|
10
|
+
const hmr_timing_1 = require("../hmr-timing");
|
|
11
|
+
const sequence_node_path_mutation_1 = require("../sequence-node-path-mutation");
|
|
12
|
+
const undo_stack_1 = require("../undo-stack");
|
|
13
|
+
const source_file_write_queue_1 = require("./source-file-write-queue");
|
|
14
|
+
const getDeletedNodeDescription = (nodeLabels) => {
|
|
15
|
+
if (nodeLabels.length === 1) {
|
|
16
|
+
return nodeLabels[0];
|
|
17
|
+
}
|
|
18
|
+
return `${nodeLabels.length} JSX nodes`;
|
|
19
|
+
};
|
|
20
|
+
const deleteJsxNodesHandler = ({ input: { nodes }, remotionRoot, logLevel }) => {
|
|
21
|
+
return (0, source_file_write_queue_1.withSourceFileWriteQueue)(async () => {
|
|
22
|
+
var _a;
|
|
23
|
+
try {
|
|
24
|
+
(0, hmr_timing_1.logHmrTiming)({
|
|
25
|
+
detail: null,
|
|
26
|
+
logLevel,
|
|
27
|
+
stage: 'delete-jsx-nodes-request-start',
|
|
28
|
+
});
|
|
29
|
+
if (nodes.length === 0) {
|
|
30
|
+
throw new Error('No JSX nodes were specified for deletion');
|
|
31
|
+
}
|
|
32
|
+
renderer_1.RenderInternals.Log.trace({ indent: false, logLevel }, `[delete-jsx-nodes] Received request to delete ${nodes.length} JSX node${nodes.length === 1 ? '' : 's'}`);
|
|
33
|
+
const itemsByFileName = new Map();
|
|
34
|
+
for (const item of nodes) {
|
|
35
|
+
const fileItems = (_a = itemsByFileName.get(item.fileName)) !== null && _a !== void 0 ? _a : [];
|
|
36
|
+
fileItems.push(item);
|
|
37
|
+
itemsByFileName.set(item.fileName, fileItems);
|
|
38
|
+
}
|
|
39
|
+
const updates = await Promise.all([...itemsByFileName.entries()].map(async ([fileName, fileItems]) => {
|
|
40
|
+
var _a;
|
|
41
|
+
var _b;
|
|
42
|
+
const { absolutePath, fileRelativeToRoot } = (0, resolve_file_inside_project_1.resolveFileInsideProject)({
|
|
43
|
+
remotionRoot,
|
|
44
|
+
fileName,
|
|
45
|
+
action: 'modify',
|
|
46
|
+
});
|
|
47
|
+
const fileContents = (0, node_fs_1.readFileSync)(absolutePath, 'utf-8');
|
|
48
|
+
const result = await (0, codemods_1.deleteJsxNodes)({
|
|
49
|
+
project: {
|
|
50
|
+
files: { [absolutePath]: fileContents },
|
|
51
|
+
rootDir: remotionRoot,
|
|
52
|
+
},
|
|
53
|
+
nodes: fileItems.map((item) => ({
|
|
54
|
+
filePath: absolutePath,
|
|
55
|
+
nodePath: item.nodePath,
|
|
56
|
+
})),
|
|
57
|
+
});
|
|
58
|
+
const output = (_b = (_a = result.changes[0]) === null || _a === void 0 ? void 0 : _a.nextContents) !== null && _b !== void 0 ? _b : fileContents;
|
|
59
|
+
const { nodeLabels, logLines } = result.editDetails[0];
|
|
60
|
+
const nodePathRemappings = result.nodePathRemappings.map(({ oldNodePath, newNodePath }) => ({ oldNodePath, newNodePath }));
|
|
61
|
+
return {
|
|
62
|
+
absolutePath,
|
|
63
|
+
fileRelativeToRoot,
|
|
64
|
+
fileContents,
|
|
65
|
+
output,
|
|
66
|
+
nodeLabels,
|
|
67
|
+
nodePathRemappings,
|
|
68
|
+
logLine: Math.min(...logLines),
|
|
69
|
+
};
|
|
70
|
+
}));
|
|
71
|
+
(0, hmr_timing_1.logHmrTiming)({
|
|
72
|
+
detail: `files=${updates.length}`,
|
|
73
|
+
logLevel,
|
|
74
|
+
stage: 'delete-jsx-nodes-codemod-complete',
|
|
75
|
+
});
|
|
76
|
+
const nodePathMutation = (0, sequence_node_path_mutation_1.broadcastSequenceNodePathMutation)(updates.map((update) => ({
|
|
77
|
+
absolutePath: update.absolutePath,
|
|
78
|
+
remappings: update.nodePathRemappings,
|
|
79
|
+
})), null);
|
|
80
|
+
for (const update of updates) {
|
|
81
|
+
const deletedNodeDescription = getDeletedNodeDescription(update.nodeLabels);
|
|
82
|
+
(0, undo_stack_1.pushToUndoStack)({
|
|
83
|
+
filePath: update.absolutePath,
|
|
84
|
+
oldContents: update.fileContents,
|
|
85
|
+
newContents: null,
|
|
86
|
+
logLevel,
|
|
87
|
+
remotionRoot,
|
|
88
|
+
logLine: update.logLine,
|
|
89
|
+
description: {
|
|
90
|
+
undoMessage: `↩️ Deletion of ${deletedNodeDescription}`,
|
|
91
|
+
redoMessage: `↪️ Deletion of ${deletedNodeDescription}`,
|
|
92
|
+
},
|
|
93
|
+
entryType: 'delete-jsx-nodes',
|
|
94
|
+
suppressHmrOnFileRestore: false,
|
|
95
|
+
nodePathRemappings: update.nodePathRemappings,
|
|
96
|
+
});
|
|
97
|
+
(0, undo_stack_1.suppressUndoStackInvalidation)(update.absolutePath);
|
|
98
|
+
(0, hmr_timing_1.logHmrTiming)({
|
|
99
|
+
detail: `file=${update.fileRelativeToRoot}`,
|
|
100
|
+
logLevel,
|
|
101
|
+
stage: 'source-file-write-start',
|
|
102
|
+
});
|
|
103
|
+
(0, file_watcher_1.writeFileAndNotifyFileWatchers)({
|
|
104
|
+
file: update.absolutePath,
|
|
105
|
+
content: update.output,
|
|
106
|
+
originatorClientId: undefined,
|
|
107
|
+
metadata: { skipSequencePropsUpdate: true },
|
|
108
|
+
});
|
|
109
|
+
(0, hmr_timing_1.logHmrTiming)({
|
|
110
|
+
detail: `file=${update.fileRelativeToRoot}`,
|
|
111
|
+
logLevel,
|
|
112
|
+
stage: 'source-file-write-complete',
|
|
113
|
+
});
|
|
114
|
+
const locationLabel = (0, format_log_file_location_1.formatLogFileLocation)({
|
|
115
|
+
remotionRoot,
|
|
116
|
+
absolutePath: update.absolutePath,
|
|
117
|
+
line: update.logLine,
|
|
118
|
+
});
|
|
119
|
+
renderer_1.RenderInternals.Log.info({ indent: false, logLevel }, `${(0, source_file_write_queue_1.getCodemodTimingPrefix)(logLevel)}${renderer_1.RenderInternals.chalk.blueBright(`${locationLabel}`)} Deleted ${deletedNodeDescription}`);
|
|
120
|
+
renderer_1.RenderInternals.Log.verbose({ indent: false, logLevel }, `[delete-jsx-nodes] Wrote ${update.fileRelativeToRoot}`);
|
|
121
|
+
}
|
|
122
|
+
(0, undo_stack_1.printUndoHint)(logLevel);
|
|
123
|
+
return {
|
|
124
|
+
success: true,
|
|
125
|
+
nodePathMutation,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
return {
|
|
130
|
+
success: false,
|
|
131
|
+
reason: err.message,
|
|
132
|
+
stack: err.stack,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
exports.deleteJsxNodesHandler = deleteJsxNodesHandler;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LogLevel } from '@remotion/renderer';
|
|
2
|
+
import type { DeleteEffectKeyframe, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe } from '@remotion/studio-shared';
|
|
2
3
|
import type { ApiHandler } from '../api-types';
|
|
3
4
|
export declare const deleteKeyframes: ({ sequenceKeyframes, effectKeyframes, clientId, remotionRoot, logLevel, }: {
|
|
4
5
|
sequenceKeyframes: DeleteSequenceKeyframe[];
|
|
5
6
|
effectKeyframes: DeleteEffectKeyframe[];
|
|
6
7
|
clientId: string;
|
|
7
8
|
remotionRoot: string;
|
|
8
|
-
logLevel:
|
|
9
|
-
}) => Promise<
|
|
10
|
-
sequenceResults: SaveSequencePropsResult[];
|
|
11
|
-
effectResults: SaveEffectPropsResponse[];
|
|
12
|
-
}>;
|
|
9
|
+
logLevel: LogLevel;
|
|
10
|
+
}) => Promise<void>;
|
|
13
11
|
export declare const deleteKeyframesHandler: ApiHandler<DeleteKeyframesRequest, DeleteKeyframesResponse>;
|
|
@@ -3,16 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.deleteKeyframesHandler = exports.deleteKeyframes = void 0;
|
|
4
4
|
const node_fs_1 = require("node:fs");
|
|
5
5
|
const renderer_1 = require("@remotion/renderer");
|
|
6
|
-
const studio_shared_1 = require("@remotion/studio-shared");
|
|
7
|
-
const parse_ast_1 = require("../../codemods/parse-ast");
|
|
8
6
|
const update_keyframes_1 = require("../../codemods/update-keyframes/update-keyframes");
|
|
9
7
|
const file_watcher_1 = require("../../file-watcher");
|
|
10
8
|
const resolve_file_inside_project_1 = require("../../helpers/resolve-file-inside-project");
|
|
11
|
-
const video_config_values_1 = require("../../helpers/video-config-values");
|
|
12
9
|
const undo_stack_1 = require("../undo-stack");
|
|
13
10
|
const watch_ignore_next_change_1 = require("../watch-ignore-next-change");
|
|
14
|
-
const can_update_effect_props_1 = require("./can-update-effect-props");
|
|
15
|
-
const can_update_sequence_props_1 = require("./can-update-sequence-props");
|
|
16
11
|
const log_effect_update_1 = require("./log-updates/log-effect-update");
|
|
17
12
|
const log_update_1 = require("./log-updates/log-update");
|
|
18
13
|
const source_file_write_queue_1 = require("./source-file-write-queue");
|
|
@@ -46,42 +41,33 @@ const deleteKeyframes = async ({ sequenceKeyframes, effectKeyframes, clientId, r
|
|
|
46
41
|
throw new Error('No keyframes were specified for deletion');
|
|
47
42
|
}
|
|
48
43
|
const fileGroups = new Map();
|
|
49
|
-
const
|
|
50
|
-
const resolvedEffectKeyframes = [];
|
|
51
|
-
for (const [index, keyframe] of sequenceKeyframes.entries()) {
|
|
44
|
+
for (const keyframe of sequenceKeyframes) {
|
|
52
45
|
const { absolutePath, fileRelativeToRoot } = (0, resolve_file_inside_project_1.resolveFileInsideProject)({
|
|
53
46
|
remotionRoot,
|
|
54
47
|
fileName: keyframe.fileName,
|
|
55
48
|
action: 'modify',
|
|
56
49
|
});
|
|
57
50
|
const group = (_a = fileGroups.get(absolutePath)) !== null && _a !== void 0 ? _a : {
|
|
58
|
-
fileRelativeToRoot,
|
|
59
51
|
sequenceKeyframes: [],
|
|
60
52
|
effectKeyframes: [],
|
|
61
53
|
};
|
|
62
|
-
|
|
63
|
-
group.sequenceKeyframes.push(resolved);
|
|
64
|
-
resolvedSequenceKeyframes.push(resolved);
|
|
54
|
+
group.sequenceKeyframes.push({ ...keyframe, fileRelativeToRoot });
|
|
65
55
|
fileGroups.set(absolutePath, group);
|
|
66
56
|
}
|
|
67
|
-
for (const
|
|
57
|
+
for (const keyframe of effectKeyframes) {
|
|
68
58
|
const { absolutePath, fileRelativeToRoot } = (0, resolve_file_inside_project_1.resolveFileInsideProject)({
|
|
69
59
|
remotionRoot,
|
|
70
60
|
fileName: keyframe.fileName,
|
|
71
61
|
action: 'modify',
|
|
72
62
|
});
|
|
73
63
|
const group = (_b = fileGroups.get(absolutePath)) !== null && _b !== void 0 ? _b : {
|
|
74
|
-
fileRelativeToRoot,
|
|
75
64
|
sequenceKeyframes: [],
|
|
76
65
|
effectKeyframes: [],
|
|
77
66
|
};
|
|
78
|
-
|
|
79
|
-
group.effectKeyframes.push(resolved);
|
|
80
|
-
resolvedEffectKeyframes.push(resolved);
|
|
67
|
+
group.effectKeyframes.push({ ...keyframe, fileRelativeToRoot });
|
|
81
68
|
fileGroups.set(absolutePath, group);
|
|
82
69
|
}
|
|
83
70
|
const snapshots = [];
|
|
84
|
-
const outputByPath = new Map();
|
|
85
71
|
const sequenceLogs = [];
|
|
86
72
|
const effectLogs = [];
|
|
87
73
|
for (const [absolutePath, group] of fileGroups) {
|
|
@@ -166,7 +152,6 @@ const deleteKeyframes = async ({ sequenceKeyframes, effectKeyframes, clientId, r
|
|
|
166
152
|
newContents: output,
|
|
167
153
|
logLine: Number.isFinite(firstLogLine) ? firstLogLine : 1,
|
|
168
154
|
});
|
|
169
|
-
outputByPath.set(absolutePath, output);
|
|
170
155
|
}
|
|
171
156
|
const [firstKeyframe] = sequenceKeyframes.length > 0 ? sequenceKeyframes : effectKeyframes;
|
|
172
157
|
if (!firstKeyframe) {
|
|
@@ -228,53 +213,6 @@ const deleteKeyframes = async ({ sequenceKeyframes, effectKeyframes, clientId, r
|
|
|
228
213
|
});
|
|
229
214
|
}
|
|
230
215
|
(0, undo_stack_1.printUndoHint)(logLevel);
|
|
231
|
-
const sequenceResults = resolvedSequenceKeyframes.map((keyframe) => {
|
|
232
|
-
const output = outputByPath.get(keyframe.absolutePath);
|
|
233
|
-
if (!output) {
|
|
234
|
-
throw new Error('Could not compute sequence keyframe deletion status');
|
|
235
|
-
}
|
|
236
|
-
const status = (0, can_update_sequence_props_1.computeSequencePropsStatusFromContent)({
|
|
237
|
-
fileContents: output,
|
|
238
|
-
keys: (0, studio_shared_1.getAllSchemaKeys)(keyframe.schema),
|
|
239
|
-
nodePath: keyframe.nodePath.nodePath,
|
|
240
|
-
componentIdentity: null,
|
|
241
|
-
effects: [],
|
|
242
|
-
});
|
|
243
|
-
return {
|
|
244
|
-
fileName: keyframe.fileName,
|
|
245
|
-
nodePath: keyframe.nodePath,
|
|
246
|
-
props: status.props,
|
|
247
|
-
};
|
|
248
|
-
});
|
|
249
|
-
const astByPath = new Map();
|
|
250
|
-
const effectResults = resolvedEffectKeyframes.map((keyframe) => {
|
|
251
|
-
var _a;
|
|
252
|
-
const output = outputByPath.get(keyframe.absolutePath);
|
|
253
|
-
if (!output) {
|
|
254
|
-
throw new Error('Could not compute effect keyframe deletion status');
|
|
255
|
-
}
|
|
256
|
-
const ast = (_a = astByPath.get(keyframe.absolutePath)) !== null && _a !== void 0 ? _a : (0, parse_ast_1.parseAst)(output);
|
|
257
|
-
astByPath.set(keyframe.absolutePath, ast);
|
|
258
|
-
const jsx = (0, can_update_sequence_props_1.findJsxElementAtNodePath)(ast, keyframe.sequenceNodePath.nodePath);
|
|
259
|
-
if (!jsx) {
|
|
260
|
-
return {
|
|
261
|
-
canUpdate: false,
|
|
262
|
-
effectIndex: keyframe.effectIndex,
|
|
263
|
-
reason: 'not-found',
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
return (0, can_update_effect_props_1.computeEffectPropStatus)({
|
|
267
|
-
ast,
|
|
268
|
-
jsx,
|
|
269
|
-
effectIndex: keyframe.effectIndex,
|
|
270
|
-
keys: (0, studio_shared_1.getAllSchemaKeys)(keyframe.schema),
|
|
271
|
-
videoConfigValues: (0, video_config_values_1.getVideoConfigIdentifierValues)({
|
|
272
|
-
ast,
|
|
273
|
-
videoConfigValues: keyframe.sequenceNodePath.videoConfigValues,
|
|
274
|
-
}),
|
|
275
|
-
});
|
|
276
|
-
});
|
|
277
|
-
return { sequenceResults, effectResults };
|
|
278
216
|
};
|
|
279
217
|
exports.deleteKeyframes = deleteKeyframes;
|
|
280
218
|
const deleteKeyframesHandler = ({ input: { sequenceKeyframes, effectKeyframes, clientId }, remotionRoot, logLevel, }) => (0, source_file_write_queue_1.withSourceFileWriteQueue)(async () => {
|