@remotion/cli 3.0.18 → 3.0.19

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.
Files changed (135) hide show
  1. package/dist/bundle-on-cli.d.ts +2 -0
  2. package/dist/bundle-on-cli.js +41 -0
  3. package/dist/bundle.d.ts +1 -0
  4. package/dist/bundle.js +31 -0
  5. package/dist/download-progress.js +4 -1
  6. package/dist/editor/components/MenuBuildIndicator.d.ts +2 -0
  7. package/dist/editor/components/MenuBuildIndicator.js +26 -0
  8. package/dist/editor/components/TopPanel.js +1 -0
  9. package/dist/get-latest-remotion-version.d.ts +1 -0
  10. package/dist/get-latest-remotion-version.js +31 -0
  11. package/dist/prepare-entry-point.d.ts +11 -0
  12. package/dist/prepare-entry-point.js +36 -0
  13. package/dist/preview-server/dev-middleware/compatible-api.d.ts +9 -0
  14. package/dist/preview-server/dev-middleware/compatible-api.js +28 -0
  15. package/dist/preview-server/dev-middleware/get-paths.d.ts +7 -0
  16. package/dist/preview-server/dev-middleware/get-paths.js +19 -0
  17. package/dist/preview-server/dev-middleware/index.d.ts +3 -0
  18. package/dist/preview-server/dev-middleware/index.js +27 -0
  19. package/dist/preview-server/dev-middleware/is-color-supported.d.ts +1 -0
  20. package/dist/preview-server/dev-middleware/is-color-supported.js +37 -0
  21. package/dist/preview-server/dev-middleware/middleware.d.ts +10 -0
  22. package/dist/preview-server/dev-middleware/middleware.js +223 -0
  23. package/dist/preview-server/dev-middleware/range-parser.d.ts +15 -0
  24. package/dist/preview-server/dev-middleware/range-parser.js +96 -0
  25. package/dist/preview-server/dev-middleware/ready.d.ts +3 -0
  26. package/dist/preview-server/dev-middleware/ready.js +11 -0
  27. package/dist/preview-server/dev-middleware/setup-hooks.d.ts +2 -0
  28. package/dist/preview-server/dev-middleware/setup-hooks.js +42 -0
  29. package/dist/preview-server/dev-middleware/setup-output-filesystem.d.ts +2 -0
  30. package/dist/preview-server/dev-middleware/setup-output-filesystem.js +13 -0
  31. package/dist/preview-server/dev-middleware/types.d.ts +10 -0
  32. package/dist/preview-server/dev-middleware/types.js +2 -0
  33. package/dist/preview-server/error-overlay/entry-basic.d.ts +1 -0
  34. package/dist/preview-server/error-overlay/entry-basic.js +21 -0
  35. package/dist/preview-server/error-overlay/react-overlay/effects/format-warning.d.ts +11 -0
  36. package/dist/preview-server/error-overlay/react-overlay/effects/format-warning.js +41 -0
  37. package/dist/preview-server/error-overlay/react-overlay/effects/map-error-to-react-stack.d.ts +7 -0
  38. package/dist/preview-server/error-overlay/react-overlay/effects/map-error-to-react-stack.js +46 -0
  39. package/dist/preview-server/error-overlay/react-overlay/effects/proxy-console.d.ts +24 -0
  40. package/dist/preview-server/error-overlay/react-overlay/effects/proxy-console.js +64 -0
  41. package/dist/preview-server/error-overlay/react-overlay/effects/resolve-file-source.d.ts +3 -0
  42. package/dist/preview-server/error-overlay/react-overlay/effects/resolve-file-source.js +31 -0
  43. package/dist/preview-server/error-overlay/react-overlay/effects/stack-trace-limit.d.ts +3 -0
  44. package/dist/preview-server/error-overlay/react-overlay/effects/stack-trace-limit.js +43 -0
  45. package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-error.d.ts +4 -0
  46. package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-error.js +45 -0
  47. package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-rejection.d.ts +4 -0
  48. package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-rejection.js +41 -0
  49. package/dist/preview-server/error-overlay/react-overlay/index.d.ts +2 -0
  50. package/dist/preview-server/error-overlay/react-overlay/index.js +21 -0
  51. package/dist/preview-server/error-overlay/react-overlay/listen-to-runtime-errors.d.ts +8 -0
  52. package/dist/preview-server/error-overlay/react-overlay/listen-to-runtime-errors.js +79 -0
  53. package/dist/preview-server/error-overlay/react-overlay/utils/get-file-source.d.ts +1 -0
  54. package/dist/preview-server/error-overlay/react-overlay/utils/get-file-source.js +21 -0
  55. package/dist/preview-server/error-overlay/react-overlay/utils/get-lines-around.d.ts +14 -0
  56. package/dist/preview-server/error-overlay/react-overlay/utils/get-lines-around.js +24 -0
  57. package/dist/preview-server/error-overlay/react-overlay/utils/get-source-map.d.ts +13 -0
  58. package/dist/preview-server/error-overlay/react-overlay/utils/get-source-map.js +58 -0
  59. package/dist/preview-server/error-overlay/react-overlay/utils/get-stack-frames.d.ts +2 -0
  60. package/dist/preview-server/error-overlay/react-overlay/utils/get-stack-frames.js +27 -0
  61. package/dist/preview-server/error-overlay/react-overlay/utils/open-in-editor.d.ts +12 -0
  62. package/dist/preview-server/error-overlay/react-overlay/utils/open-in-editor.js +460 -0
  63. package/dist/preview-server/error-overlay/react-overlay/utils/parser.d.ts +2 -0
  64. package/dist/preview-server/error-overlay/react-overlay/utils/parser.js +117 -0
  65. package/dist/preview-server/error-overlay/react-overlay/utils/stack-frame.d.ts +40 -0
  66. package/dist/preview-server/error-overlay/react-overlay/utils/stack-frame.js +31 -0
  67. package/dist/preview-server/error-overlay/react-overlay/utils/unmapper.d.ts +2 -0
  68. package/dist/preview-server/error-overlay/react-overlay/utils/unmapper.js +64 -0
  69. package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.d.ts +2 -0
  70. package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.js +14 -0
  71. package/dist/preview-server/error-overlay/remotion-overlay/Button.d.ts +6 -0
  72. package/dist/preview-server/error-overlay/remotion-overlay/Button.js +24 -0
  73. package/dist/preview-server/error-overlay/remotion-overlay/CodeFrame.d.ts +6 -0
  74. package/dist/preview-server/error-overlay/remotion-overlay/CodeFrame.js +28 -0
  75. package/dist/preview-server/error-overlay/remotion-overlay/DismissButton.d.ts +2 -0
  76. package/dist/preview-server/error-overlay/remotion-overlay/DismissButton.js +23 -0
  77. package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.d.ts +5 -0
  78. package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.js +45 -0
  79. package/dist/preview-server/error-overlay/remotion-overlay/ErrorLoader.d.ts +4 -0
  80. package/dist/preview-server/error-overlay/remotion-overlay/ErrorLoader.js +61 -0
  81. package/dist/preview-server/error-overlay/remotion-overlay/ErrorTitle.d.ts +6 -0
  82. package/dist/preview-server/error-overlay/remotion-overlay/ErrorTitle.js +41 -0
  83. package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.d.ts +5 -0
  84. package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.js +91 -0
  85. package/dist/preview-server/error-overlay/remotion-overlay/Overlay.d.ts +14 -0
  86. package/dist/preview-server/error-overlay/remotion-overlay/Overlay.js +49 -0
  87. package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.d.ts +4 -0
  88. package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.js +13 -0
  89. package/dist/preview-server/error-overlay/remotion-overlay/StackFrame.d.ts +8 -0
  90. package/dist/preview-server/error-overlay/remotion-overlay/StackFrame.js +48 -0
  91. package/dist/preview-server/error-overlay/remotion-overlay/Symbolicating.d.ts +2 -0
  92. package/dist/preview-server/error-overlay/remotion-overlay/Symbolicating.js +8 -0
  93. package/dist/preview-server/error-overlay/remotion-overlay/carets.d.ts +3 -0
  94. package/dist/preview-server/error-overlay/remotion-overlay/carets.js +12 -0
  95. package/dist/preview-server/error-overlay/remotion-overlay/format-location.d.ts +1 -0
  96. package/dist/preview-server/error-overlay/remotion-overlay/format-location.js +10 -0
  97. package/dist/preview-server/error-overlay/remotion-overlay/index.d.ts +1 -0
  98. package/dist/preview-server/error-overlay/remotion-overlay/index.js +18 -0
  99. package/dist/preview-server/fast-refresh/helpers.d.ts +39 -0
  100. package/dist/preview-server/fast-refresh/helpers.js +145 -0
  101. package/dist/preview-server/fast-refresh/index.d.ts +30 -0
  102. package/dist/preview-server/fast-refresh/index.js +86 -0
  103. package/dist/preview-server/fast-refresh/loader.d.ts +35 -0
  104. package/dist/preview-server/fast-refresh/loader.js +81 -0
  105. package/dist/preview-server/fast-refresh/runtime.d.ts +35 -0
  106. package/dist/preview-server/fast-refresh/runtime.js +32 -0
  107. package/dist/preview-server/get-package-manager.d.ts +9 -0
  108. package/dist/preview-server/get-package-manager.js +40 -0
  109. package/dist/preview-server/hot-middleware/client.d.ts +19 -0
  110. package/dist/preview-server/hot-middleware/client.js +177 -0
  111. package/dist/preview-server/hot-middleware/index.d.ts +8 -0
  112. package/dist/preview-server/hot-middleware/index.js +150 -0
  113. package/dist/preview-server/hot-middleware/process-update.d.ts +12 -0
  114. package/dist/preview-server/hot-middleware/process-update.js +144 -0
  115. package/dist/preview-server/hot-middleware/strip-ansi.d.ts +1 -0
  116. package/dist/preview-server/hot-middleware/strip-ansi.js +21 -0
  117. package/dist/preview-server/hot-middleware/types.d.ts +27 -0
  118. package/dist/preview-server/hot-middleware/types.js +10 -0
  119. package/dist/preview-server/project-info.d.ts +5 -0
  120. package/dist/preview-server/project-info.js +22 -0
  121. package/dist/preview-server/routes.d.ts +2 -0
  122. package/dist/preview-server/routes.js +121 -0
  123. package/dist/preview-server/serve-static.d.ts +9 -0
  124. package/dist/preview-server/serve-static.js +77 -0
  125. package/dist/preview-server/start-server.d.ts +8 -0
  126. package/dist/preview-server/start-server.js +68 -0
  127. package/dist/preview-server/static-preview.d.ts +1 -0
  128. package/dist/preview-server/static-preview.js +40 -0
  129. package/dist/preview-server/update-available.d.ts +11 -0
  130. package/dist/preview-server/update-available.js +44 -0
  131. package/dist/preview-server/webpack-cache.d.ts +12 -0
  132. package/dist/preview-server/webpack-cache.js +66 -0
  133. package/dist/webpack-cache.d.ts +12 -0
  134. package/dist/webpack-cache.js +66 -0
  135. package/package.json +7 -7
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /*!
3
+ * range-parser
4
+ * Copyright(c) 2012-2014 TJ Holowaychuk
5
+ * Copyright(c) 2015-2016 Douglas Christopher Wilson
6
+ * MIT Licensed
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.parseRange = void 0;
10
+ function parseRange(size, str) {
11
+ if (typeof str !== 'string') {
12
+ throw new TypeError('argument str must be a string');
13
+ }
14
+ const index = str.indexOf('=');
15
+ if (index === -1) {
16
+ return -2;
17
+ }
18
+ // split the range string
19
+ const arr = str.slice(index + 1).split(',');
20
+ const ranges = [];
21
+ // add ranges type
22
+ ranges.type = str.slice(0, index);
23
+ // parse all ranges
24
+ for (let i = 0; i < arr.length; i++) {
25
+ const range = arr[i].split('-');
26
+ let start = parseInt(range[0], 10);
27
+ let end = parseInt(range[1], 10);
28
+ // -nnn
29
+ if (isNaN(start)) {
30
+ start = size - end;
31
+ end = size - 1;
32
+ // nnn-
33
+ }
34
+ else if (isNaN(end)) {
35
+ end = size - 1;
36
+ }
37
+ // limit last-byte-pos to current length
38
+ if (end > size - 1) {
39
+ end = size - 1;
40
+ }
41
+ // invalid or unsatisifiable
42
+ if (isNaN(start) || isNaN(end) || start > end || start < 0) {
43
+ continue;
44
+ }
45
+ // add range
46
+ ranges.push({
47
+ start,
48
+ end,
49
+ });
50
+ }
51
+ if (ranges.length < 1) {
52
+ return -1;
53
+ }
54
+ return combineRanges(ranges);
55
+ }
56
+ exports.parseRange = parseRange;
57
+ function combineRanges(ranges) {
58
+ const ordered = ranges.map(mapWithIndex).sort(sortByRangeStart);
59
+ let j = 0;
60
+ for (let i = 1; i < ordered.length; i++) {
61
+ const range = ordered[i];
62
+ const current = ordered[j];
63
+ if (range.start > current.end + 1) {
64
+ // next range
65
+ ordered[++j] = range;
66
+ }
67
+ else if (range.end > current.end) {
68
+ // extend range
69
+ current.end = range.end;
70
+ current.index = Math.min(current.index, range.index);
71
+ }
72
+ }
73
+ ordered.length = j + 1;
74
+ const combined = ordered.sort(sortByRangeIndex).map(mapWithoutIndex);
75
+ combined.type = ranges.type;
76
+ return combined;
77
+ }
78
+ function mapWithIndex(range, index) {
79
+ return {
80
+ start: range.start,
81
+ end: range.end,
82
+ index,
83
+ };
84
+ }
85
+ function mapWithoutIndex(range) {
86
+ return {
87
+ start: range.start,
88
+ end: range.end,
89
+ };
90
+ }
91
+ function sortByRangeIndex(a, b) {
92
+ return a.index - b.index;
93
+ }
94
+ function sortByRangeStart(a, b) {
95
+ return a.start - b.start;
96
+ }
@@ -0,0 +1,3 @@
1
+ import { webpack } from '@remotion/bundler';
2
+ import { DevMiddlewareContext } from './types';
3
+ export declare function ready(context: DevMiddlewareContext, callback: (stats: webpack.Stats | undefined) => undefined | Promise<void>): void;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ready = void 0;
4
+ function ready(context, callback) {
5
+ if (context.state) {
6
+ callback(context.stats);
7
+ return;
8
+ }
9
+ context.callbacks.push(callback);
10
+ }
11
+ exports.ready = ready;
@@ -0,0 +1,2 @@
1
+ import { DevMiddlewareContext } from './types';
2
+ export declare function setupHooks(context: DevMiddlewareContext): void;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupHooks = void 0;
4
+ const log_1 = require("../../log");
5
+ const is_color_supported_1 = require("./is-color-supported");
6
+ function setupHooks(context) {
7
+ function invalid() {
8
+ // We are now in invalid state
9
+ context.state = false;
10
+ context.stats = undefined;
11
+ }
12
+ function done(stats) {
13
+ context.state = true;
14
+ context.stats = stats;
15
+ // Do the stuff in nextTick, because bundle may be invalidated if a change happened while compiling
16
+ process.nextTick(() => {
17
+ const { logger, state, callbacks } = context;
18
+ // Check if still in valid state
19
+ if (!state || !stats) {
20
+ return;
21
+ }
22
+ logger.log('Compilation finished');
23
+ const statsOptions = {
24
+ preset: 'normal',
25
+ colors: is_color_supported_1.isColorSupported,
26
+ };
27
+ const printedStats = stats.toString(statsOptions);
28
+ // Avoid extra empty line when `stats: 'none'`
29
+ if (printedStats) {
30
+ log_1.Log.info(printedStats);
31
+ }
32
+ context.callbacks = [];
33
+ callbacks.forEach((callback) => {
34
+ callback(stats);
35
+ });
36
+ });
37
+ }
38
+ context.compiler.hooks.watchRun.tap('remotion', invalid);
39
+ context.compiler.hooks.invalid.tap('remotion', invalid);
40
+ context.compiler.hooks.done.tap('remotion', done);
41
+ }
42
+ exports.setupHooks = setupHooks;
@@ -0,0 +1,2 @@
1
+ import { DevMiddlewareContext } from './types';
2
+ export declare function setupOutputFileSystem(context: DevMiddlewareContext): void;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.setupOutputFileSystem = void 0;
7
+ const memfs_1 = __importDefault(require("memfs"));
8
+ function setupOutputFileSystem(context) {
9
+ const outputFileSystem = memfs_1.default.createFsFromVolume(new memfs_1.default.Volume());
10
+ context.compiler.outputFileSystem = outputFileSystem;
11
+ context.outputFileSystem = outputFileSystem;
12
+ }
13
+ exports.setupOutputFileSystem = setupOutputFileSystem;
@@ -0,0 +1,10 @@
1
+ import { webpack } from '@remotion/bundler';
2
+ import type memfs from 'memfs';
3
+ export declare type DevMiddlewareContext = {
4
+ state: boolean;
5
+ stats: webpack.Stats | undefined;
6
+ callbacks: ((stats: webpack.Stats) => undefined | Promise<void>)[];
7
+ compiler: webpack.Compiler;
8
+ logger: ReturnType<webpack.Compiler['getInfrastructureLogger']>;
9
+ outputFileSystem: memfs.IFs | undefined;
10
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_overlay_1 = require("./react-overlay");
4
+ const remotion_overlay_1 = require("./remotion-overlay");
5
+ const Overlay_1 = require("./remotion-overlay/Overlay");
6
+ (0, react_overlay_1.startReportingRuntimeErrors)(() => {
7
+ if (module.hot) {
8
+ module.hot.addStatusHandler((status) => {
9
+ var _a;
10
+ if (status === 'apply') {
11
+ if ((0, react_overlay_1.didUnmountReactApp)()) {
12
+ return window.location.reload();
13
+ }
14
+ (_a = Overlay_1.setErrorsRef.current) === null || _a === void 0 ? void 0 : _a.setErrors({
15
+ type: 'clear',
16
+ });
17
+ }
18
+ });
19
+ }
20
+ });
21
+ (0, remotion_overlay_1.mountRemotionOverlay)();
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) 2015-present, Facebook, Inc.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { ReactFrame } from './proxy-console';
8
+ export declare function massageWarning(warning: string, frames: ReactFrame[]): {
9
+ message: string;
10
+ stack: string;
11
+ };
@@ -0,0 +1,41 @@
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.massageWarning = void 0;
7
+ function stripInlineStacktrace(message) {
8
+ return message
9
+ .split('\n')
10
+ .filter((line) => !line.match(/^\s*in/))
11
+ .join('\n'); // " in Foo"
12
+ }
13
+ function massageWarning(warning, frames) {
14
+ const message = stripInlineStacktrace(warning);
15
+ // Reassemble the stack with full filenames provided by React
16
+ let stack = '';
17
+ let lastFilename;
18
+ let lastLineNumber;
19
+ for (let index = 0; index < frames.length; ++index) {
20
+ const { fileName, lineNumber } = frames[index];
21
+ if (fileName === null ||
22
+ lineNumber === null ||
23
+ lineNumber === undefined ||
24
+ fileName === undefined) {
25
+ continue;
26
+ }
27
+ if (fileName === lastFilename &&
28
+ typeof lineNumber === 'number' &&
29
+ typeof lastLineNumber === 'number' &&
30
+ Math.abs(lineNumber - lastLineNumber) < 3) {
31
+ continue;
32
+ }
33
+ lastFilename = fileName;
34
+ lastLineNumber = lineNumber;
35
+ let { name } = frames[index];
36
+ name = name || '(anonymous function)';
37
+ stack += `in ${name} (at ${fileName}:${lineNumber})\n`;
38
+ }
39
+ return { message, stack };
40
+ }
41
+ exports.massageWarning = massageWarning;
@@ -0,0 +1,7 @@
1
+ export declare type ErrorLocation = {
2
+ fileName: string;
3
+ columnNumber: number;
4
+ lineNumber: number;
5
+ message: string;
6
+ };
7
+ export declare const getLocationFromBuildError: (err: Error) => ErrorLocation | null;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLocationFromBuildError = void 0;
4
+ const remotion_1 = require("remotion");
5
+ const getLocationFromBuildError = (err) => {
6
+ var _a;
7
+ if (!err.stack) {
8
+ return null;
9
+ }
10
+ if (!err.stack.startsWith('Error: Module build failed') &&
11
+ !err.stack.startsWith('Error: Cannot find module')) {
12
+ return null;
13
+ }
14
+ const split = err.stack.split('\n');
15
+ return ((_a = split
16
+ .map((s) => {
17
+ if (s.startsWith('Error')) {
18
+ return null;
19
+ }
20
+ const matchWebpackOrEsbuild = s.match(/(.*):([0-9]+):([0-9]+): (.*)/);
21
+ if (matchWebpackOrEsbuild) {
22
+ return {
23
+ fileName: matchWebpackOrEsbuild[1],
24
+ lineNumber: Number(matchWebpackOrEsbuild[2]),
25
+ columnNumber: Number(matchWebpackOrEsbuild[3]),
26
+ message: matchWebpackOrEsbuild[4],
27
+ };
28
+ }
29
+ const matchMissingModule = s.match(/\s+at(.*)\s\((.*)\)/);
30
+ if (!matchMissingModule) {
31
+ return null;
32
+ }
33
+ if (s.includes('webpackMissingModule')) {
34
+ return null;
35
+ }
36
+ const [, filename] = matchMissingModule;
37
+ return {
38
+ columnNumber: 0,
39
+ lineNumber: 1,
40
+ message: split[0],
41
+ fileName: filename.trim(),
42
+ };
43
+ })
44
+ .filter(remotion_1.Internals.truthy)[0]) !== null && _a !== void 0 ? _a : null);
45
+ };
46
+ exports.getLocationFromBuildError = getLocationFromBuildError;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) 2015-present, Facebook, Inc.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export declare type ReactFrame = {
8
+ fileName: string | null;
9
+ lineNumber: number | null;
10
+ name: string | null;
11
+ };
12
+ declare const registerReactStack: () => void;
13
+ declare const unregisterReactStack: () => void;
14
+ declare type ErrorData = {
15
+ type: 'webpack-error';
16
+ message: string;
17
+ frames: ReactFrame[];
18
+ } | {
19
+ type: 'build-error';
20
+ error: Error;
21
+ };
22
+ declare type ConsoleProxyCallback = (data: ErrorData) => void;
23
+ declare const permanentRegister: (type: 'error', callback: ConsoleProxyCallback) => void;
24
+ export { permanentRegister, registerReactStack, unregisterReactStack };
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /* eslint-disable no-console */
3
+ /*
4
+ 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.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.unregisterReactStack = exports.registerReactStack = exports.permanentRegister = void 0;
8
+ const reactFrameStack = [];
9
+ // This is a stripped down barebones version of this proposal:
10
+ // https://gist.github.com/sebmarkbage/bdefa100f19345229d526d0fdd22830f
11
+ // We're implementing just enough to get the invalid element type warnings
12
+ // to display the component stack in React 15.6+:
13
+ // https://github.com/facebook/react/pull/9679
14
+ const registerReactStack = () => {
15
+ if (typeof console !== 'undefined') {
16
+ // @ts-expect-error
17
+ console.reactStack = (frames) => reactFrameStack.push(frames);
18
+ // @ts-expect-error
19
+ console.reactStackEnd = () => reactFrameStack.pop();
20
+ }
21
+ };
22
+ exports.registerReactStack = registerReactStack;
23
+ const unregisterReactStack = () => {
24
+ if (typeof console !== 'undefined') {
25
+ // @ts-expect-error
26
+ console.reactStack = undefined;
27
+ // @ts-expect-error
28
+ console.reactStackEnd = undefined;
29
+ }
30
+ };
31
+ exports.unregisterReactStack = unregisterReactStack;
32
+ const permanentRegister = function (type, callback) {
33
+ if (typeof console !== 'undefined') {
34
+ const orig = console[type];
35
+ if (typeof orig === 'function') {
36
+ console[type] = function (...args) {
37
+ try {
38
+ const message = args[0];
39
+ if (typeof message === 'string' && reactFrameStack.length > 0) {
40
+ callback({
41
+ type: 'webpack-error',
42
+ message,
43
+ frames: reactFrameStack[reactFrameStack.length - 1],
44
+ });
45
+ }
46
+ if (message instanceof Error) {
47
+ callback({
48
+ type: 'build-error',
49
+ error: message,
50
+ });
51
+ }
52
+ }
53
+ catch (err) {
54
+ // Warnings must never crash. Rethrow with a clean stack.
55
+ setTimeout(() => {
56
+ throw err;
57
+ });
58
+ }
59
+ return orig.apply(this, args);
60
+ };
61
+ }
62
+ }
63
+ };
64
+ exports.permanentRegister = permanentRegister;
@@ -0,0 +1,3 @@
1
+ import { SymbolicatedStackFrame } from '../utils/stack-frame';
2
+ import { ErrorLocation } from './map-error-to-react-stack';
3
+ export declare const resolveFileSource: (location: ErrorLocation, contextLines: number) => Promise<SymbolicatedStackFrame>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveFileSource = void 0;
4
+ const resolveFileSource = async (location, contextLines) => {
5
+ const res = await fetch(`/api/file-source?f=${encodeURIComponent(location.fileName)}`);
6
+ const text = await res.text();
7
+ const lines = text
8
+ .split('\n')
9
+ .map((l, i) => {
10
+ const oneIndexedLineNumber = i + 1;
11
+ return [oneIndexedLineNumber, l];
12
+ })
13
+ .filter(([oneIndexedLineNumber]) => {
14
+ return (Math.abs(oneIndexedLineNumber - location.lineNumber) <= contextLines);
15
+ });
16
+ const scriptCode = lines.map(([num, line]) => {
17
+ return {
18
+ content: line,
19
+ highlight: location.lineNumber === num,
20
+ lineNumber: num,
21
+ };
22
+ });
23
+ return {
24
+ originalColumnNumber: location.columnNumber,
25
+ originalFunctionName: null,
26
+ originalFileName: location.fileName,
27
+ originalLineNumber: location.lineNumber,
28
+ originalScriptCode: scriptCode,
29
+ };
30
+ };
31
+ exports.resolveFileSource = resolveFileSource;
@@ -0,0 +1,3 @@
1
+ declare function registerStackTraceLimit(limit?: number): void;
2
+ declare function unregisterStackTraceLimit(): void;
3
+ export { registerStackTraceLimit as register, unregisterStackTraceLimit as unregister, };
@@ -0,0 +1,43 @@
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.unregister = exports.register = void 0;
7
+ /**
8
+ * Copyright (c) 2015-present, Facebook, Inc.
9
+ *
10
+ * This source code is licensed under the MIT license found in the
11
+ * LICENSE file in the root directory of this source tree.
12
+ */
13
+ let stackTraceRegistered = false;
14
+ // Default: https://docs.microsoft.com/en-us/scripting/javascript/reference/stacktracelimit-property-error-javascript
15
+ let restoreStackTraceValue = 10;
16
+ const MAX_STACK_LENGTH = 50;
17
+ function registerStackTraceLimit(limit = MAX_STACK_LENGTH) {
18
+ if (stackTraceRegistered) {
19
+ return;
20
+ }
21
+ try {
22
+ restoreStackTraceValue = Error.stackTraceLimit;
23
+ Error.stackTraceLimit = limit;
24
+ stackTraceRegistered = true;
25
+ }
26
+ catch (e) {
27
+ // Not all browsers support this so we don't care if it errors
28
+ }
29
+ }
30
+ exports.register = registerStackTraceLimit;
31
+ function unregisterStackTraceLimit() {
32
+ if (!stackTraceRegistered) {
33
+ return;
34
+ }
35
+ try {
36
+ Error.stackTraceLimit = restoreStackTraceValue;
37
+ stackTraceRegistered = false;
38
+ }
39
+ catch (e) {
40
+ // Not all browsers support this so we don't care if it errors
41
+ }
42
+ }
43
+ exports.unregister = unregisterStackTraceLimit;
@@ -0,0 +1,4 @@
1
+ declare type ErrorCallback = (error: Error) => void;
2
+ declare function registerUnhandledError(target: EventTarget, callback: ErrorCallback): void;
3
+ declare function unregisterUnhandledError(target: EventTarget): void;
4
+ export { registerUnhandledError as register, unregisterUnhandledError as unregister, };
@@ -0,0 +1,45 @@
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.unregister = exports.register = void 0;
7
+ /**
8
+ * Copyright (c) 2015-present, Facebook, Inc.
9
+ *
10
+ * This source code is licensed under the MIT license found in the
11
+ * LICENSE file in the root directory of this source tree.
12
+ */
13
+ let boundErrorHandler = null;
14
+ function errorHandler(callback, e) {
15
+ // @ts-expect-error
16
+ if (!e.error) {
17
+ return;
18
+ }
19
+ // @ts-expect-error
20
+ const { error } = e;
21
+ if (error instanceof Error) {
22
+ callback(error);
23
+ }
24
+ else {
25
+ // A non-error was thrown, we don't have a trace. :(
26
+ // Look in your browser's devtools for more information
27
+ callback(new Error(error));
28
+ }
29
+ }
30
+ function registerUnhandledError(target, callback) {
31
+ if (boundErrorHandler !== null) {
32
+ return;
33
+ }
34
+ boundErrorHandler = errorHandler.bind(undefined, callback);
35
+ target.addEventListener('error', boundErrorHandler);
36
+ }
37
+ exports.register = registerUnhandledError;
38
+ function unregisterUnhandledError(target) {
39
+ if (boundErrorHandler === null) {
40
+ return;
41
+ }
42
+ target.removeEventListener('error', boundErrorHandler);
43
+ boundErrorHandler = null;
44
+ }
45
+ exports.unregister = unregisterUnhandledError;
@@ -0,0 +1,4 @@
1
+ declare type ErrorCallback = (error: Error) => void;
2
+ declare function registerUnhandledRejection(target: EventTarget, callback: ErrorCallback): void;
3
+ declare function unregisterUnhandledRejection(target: EventTarget): void;
4
+ export { registerUnhandledRejection as register, unregisterUnhandledRejection as unregister, };
@@ -0,0 +1,41 @@
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.unregister = exports.register = void 0;
7
+ /**
8
+ * Copyright (c) 2015-present, Facebook, Inc.
9
+ *
10
+ * This source code is licensed under the MIT license found in the
11
+ * LICENSE file in the root directory of this source tree.
12
+ */
13
+ let boundRejectionHandler = null;
14
+ function rejectionHandler(callback, e) {
15
+ if (!(e === null || e === void 0 ? void 0 : e.reason)) {
16
+ return callback(new Error('Unknown'));
17
+ }
18
+ const { reason } = e;
19
+ if (reason instanceof Error) {
20
+ return callback(reason);
21
+ }
22
+ // A non-error was rejected, we don't have a trace :(
23
+ // Look in your browser's devtools for more information
24
+ return callback(new Error(reason));
25
+ }
26
+ function registerUnhandledRejection(target, callback) {
27
+ if (boundRejectionHandler !== null) {
28
+ return;
29
+ }
30
+ boundRejectionHandler = rejectionHandler.bind(undefined, callback);
31
+ target.addEventListener('unhandledrejection', boundRejectionHandler);
32
+ }
33
+ exports.register = registerUnhandledRejection;
34
+ function unregisterUnhandledRejection(target) {
35
+ if (boundRejectionHandler === null) {
36
+ return;
37
+ }
38
+ target.removeEventListener('unhandledrejection', boundRejectionHandler);
39
+ boundRejectionHandler = null;
40
+ }
41
+ exports.unregister = unregisterUnhandledRejection;
@@ -0,0 +1,2 @@
1
+ export declare const didUnmountReactApp: () => boolean;
2
+ export declare function startReportingRuntimeErrors(onError: () => void): void;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startReportingRuntimeErrors = exports.didUnmountReactApp = void 0;
4
+ const remotion_1 = require("remotion");
5
+ const listen_to_runtime_errors_1 = require("./listen-to-runtime-errors");
6
+ let stopListeningToRuntimeErrors = null;
7
+ const didUnmountReactApp = () => {
8
+ var _a;
9
+ return !((_a = remotion_1.Internals.getPreviewDomElement()) === null || _a === void 0 ? void 0 : _a.hasChildNodes());
10
+ };
11
+ exports.didUnmountReactApp = didUnmountReactApp;
12
+ function startReportingRuntimeErrors(onError) {
13
+ if (stopListeningToRuntimeErrors !== null) {
14
+ throw new Error('Already listening');
15
+ }
16
+ const handleRuntimeError = () => {
17
+ onError();
18
+ };
19
+ stopListeningToRuntimeErrors = (0, listen_to_runtime_errors_1.listenToRuntimeErrors)(handleRuntimeError);
20
+ }
21
+ exports.startReportingRuntimeErrors = startReportingRuntimeErrors;
@@ -0,0 +1,8 @@
1
+ import { SymbolicatedStackFrame } from './utils/stack-frame';
2
+ export declare type ErrorRecord = {
3
+ error: Error;
4
+ contextSize: number;
5
+ stackFrames: SymbolicatedStackFrame[];
6
+ };
7
+ export declare const getErrorRecord: (error: Error) => Promise<ErrorRecord | null>;
8
+ export declare function listenToRuntimeErrors(crash: () => void): () => void;