@remotion/cli 4.0.0-fastlambda.8 → 4.0.0-lambda.3
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/bundle-on-cli.d.ts +2 -0
- package/dist/bundle-on-cli.js +41 -0
- package/dist/bundle.d.ts +1 -0
- package/dist/bundle.js +31 -0
- package/dist/compositions.js +14 -3
- package/dist/download-progress.js +4 -1
- package/dist/editor/components/AudioWaveform.js +2 -2
- package/dist/editor/components/AudioWaveformBar.js +1 -1
- package/dist/editor/components/Canvas.js +1 -1
- package/dist/editor/components/CheckboardToggle.js +1 -1
- package/dist/editor/components/ClipboardIcon.js +1 -1
- package/dist/editor/components/CollapsedCompositionSelector.d.ts +4 -0
- package/dist/editor/components/CollapsedCompositionSelector.js +39 -0
- package/dist/editor/components/CompositionSelector.js +5 -45
- package/dist/editor/components/CompositionSelectorItem.js +3 -3
- package/dist/editor/components/ControlButton.js +1 -1
- package/dist/editor/components/CopyButton.js +2 -2
- package/dist/editor/components/CurrentComposition.js +2 -2
- package/dist/editor/components/Editor.js +24 -8
- package/dist/editor/components/EditorContent.js +3 -2
- package/dist/editor/components/FpsCounter.js +1 -1
- package/dist/editor/components/InitialCompositionLoader.d.ts +4 -0
- package/dist/editor/components/InitialCompositionLoader.js +60 -0
- package/dist/editor/components/KeyboardShortcutsModal.js +1 -1
- package/dist/editor/components/LoadingIndicator.js +1 -1
- package/dist/editor/components/LoopToggle.js +1 -1
- package/dist/editor/components/Menu/MenuDivider.js +1 -1
- package/dist/editor/components/Menu/MenuItem.js +3 -3
- package/dist/editor/components/Menu/MenuSubItem.js +3 -3
- package/dist/editor/components/Menu/SubMenu.js +1 -1
- package/dist/editor/components/MenuBuildIndicator.d.ts +2 -0
- package/dist/editor/components/MenuBuildIndicator.js +26 -0
- package/dist/editor/components/MenuToolbar.js +69 -9
- package/dist/editor/components/ModalContainer.js +1 -1
- package/dist/editor/components/ModalHeader.js +1 -1
- package/dist/editor/components/MuteToggle.js +1 -1
- package/dist/editor/components/NewComposition/CancelButton.js +1 -1
- package/dist/editor/components/NewComposition/ComboBox.js +3 -3
- package/dist/editor/components/NewComposition/CopyHint.js +1 -1
- package/dist/editor/components/NewComposition/InputDragger.js +2 -2
- package/dist/editor/components/NewComposition/MenuContent.js +1 -1
- package/dist/editor/components/NewComposition/NewCompAspectRatio.js +1 -1
- package/dist/editor/components/NewComposition/NewCompDuration.js +1 -1
- package/dist/editor/components/NewComposition/NewComposition.js +4 -4
- package/dist/editor/components/NewComposition/RemInput.js +1 -1
- package/dist/editor/components/NewComposition/ToggleAspectRatio.js +1 -1
- package/dist/editor/components/NewComposition/ValidationMessage.js +2 -2
- package/dist/editor/components/NoRegisterRoot.d.ts +2 -0
- package/dist/editor/components/NoRegisterRoot.js +41 -0
- package/dist/editor/components/PlayPause.js +40 -11
- package/dist/editor/components/PlaybackRateSelector.js +2 -2
- package/dist/editor/components/Preview.js +10 -7
- package/dist/editor/components/PreviewToolbar.js +1 -1
- package/dist/editor/components/RichTimelineToggle.js +1 -1
- package/dist/editor/components/SizeSelector.js +2 -2
- package/dist/editor/components/Splitter/SplitterContainer.js +1 -1
- package/dist/editor/components/Splitter/SplitterElement.js +4 -2
- package/dist/editor/components/Splitter/SplitterHandle.d.ts +4 -1
- package/dist/editor/components/Splitter/SplitterHandle.js +28 -7
- package/dist/editor/components/Thumbnail.js +1 -1
- package/dist/editor/components/TimeValue.js +1 -1
- package/dist/editor/components/Timeline/LoopedIndicator.js +2 -2
- package/dist/editor/components/Timeline/LoopedTimelineIndicators.js +3 -3
- package/dist/editor/components/Timeline/MaxTimelineTracks.js +1 -1
- package/dist/editor/components/Timeline/Timeline.js +2 -1
- package/dist/editor/components/Timeline/TimelineCollapseToggle.js +2 -2
- package/dist/editor/components/Timeline/TimelineDragHandler.js +1 -1
- package/dist/editor/components/Timeline/TimelineInOutPointer.js +2 -2
- package/dist/editor/components/Timeline/TimelineInOutPointerHandle.js +1 -1
- package/dist/editor/components/Timeline/TimelineList.js +1 -1
- package/dist/editor/components/Timeline/TimelineListItem.js +1 -1
- package/dist/editor/components/Timeline/TimelineSequence.js +1 -1
- package/dist/editor/components/Timeline/TimelineSequenceFrame.js +1 -1
- package/dist/editor/components/Timeline/TimelineSlider.js +1 -1
- package/dist/editor/components/Timeline/TimelineSliderHandle.js +1 -1
- package/dist/editor/components/Timeline/TimelineTracks.js +2 -2
- package/dist/editor/components/Timeline/TimelineVideoInfo.js +1 -1
- package/dist/editor/components/TimelineInOutToggle.js +1 -1
- package/dist/editor/components/TopPanel.js +24 -1
- package/dist/editor/components/UpdateCheck.d.ts +1 -1
- package/dist/editor/components/UpdateCheck.js +1 -1
- package/dist/editor/components/UpdateModal/UpdateModal.js +1 -1
- package/dist/editor/components/layout.js +4 -4
- package/dist/editor/helpers/use-compact-ui.d.ts +1 -0
- package/dist/editor/helpers/use-compact-ui.js +18 -0
- package/dist/editor/icons/Checkmark.js +1 -1
- package/dist/editor/icons/caret.d.ts +1 -1
- package/dist/editor/icons/caret.js +4 -4
- package/dist/editor/icons/film.js +1 -1
- package/dist/editor/icons/folder.js +2 -2
- package/dist/editor/icons/jump-to-start.d.ts +2 -0
- package/dist/editor/icons/jump-to-start.js +8 -0
- package/dist/editor/icons/keys.js +3 -3
- package/dist/editor/icons/lock.js +2 -2
- package/dist/editor/icons/media-volume.js +2 -2
- package/dist/editor/icons/pause.js +1 -1
- package/dist/editor/icons/play.js +1 -1
- package/dist/editor/icons/step-back.js +1 -1
- package/dist/editor/icons/step-forward.js +1 -1
- package/dist/editor/icons/still.js +1 -1
- package/dist/editor/icons/timeline.js +1 -1
- package/dist/editor/icons/timelineInOutPointer.js +2 -2
- package/dist/editor/state/folders.d.ts +11 -0
- package/dist/editor/state/folders.js +23 -0
- package/dist/editor/state/highest-z-index.js +2 -2
- package/dist/editor/state/keybindings.js +1 -1
- package/dist/editor/state/sidebar.d.ts +12 -0
- package/dist/editor/state/sidebar.js +40 -0
- package/dist/editor/state/z-index.js +1 -1
- package/dist/get-cli-options.d.ts +3 -1
- package/dist/get-cli-options.js +8 -2
- package/dist/get-latest-remotion-version.d.ts +1 -0
- package/dist/get-latest-remotion-version.js +31 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +5 -1
- package/dist/lambda-command.js +5 -1
- package/dist/parse-command-line.d.ts +1 -0
- package/dist/parse-command-line.js +6 -0
- package/dist/prepare-entry-point.d.ts +11 -0
- package/dist/prepare-entry-point.js +36 -0
- package/dist/preview-server/dev-middleware/compatible-api.d.ts +7 -0
- package/dist/preview-server/dev-middleware/compatible-api.js +20 -0
- package/dist/preview-server/dev-middleware/get-paths.d.ts +7 -0
- package/dist/preview-server/dev-middleware/get-paths.js +19 -0
- package/dist/preview-server/dev-middleware/index.d.ts +3 -0
- package/dist/preview-server/dev-middleware/index.js +27 -0
- package/dist/preview-server/dev-middleware/is-color-supported.d.ts +1 -0
- package/dist/preview-server/dev-middleware/is-color-supported.js +37 -0
- package/dist/preview-server/dev-middleware/middleware.d.ts +10 -0
- package/dist/preview-server/dev-middleware/middleware.js +224 -0
- package/dist/preview-server/dev-middleware/range-parser.d.ts +15 -0
- package/dist/preview-server/dev-middleware/range-parser.js +96 -0
- package/dist/preview-server/dev-middleware/ready.d.ts +3 -0
- package/dist/preview-server/dev-middleware/ready.js +11 -0
- package/dist/preview-server/dev-middleware/setup-hooks.d.ts +2 -0
- package/dist/preview-server/dev-middleware/setup-hooks.js +42 -0
- package/dist/preview-server/dev-middleware/setup-output-filesystem.d.ts +2 -0
- package/dist/preview-server/dev-middleware/setup-output-filesystem.js +13 -0
- package/dist/preview-server/dev-middleware/types.d.ts +10 -0
- package/dist/preview-server/dev-middleware/types.js +2 -0
- package/dist/preview-server/error-overlay/entry-basic.d.ts +1 -0
- package/dist/preview-server/error-overlay/entry-basic.js +21 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/format-warning.d.ts +11 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/format-warning.js +41 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/map-error-to-react-stack.d.ts +7 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/map-error-to-react-stack.js +46 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/proxy-console.d.ts +24 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/proxy-console.js +64 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/resolve-file-source.d.ts +3 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/resolve-file-source.js +31 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/stack-trace-limit.d.ts +3 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/stack-trace-limit.js +43 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-error.d.ts +4 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-error.js +45 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-rejection.d.ts +4 -0
- package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-rejection.js +41 -0
- package/dist/preview-server/error-overlay/react-overlay/index.d.ts +2 -0
- package/dist/preview-server/error-overlay/react-overlay/index.js +21 -0
- package/dist/preview-server/error-overlay/react-overlay/listen-to-runtime-errors.d.ts +8 -0
- package/dist/preview-server/error-overlay/react-overlay/listen-to-runtime-errors.js +79 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/get-file-source.d.ts +1 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/get-file-source.js +21 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/get-lines-around.d.ts +14 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/get-lines-around.js +24 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/get-source-map.d.ts +13 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/get-source-map.js +58 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/get-stack-frames.d.ts +2 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/get-stack-frames.js +27 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/open-in-editor.d.ts +12 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/open-in-editor.js +460 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/parser.d.ts +2 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/parser.js +117 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/stack-frame.d.ts +40 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/stack-frame.js +31 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/unmapper.d.ts +2 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/unmapper.js +64 -0
- package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.d.ts +2 -0
- package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.js +14 -0
- package/dist/preview-server/error-overlay/remotion-overlay/Button.d.ts +6 -0
- package/dist/preview-server/error-overlay/remotion-overlay/Button.js +24 -0
- package/dist/preview-server/error-overlay/remotion-overlay/CodeFrame.d.ts +6 -0
- package/dist/preview-server/error-overlay/remotion-overlay/CodeFrame.js +28 -0
- package/dist/preview-server/error-overlay/remotion-overlay/DismissButton.d.ts +2 -0
- package/dist/preview-server/error-overlay/remotion-overlay/DismissButton.js +23 -0
- package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.d.ts +5 -0
- package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.js +45 -0
- package/dist/preview-server/error-overlay/remotion-overlay/ErrorLoader.d.ts +4 -0
- package/dist/preview-server/error-overlay/remotion-overlay/ErrorLoader.js +61 -0
- package/dist/preview-server/error-overlay/remotion-overlay/ErrorTitle.d.ts +6 -0
- package/dist/preview-server/error-overlay/remotion-overlay/ErrorTitle.js +41 -0
- package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.d.ts +5 -0
- package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.js +91 -0
- package/dist/preview-server/error-overlay/remotion-overlay/Overlay.d.ts +14 -0
- package/dist/preview-server/error-overlay/remotion-overlay/Overlay.js +49 -0
- package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.d.ts +4 -0
- package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.js +13 -0
- package/dist/preview-server/error-overlay/remotion-overlay/StackFrame.d.ts +8 -0
- package/dist/preview-server/error-overlay/remotion-overlay/StackFrame.js +48 -0
- package/dist/preview-server/error-overlay/remotion-overlay/Symbolicating.d.ts +2 -0
- package/dist/preview-server/error-overlay/remotion-overlay/Symbolicating.js +8 -0
- package/dist/preview-server/error-overlay/remotion-overlay/carets.d.ts +3 -0
- package/dist/preview-server/error-overlay/remotion-overlay/carets.js +12 -0
- package/dist/preview-server/error-overlay/remotion-overlay/format-location.d.ts +1 -0
- package/dist/preview-server/error-overlay/remotion-overlay/format-location.js +10 -0
- package/dist/preview-server/error-overlay/remotion-overlay/index.d.ts +1 -0
- package/dist/preview-server/error-overlay/remotion-overlay/index.js +18 -0
- package/dist/preview-server/get-package-manager.d.ts +9 -0
- package/dist/preview-server/get-package-manager.js +40 -0
- package/dist/preview-server/hot-middleware/client.d.ts +19 -0
- package/dist/preview-server/hot-middleware/client.js +177 -0
- package/dist/preview-server/hot-middleware/index.d.ts +8 -0
- package/dist/preview-server/hot-middleware/index.js +150 -0
- package/dist/preview-server/hot-middleware/process-update.d.ts +12 -0
- package/dist/preview-server/hot-middleware/process-update.js +144 -0
- package/dist/preview-server/hot-middleware/strip-ansi.d.ts +1 -0
- package/dist/preview-server/hot-middleware/strip-ansi.js +21 -0
- package/dist/preview-server/hot-middleware/types.d.ts +27 -0
- package/dist/preview-server/hot-middleware/types.js +10 -0
- package/dist/preview-server/project-info.d.ts +5 -0
- package/dist/preview-server/project-info.js +22 -0
- package/dist/preview-server/routes.d.ts +7 -0
- package/dist/preview-server/routes.js +128 -0
- package/dist/preview-server/serve-static.d.ts +9 -0
- package/dist/preview-server/serve-static.js +77 -0
- package/dist/preview-server/start-server.d.ts +8 -0
- package/dist/preview-server/start-server.js +69 -0
- package/dist/preview-server/update-available.d.ts +11 -0
- package/dist/preview-server/update-available.js +44 -0
- package/dist/preview.js +2 -2
- package/dist/previewEntry.js +2 -2
- package/dist/print-error.js +1 -0
- package/dist/print-help.js +3 -3
- package/dist/render.js +30 -24
- package/dist/still.js +46 -15
- package/dist/upgrade.js +9 -7
- package/dist/versions.js +3 -0
- package/dist/webpack-cache.d.ts +12 -0
- package/dist/webpack-cache.js +66 -0
- package/package.json +12 -10
- package/web/favicon.png +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Source code adapted from https://github.com/facebook/create-react-app/tree/main/packages/react-error-overlay and refactored in Typescript. This file is MIT-licensed.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.unmap = void 0;
|
|
7
|
+
/* eslint-disable eqeqeq */
|
|
8
|
+
/* eslint-disable no-eq-null */
|
|
9
|
+
/**
|
|
10
|
+
* Copyright (c) 2015-present, Facebook, Inc.
|
|
11
|
+
*
|
|
12
|
+
* This source code is licensed under the MIT license found in the
|
|
13
|
+
* LICENSE file in the root directory of this source tree.
|
|
14
|
+
*/
|
|
15
|
+
const remotion_1 = require("remotion");
|
|
16
|
+
const get_lines_around_1 = require("./get-lines-around");
|
|
17
|
+
const get_source_map_1 = require("./get-source-map");
|
|
18
|
+
const getFileContents = async (fileName) => {
|
|
19
|
+
const res = await fetch(fileName);
|
|
20
|
+
const fileContents = await res.text();
|
|
21
|
+
return fileContents;
|
|
22
|
+
};
|
|
23
|
+
const unmap = async (frames, contextLines) => {
|
|
24
|
+
const transpiled = frames
|
|
25
|
+
.filter((s) => s.type === 'transpiled')
|
|
26
|
+
.map((s) => s.frame);
|
|
27
|
+
const uniqueFileNames = [
|
|
28
|
+
...new Set(transpiled.map((f) => f.fileName).filter(remotion_1.Internals.truthy)),
|
|
29
|
+
];
|
|
30
|
+
const maps = await Promise.all(uniqueFileNames.map(async (fileName) => {
|
|
31
|
+
const fileContents = await getFileContents(fileName);
|
|
32
|
+
return (0, get_source_map_1.getSourceMap)(fileName, fileContents);
|
|
33
|
+
}));
|
|
34
|
+
const mapValues = {};
|
|
35
|
+
for (let i = 0; i < uniqueFileNames.length; i++) {
|
|
36
|
+
mapValues[uniqueFileNames[i]] = maps[i];
|
|
37
|
+
}
|
|
38
|
+
return frames
|
|
39
|
+
.map((frame) => {
|
|
40
|
+
if (frame.type === 'symbolicated') {
|
|
41
|
+
return frame.frame;
|
|
42
|
+
}
|
|
43
|
+
const map = mapValues[frame.frame.fileName];
|
|
44
|
+
if (!map) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const pos = (0, get_source_map_1.getOriginalPosition)(map, frame.frame.lineNumber, frame.frame.columnNumber);
|
|
48
|
+
const { functionName } = frame.frame;
|
|
49
|
+
let hasSource = null;
|
|
50
|
+
hasSource = pos.source ? map.sourceContentFor(pos.source, false) : null;
|
|
51
|
+
const scriptCode = hasSource && pos.line
|
|
52
|
+
? (0, get_lines_around_1.getLinesAround)(pos.line, contextLines, hasSource.split('\n'))
|
|
53
|
+
: null;
|
|
54
|
+
return {
|
|
55
|
+
originalColumnNumber: pos.column,
|
|
56
|
+
originalFileName: pos.source,
|
|
57
|
+
originalFunctionName: functionName,
|
|
58
|
+
originalLineNumber: pos.line,
|
|
59
|
+
originalScriptCode: scriptCode,
|
|
60
|
+
};
|
|
61
|
+
})
|
|
62
|
+
.filter(remotion_1.Internals.truthy);
|
|
63
|
+
};
|
|
64
|
+
exports.unmap = unmap;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AskOnDiscord = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const DISCORD_LINK = 'https://discord.gg/6VzzNDwUwV';
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const Button_1 = require("./Button");
|
|
8
|
+
const AskOnDiscord = () => {
|
|
9
|
+
const openInBrowser = (0, react_1.useCallback)(() => {
|
|
10
|
+
window.open(DISCORD_LINK, '_blank');
|
|
11
|
+
}, []);
|
|
12
|
+
return (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: openInBrowser, children: "Ask on Discord" });
|
|
13
|
+
};
|
|
14
|
+
exports.AskOnDiscord = AskOnDiscord;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Button = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const INPUT_BORDER_COLOR_UNHOVERED = 'rgba(0, 0, 0, 0.6)';
|
|
6
|
+
const INPUT_BACKGROUND = '#2f363d';
|
|
7
|
+
const button = {
|
|
8
|
+
border: `1px solid ${INPUT_BORDER_COLOR_UNHOVERED}`,
|
|
9
|
+
borderRadius: 4,
|
|
10
|
+
backgroundColor: INPUT_BACKGROUND,
|
|
11
|
+
appearance: 'none',
|
|
12
|
+
fontFamily: 'inherit',
|
|
13
|
+
fontSize: 14,
|
|
14
|
+
color: 'white',
|
|
15
|
+
};
|
|
16
|
+
const buttonContainer = {
|
|
17
|
+
padding: 10,
|
|
18
|
+
cursor: 'pointer',
|
|
19
|
+
fontSize: 14,
|
|
20
|
+
};
|
|
21
|
+
const Button = ({ children, onClick, disabled }) => {
|
|
22
|
+
return ((0, jsx_runtime_1.jsx)("button", { style: button, type: "button", disabled: disabled, onClick: onClick, children: (0, jsx_runtime_1.jsx)("div", { style: buttonContainer, children: children }) }));
|
|
23
|
+
};
|
|
24
|
+
exports.Button = Button;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodeFrame = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const frame = {
|
|
6
|
+
backgroundColor: '#070707',
|
|
7
|
+
marginBottom: 20,
|
|
8
|
+
};
|
|
9
|
+
const lineNumber = {
|
|
10
|
+
display: 'inline-block',
|
|
11
|
+
whiteSpace: 'pre',
|
|
12
|
+
backgroundColor: '#121212',
|
|
13
|
+
paddingLeft: 10,
|
|
14
|
+
paddingRight: 12,
|
|
15
|
+
marginRight: 12,
|
|
16
|
+
};
|
|
17
|
+
const CodeFrame = ({ source, lineNumberWidth }) => {
|
|
18
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: frame, children: source.map((s, j) => {
|
|
19
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
20
|
+
fontFamily: 'monospace',
|
|
21
|
+
whiteSpace: 'pre',
|
|
22
|
+
tabSize: 2,
|
|
23
|
+
color: s.highlight ? 'white' : 'rgba(255, 255, 255, 0.6)',
|
|
24
|
+
lineHeight: 1.7,
|
|
25
|
+
}, children: [(0, jsx_runtime_1.jsx)("div", { style: lineNumber, children: String(s.lineNumber).padStart(lineNumberWidth, ' ') }), s.content] }, j));
|
|
26
|
+
}) }));
|
|
27
|
+
};
|
|
28
|
+
exports.CodeFrame = CodeFrame;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DismissButton = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const size = {
|
|
7
|
+
height: 20,
|
|
8
|
+
width: 20,
|
|
9
|
+
};
|
|
10
|
+
const style = {
|
|
11
|
+
appearance: 'none',
|
|
12
|
+
WebkitAppearance: 'none',
|
|
13
|
+
backgroundColor: 'transparent',
|
|
14
|
+
border: 'none',
|
|
15
|
+
cursor: 'pointer',
|
|
16
|
+
};
|
|
17
|
+
const DismissButton = () => {
|
|
18
|
+
const dismiss = (0, react_1.useCallback)(() => {
|
|
19
|
+
window.location.href = '/';
|
|
20
|
+
}, []);
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)("button", { type: "button", style: style, onClick: dismiss, children: (0, jsx_runtime_1.jsx)("svg", { focusable: "false", role: "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 352 512", style: size, children: (0, jsx_runtime_1.jsx)("path", { fill: "white", d: "M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z" }) }) }));
|
|
22
|
+
};
|
|
23
|
+
exports.DismissButton = DismissButton;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorDisplay = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const map_error_to_react_stack_1 = require("../react-overlay/effects/map-error-to-react-stack");
|
|
7
|
+
const AskOnDiscord_1 = require("./AskOnDiscord");
|
|
8
|
+
const ErrorTitle_1 = require("./ErrorTitle");
|
|
9
|
+
const OpenInEditor_1 = require("./OpenInEditor");
|
|
10
|
+
const SearchGitHubIssues_1 = require("./SearchGitHubIssues");
|
|
11
|
+
const StackFrame_1 = require("./StackFrame");
|
|
12
|
+
const stack = {
|
|
13
|
+
marginTop: 17,
|
|
14
|
+
overflowX: 'scroll',
|
|
15
|
+
marginBottom: '10vh',
|
|
16
|
+
};
|
|
17
|
+
const spacer = {
|
|
18
|
+
width: 5,
|
|
19
|
+
display: 'inline-block',
|
|
20
|
+
};
|
|
21
|
+
const ErrorDisplay = ({ display }) => {
|
|
22
|
+
const highestLineNumber = Math.max(...display.stackFrames
|
|
23
|
+
.map((s) => s.originalScriptCode)
|
|
24
|
+
.flat(1)
|
|
25
|
+
.map((s) => { var _a; return (_a = s === null || s === void 0 ? void 0 : s.lineNumber) !== null && _a !== void 0 ? _a : 0; }));
|
|
26
|
+
const message = (0, react_1.useMemo)(() => {
|
|
27
|
+
// Format compilation errors
|
|
28
|
+
const location = (0, map_error_to_react_stack_1.getLocationFromBuildError)(display.error);
|
|
29
|
+
if (!location) {
|
|
30
|
+
return display.error.message;
|
|
31
|
+
}
|
|
32
|
+
return location.message
|
|
33
|
+
.replace(/\\n/g, '\n')
|
|
34
|
+
.replace(/\\t/g, ' ')
|
|
35
|
+
.replace(/^error:/, '')
|
|
36
|
+
.trim();
|
|
37
|
+
}, [display.error]);
|
|
38
|
+
const lineNumberWidth = String(highestLineNumber).length;
|
|
39
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(ErrorTitle_1.ErrorTitle, { symbolicating: false, name: display.error.name, message: message }), display.stackFrames.length > 0 && window.remotion_editorName ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(OpenInEditor_1.OpenInEditor, { stack: display.stackFrames[0] }), (0, jsx_runtime_1.jsx)("div", { style: spacer })] })) : null, (0, jsx_runtime_1.jsx)(SearchGitHubIssues_1.SearchGithubIssues, { message: display.error.message }), (0, jsx_runtime_1.jsx)("div", { style: spacer }), (0, jsx_runtime_1.jsx)(AskOnDiscord_1.AskOnDiscord, {}), (0, jsx_runtime_1.jsx)("div", { style: stack, children: display.stackFrames.map((s, i) => {
|
|
40
|
+
return ((0, jsx_runtime_1.jsx)(StackFrame_1.StackElement
|
|
41
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
42
|
+
, { isFirst: i === 0, s: s, lineNumberWidth: lineNumberWidth, defaultFunctionName: '(anonymous function)' }, i));
|
|
43
|
+
}) })] }));
|
|
44
|
+
};
|
|
45
|
+
exports.ErrorDisplay = ErrorDisplay;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorLoader = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const listen_to_runtime_errors_1 = require("../react-overlay/listen-to-runtime-errors");
|
|
7
|
+
const ErrorDisplay_1 = require("./ErrorDisplay");
|
|
8
|
+
const ErrorTitle_1 = require("./ErrorTitle");
|
|
9
|
+
const container = {
|
|
10
|
+
width: '100%',
|
|
11
|
+
maxWidth: 1000,
|
|
12
|
+
paddingLeft: 14,
|
|
13
|
+
paddingRight: 14,
|
|
14
|
+
marginLeft: 'auto',
|
|
15
|
+
marginRight: 'auto',
|
|
16
|
+
fontFamily: 'SF Pro Text, sans-serif',
|
|
17
|
+
paddingTop: '5vh',
|
|
18
|
+
};
|
|
19
|
+
const errorWhileErrorStyle = {
|
|
20
|
+
color: 'white',
|
|
21
|
+
lineHeight: 1.5,
|
|
22
|
+
whiteSpace: 'pre',
|
|
23
|
+
};
|
|
24
|
+
const ErrorLoader = ({ error }) => {
|
|
25
|
+
const [state, setState] = (0, react_1.useState)({
|
|
26
|
+
type: 'loading',
|
|
27
|
+
});
|
|
28
|
+
(0, react_1.useEffect)(() => {
|
|
29
|
+
(0, listen_to_runtime_errors_1.getErrorRecord)(error)
|
|
30
|
+
.then((record) => {
|
|
31
|
+
if (record) {
|
|
32
|
+
setState({
|
|
33
|
+
type: 'symbolicated',
|
|
34
|
+
record,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
setState({
|
|
39
|
+
type: 'no-record',
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
.catch((err) => {
|
|
44
|
+
setState({
|
|
45
|
+
err,
|
|
46
|
+
type: 'error',
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}, [error]);
|
|
50
|
+
if (state.type === 'loading') {
|
|
51
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: container, children: (0, jsx_runtime_1.jsx)(ErrorTitle_1.ErrorTitle, { symbolicating: true, name: error.name, message: error.message }) }));
|
|
52
|
+
}
|
|
53
|
+
if (state.type === 'error') {
|
|
54
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(ErrorTitle_1.ErrorTitle, { symbolicating: false, name: error.name, message: error.message }), (0, jsx_runtime_1.jsx)("div", { style: errorWhileErrorStyle, children: "Error while getting stack trace:" }), (0, jsx_runtime_1.jsx)("div", { style: errorWhileErrorStyle, children: state.err.stack }), (0, jsx_runtime_1.jsx)("div", { style: errorWhileErrorStyle, children: "Report this in the Remotion repo." })] }));
|
|
55
|
+
}
|
|
56
|
+
if (state.type === 'no-record') {
|
|
57
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(ErrorTitle_1.ErrorTitle, { symbolicating: false, name: error.name, message: error.message }), (0, jsx_runtime_1.jsx)("div", { style: errorWhileErrorStyle, children: "Check the Terminal and browser console for error messages." })] }));
|
|
58
|
+
}
|
|
59
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: container, children: (0, jsx_runtime_1.jsx)(ErrorDisplay_1.ErrorDisplay, { display: state.record }) }));
|
|
60
|
+
};
|
|
61
|
+
exports.ErrorLoader = ErrorLoader;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorTitle = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_overlay_1 = require("../react-overlay");
|
|
6
|
+
const DismissButton_1 = require("./DismissButton");
|
|
7
|
+
const Symbolicating_1 = require("./Symbolicating");
|
|
8
|
+
const title = {
|
|
9
|
+
marginBottom: 8,
|
|
10
|
+
display: 'flex',
|
|
11
|
+
flexDirection: 'row',
|
|
12
|
+
justifyContent: 'center',
|
|
13
|
+
};
|
|
14
|
+
const left = {
|
|
15
|
+
flex: 1,
|
|
16
|
+
paddingRight: 14,
|
|
17
|
+
lineHeight: 1.5,
|
|
18
|
+
whiteSpace: 'pre',
|
|
19
|
+
fontSize: '1.5em',
|
|
20
|
+
fontWeight: 'bold',
|
|
21
|
+
overflowX: 'auto',
|
|
22
|
+
};
|
|
23
|
+
const errName = {
|
|
24
|
+
fontSize: '0.8em',
|
|
25
|
+
background: 'linear-gradient(90deg,#4290f5,#42e9f5)',
|
|
26
|
+
WebkitBackgroundClip: 'text',
|
|
27
|
+
WebkitTextFillColor: 'transparent',
|
|
28
|
+
display: 'inline-block',
|
|
29
|
+
};
|
|
30
|
+
const row = {
|
|
31
|
+
display: 'flex',
|
|
32
|
+
flexDirection: 'row',
|
|
33
|
+
alignItems: 'center',
|
|
34
|
+
};
|
|
35
|
+
const spacer = {
|
|
36
|
+
width: 5,
|
|
37
|
+
};
|
|
38
|
+
const ErrorTitle = ({ name, message, symbolicating }) => {
|
|
39
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: title, children: [(0, jsx_runtime_1.jsxs)("div", { style: left, children: [(0, jsx_runtime_1.jsx)("span", { style: errName, children: name }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: row, children: [symbolicating ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Symbolicating_1.Symbolicating, {}), (0, jsx_runtime_1.jsx)("div", { style: spacer })] })) : null, (0, jsx_runtime_1.jsx)("div", { children: message })] })] }), (0, react_overlay_1.didUnmountReactApp)() ? null : (0, jsx_runtime_1.jsx)(DismissButton_1.DismissButton, {})] }));
|
|
40
|
+
};
|
|
41
|
+
exports.ErrorTitle = ErrorTitle;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenInEditor = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/* eslint-disable no-console */
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const Button_1 = require("./Button");
|
|
8
|
+
const initialState = { type: 'idle' };
|
|
9
|
+
const reducer = (state, action) => {
|
|
10
|
+
if (action.type === 'start') {
|
|
11
|
+
return {
|
|
12
|
+
type: 'load',
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (action.type === 'fail') {
|
|
16
|
+
return {
|
|
17
|
+
type: 'error',
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
if (action.type === 'reset') {
|
|
21
|
+
return {
|
|
22
|
+
type: 'idle',
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
if (action.type === 'succeed') {
|
|
26
|
+
return {
|
|
27
|
+
type: 'success',
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return state;
|
|
31
|
+
};
|
|
32
|
+
const OpenInEditor = ({ stack }) => {
|
|
33
|
+
const isMounted = (0, react_1.useRef)(true);
|
|
34
|
+
const [state, dispatch] = (0, react_1.useReducer)(reducer, initialState);
|
|
35
|
+
const dispatchIfMounted = (0, react_1.useCallback)((payload) => {
|
|
36
|
+
if (isMounted.current === false)
|
|
37
|
+
return;
|
|
38
|
+
dispatch(payload);
|
|
39
|
+
}, []);
|
|
40
|
+
const openInBrowser = (0, react_1.useCallback)(() => {
|
|
41
|
+
dispatch({ type: 'start' });
|
|
42
|
+
fetch(`/api/open-in-editor`, {
|
|
43
|
+
method: 'post',
|
|
44
|
+
headers: {
|
|
45
|
+
'content-type': 'application/json',
|
|
46
|
+
},
|
|
47
|
+
body: JSON.stringify({
|
|
48
|
+
stack,
|
|
49
|
+
}),
|
|
50
|
+
})
|
|
51
|
+
.then((res) => res.json())
|
|
52
|
+
.then((data) => {
|
|
53
|
+
if (data.success) {
|
|
54
|
+
dispatchIfMounted({ type: 'succeed' });
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
dispatchIfMounted({ type: 'fail' });
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
.catch((err) => {
|
|
61
|
+
dispatchIfMounted({ type: 'fail' });
|
|
62
|
+
console.log('Could not open browser', err);
|
|
63
|
+
})
|
|
64
|
+
.finally(() => {
|
|
65
|
+
setTimeout(() => {
|
|
66
|
+
dispatchIfMounted({ type: 'reset' });
|
|
67
|
+
}, 2000);
|
|
68
|
+
});
|
|
69
|
+
}, [dispatchIfMounted, stack]);
|
|
70
|
+
(0, react_1.useEffect)(() => {
|
|
71
|
+
return () => {
|
|
72
|
+
isMounted.current = false;
|
|
73
|
+
};
|
|
74
|
+
}, []);
|
|
75
|
+
const label = (0, react_1.useMemo)(() => {
|
|
76
|
+
switch (state.type) {
|
|
77
|
+
case 'error':
|
|
78
|
+
return 'Failed to open';
|
|
79
|
+
case 'idle':
|
|
80
|
+
return `Open in ${window.remotion_editorName}`;
|
|
81
|
+
case 'success':
|
|
82
|
+
return `Opened in ${window.remotion_editorName}`;
|
|
83
|
+
case 'load':
|
|
84
|
+
return `Opening...`;
|
|
85
|
+
default:
|
|
86
|
+
throw new Error('invalid state');
|
|
87
|
+
}
|
|
88
|
+
}, [state.type]);
|
|
89
|
+
return ((0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: openInBrowser, disabled: state.type !== 'idle', children: label }));
|
|
90
|
+
};
|
|
91
|
+
exports.OpenInEditor = OpenInEditor;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type SetErrors = {
|
|
3
|
+
setErrors: (errs: State) => void;
|
|
4
|
+
addError: (err: Error) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const setErrorsRef: React.RefObject<SetErrors>;
|
|
7
|
+
declare type State = {
|
|
8
|
+
type: 'clear';
|
|
9
|
+
} | {
|
|
10
|
+
type: 'errors';
|
|
11
|
+
errors: Error[];
|
|
12
|
+
};
|
|
13
|
+
export declare const Overlay: React.FC;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Overlay = exports.setErrorsRef = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const remotion_1 = require("remotion");
|
|
7
|
+
const ErrorLoader_1 = require("./ErrorLoader");
|
|
8
|
+
exports.setErrorsRef = (0, react_1.createRef)();
|
|
9
|
+
const errorsAreTheSame = (first, second) => {
|
|
10
|
+
return first.stack === second.stack && first.message === second.message;
|
|
11
|
+
};
|
|
12
|
+
const BACKGROUND_COLOR = '#1f2428';
|
|
13
|
+
const Overlay = () => {
|
|
14
|
+
const [errors, setErrors] = (0, react_1.useState)({ type: 'clear' });
|
|
15
|
+
const addError = (0, react_1.useCallback)((err) => {
|
|
16
|
+
setErrors((state) => {
|
|
17
|
+
if (state.type === 'errors') {
|
|
18
|
+
if (state.errors.some((e) => errorsAreTheSame(e, err))) {
|
|
19
|
+
return state;
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
...state,
|
|
23
|
+
errors: [...state.errors, err],
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
type: 'errors',
|
|
28
|
+
errors: [err],
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
}, []);
|
|
32
|
+
(0, react_1.useImperativeHandle)(exports.setErrorsRef, () => {
|
|
33
|
+
return { setErrors, addError };
|
|
34
|
+
}, [addError]);
|
|
35
|
+
if (errors.type === 'clear') {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
if (errors.errors.length === 0) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(remotion_1.AbsoluteFill, { style: {
|
|
42
|
+
backgroundColor: BACKGROUND_COLOR,
|
|
43
|
+
overflow: 'auto',
|
|
44
|
+
color: 'white',
|
|
45
|
+
}, children: errors.errors.map((err) => {
|
|
46
|
+
return (0, jsx_runtime_1.jsx)(ErrorLoader_1.ErrorLoader, { error: err }, err.stack);
|
|
47
|
+
}) }));
|
|
48
|
+
};
|
|
49
|
+
exports.Overlay = Overlay;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SearchGithubIssues = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const Button_1 = require("./Button");
|
|
7
|
+
const SearchGithubIssues = ({ message }) => {
|
|
8
|
+
const openInBrowser = (0, react_1.useCallback)(() => {
|
|
9
|
+
window.open(`https://github.com/remotion-dev/remotion/issues?q=${encodeURIComponent(message)}`, '_blank');
|
|
10
|
+
}, [message]);
|
|
11
|
+
return (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: openInBrowser, children: "Search GitHub Issues" });
|
|
12
|
+
};
|
|
13
|
+
exports.SearchGithubIssues = SearchGithubIssues;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SymbolicatedStackFrame } from '../react-overlay/utils/stack-frame';
|
|
3
|
+
export declare const StackElement: React.FC<{
|
|
4
|
+
s: SymbolicatedStackFrame;
|
|
5
|
+
lineNumberWidth: number;
|
|
6
|
+
isFirst: boolean;
|
|
7
|
+
defaultFunctionName: string;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StackElement = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const Button_1 = require("./Button");
|
|
7
|
+
const carets_1 = require("./carets");
|
|
8
|
+
const CodeFrame_1 = require("./CodeFrame");
|
|
9
|
+
const format_location_1 = require("./format-location");
|
|
10
|
+
const location = {
|
|
11
|
+
color: 'rgba(255, 255, 255, 0.6)',
|
|
12
|
+
fontFamily: 'monospace',
|
|
13
|
+
};
|
|
14
|
+
const header = {
|
|
15
|
+
paddingLeft: 14,
|
|
16
|
+
paddingTop: 10,
|
|
17
|
+
paddingBottom: 10,
|
|
18
|
+
paddingRight: 14,
|
|
19
|
+
display: 'flex',
|
|
20
|
+
flexDirection: 'row',
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
borderBottom: '1px solid rgb(66, 144, 245)',
|
|
23
|
+
backgroundColor: 'black',
|
|
24
|
+
};
|
|
25
|
+
const left = {
|
|
26
|
+
paddingRight: 14,
|
|
27
|
+
flex: 1,
|
|
28
|
+
};
|
|
29
|
+
const fnName = {
|
|
30
|
+
fontSize: 14,
|
|
31
|
+
marginBottom: 3,
|
|
32
|
+
};
|
|
33
|
+
const StackElement = ({ s, lineNumberWidth, isFirst, defaultFunctionName }) => {
|
|
34
|
+
var _a;
|
|
35
|
+
const [showCodeFrame, setShowCodeFrame] = (0, react_1.useState)(() => {
|
|
36
|
+
var _a, _b;
|
|
37
|
+
return (!((_a = s.originalFileName) === null || _a === void 0 ? void 0 : _a.includes('node_modules')) &&
|
|
38
|
+
!((_b = s.originalFileName) === null || _b === void 0 ? void 0 : _b.startsWith('webpack/'))) ||
|
|
39
|
+
isFirst;
|
|
40
|
+
});
|
|
41
|
+
const toggleCodeFrame = (0, react_1.useCallback)(() => {
|
|
42
|
+
setShowCodeFrame((f) => !f);
|
|
43
|
+
}, []);
|
|
44
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: header, children: [(0, jsx_runtime_1.jsxs)("div", { style: left, children: [(0, jsx_runtime_1.jsx)("div", { style: fnName, children: (_a = s.originalFunctionName) !== null && _a !== void 0 ? _a : defaultFunctionName }), s.originalFileName ? ((0, jsx_runtime_1.jsxs)("div", { style: location, children: [(0, format_location_1.formatLocation)(s.originalFileName), ":", s.originalLineNumber] })) : null] }), s.originalScriptCode && s.originalScriptCode.length > 0 ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: toggleCodeFrame, children: showCodeFrame ? (0, jsx_runtime_1.jsx)(carets_1.CaretDown, {}) : (0, jsx_runtime_1.jsx)(carets_1.CaretRight, {}) })) : null] }), (0, jsx_runtime_1.jsx)("div", { children: s.originalScriptCode &&
|
|
45
|
+
s.originalScriptCode.length > 0 &&
|
|
46
|
+
showCodeFrame ? ((0, jsx_runtime_1.jsx)(CodeFrame_1.CodeFrame, { lineNumberWidth: lineNumberWidth, source: s.originalScriptCode })) : null })] }));
|
|
47
|
+
};
|
|
48
|
+
exports.StackElement = StackElement;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Symbolicating = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const Symbolicating = (props) => {
|
|
6
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { id: "loading", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32", width: "16", height: "16", fill: "white", ...props, children: [(0, jsx_runtime_1.jsx)("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(0 16 16)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0" }) }), (0, jsx_runtime_1.jsx)("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(45 16 16)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.125s" }) }), (0, jsx_runtime_1.jsx)("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(90 16 16)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.25s" }) }), (0, jsx_runtime_1.jsx)("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(135 16 16)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.375s" }) }), (0, jsx_runtime_1.jsx)("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(180 16 16)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.5s" }) }), (0, jsx_runtime_1.jsx)("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(225 16 16)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.675s" }) }), (0, jsx_runtime_1.jsx)("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(270 16 16)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.75s" }) }), (0, jsx_runtime_1.jsx)("path", { opacity: ".1", d: "M14 0 H18 V8 H14 z", transform: "rotate(315 16 16)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "opacity", from: "1", to: ".1", dur: "1s", repeatCount: "indefinite", begin: "0.875s" }) })] }));
|
|
7
|
+
};
|
|
8
|
+
exports.Symbolicating = Symbolicating;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CaretDown = exports.CaretRight = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const CaretRight = () => {
|
|
6
|
+
return ((0, jsx_runtime_1.jsx)("svg", { style: { height: 20 }, "aria-hidden": "true", focusable: "false", role: "img", viewBox: "0 0 192 512", children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z" }) }));
|
|
7
|
+
};
|
|
8
|
+
exports.CaretRight = CaretRight;
|
|
9
|
+
const CaretDown = () => {
|
|
10
|
+
return ((0, jsx_runtime_1.jsx)("svg", { "aria-hidden": "true", focusable: "false", role: "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", style: { height: 20 }, children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z" }) }));
|
|
11
|
+
};
|
|
12
|
+
exports.CaretDown = CaretDown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const formatLocation: (location: string) => string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatLocation = void 0;
|
|
4
|
+
const formatLocation = (location) => {
|
|
5
|
+
if (location.startsWith('webpack://')) {
|
|
6
|
+
return location.replace('webpack://', '');
|
|
7
|
+
}
|
|
8
|
+
return location;
|
|
9
|
+
};
|
|
10
|
+
exports.formatLocation = formatLocation;
|