@remotion/renderer 2.6.15 → 2.6.16

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 (60) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/.turbo/turbo-lint.log +27 -21
  3. package/.turbo/turbo-test.log +34 -40
  4. package/dist/convert-mp3-to-pcm.d.ts +7 -0
  5. package/dist/convert-mp3-to-pcm.d.ts.map +1 -0
  6. package/dist/convert-mp3-to-pcm.js +41 -0
  7. package/dist/convert-mp3-to-pcm.js.map +1 -0
  8. package/dist/delay-render-embedded-stack.d.ts +3 -0
  9. package/dist/delay-render-embedded-stack.d.ts.map +1 -0
  10. package/dist/delay-render-embedded-stack.js +18 -0
  11. package/dist/delay-render-embedded-stack.js.map +1 -0
  12. package/dist/error-handling/handle-javascript-exception.d.ts +22 -0
  13. package/dist/error-handling/handle-javascript-exception.d.ts.map +1 -0
  14. package/dist/error-handling/handle-javascript-exception.js +73 -0
  15. package/dist/error-handling/handle-javascript-exception.js.map +1 -0
  16. package/dist/error-handling/symbolicate-error.d.ts +4 -0
  17. package/dist/error-handling/symbolicate-error.d.ts.map +1 -0
  18. package/dist/error-handling/symbolicate-error.js +22 -0
  19. package/dist/error-handling/symbolicate-error.js.map +1 -0
  20. package/dist/error-handling/symbolicateable-error.d.ts +17 -0
  21. package/dist/error-handling/symbolicateable-error.d.ts.map +1 -0
  22. package/dist/error-handling/symbolicateable-error.js +19 -0
  23. package/dist/error-handling/symbolicateable-error.js.map +1 -0
  24. package/dist/handle-javascript-exception.d.ts +32 -0
  25. package/dist/handle-javascript-exception.d.ts.map +1 -0
  26. package/dist/handle-javascript-exception.js +82 -0
  27. package/dist/handle-javascript-exception.js.map +1 -0
  28. package/dist/handle-null-audio.d.ts +1 -0
  29. package/dist/handle-null-audio.d.ts.map +1 -0
  30. package/dist/handle-null-audio.js +2 -0
  31. package/dist/handle-null-audio.js.map +1 -0
  32. package/dist/is-local-file.d.ts +2 -0
  33. package/dist/is-local-file.d.ts.map +1 -0
  34. package/dist/is-local-file.js +13 -0
  35. package/dist/is-local-file.js.map +1 -0
  36. package/dist/parse-browser-error-stack.d.ts +8 -0
  37. package/dist/parse-browser-error-stack.d.ts.map +1 -0
  38. package/dist/parse-browser-error-stack.js +88 -0
  39. package/dist/parse-browser-error-stack.js.map +1 -0
  40. package/dist/puppeteer-evaluate.d.ts +9 -0
  41. package/dist/puppeteer-evaluate.d.ts.map +1 -0
  42. package/dist/puppeteer-evaluate.js +157 -0
  43. package/dist/puppeteer-evaluate.js.map +1 -0
  44. package/dist/render-video.d.ts +38 -0
  45. package/dist/render-video.d.ts.map +1 -0
  46. package/dist/render-video.js +169 -0
  47. package/dist/render-video.js.map +1 -0
  48. package/dist/symbolicate-stacktrace.d.ts +17 -0
  49. package/dist/symbolicate-stacktrace.d.ts.map +1 -0
  50. package/dist/symbolicate-stacktrace.js +109 -0
  51. package/dist/symbolicate-stacktrace.js.map +1 -0
  52. package/dist/validate-frame.d.ts +2 -0
  53. package/dist/validate-frame.d.ts.map +1 -0
  54. package/dist/validate-frame.js +25 -0
  55. package/dist/validate-frame.js.map +1 -0
  56. package/dist/validate-quality.d.ts +1 -0
  57. package/dist/validate-quality.d.ts.map +1 -0
  58. package/dist/validate-quality.js +2 -0
  59. package/dist/validate-quality.js.map +1 -0
  60. package/package.json +6 -6
@@ -1,5 +1,5 @@
1
- @remotion/renderer:build: cache hit, replaying output 6ded6d86765e71ec
1
+ @remotion/renderer:build: cache hit, replaying output 287ddcee59143d12
2
2
  @remotion/renderer:build: 
3
- @remotion/renderer:build: > @remotion/renderer@2.6.14 build /Users/jonathanburger/remotion/packages/renderer
3
+ @remotion/renderer:build: > @remotion/renderer@2.6.15 build /Users/jonathanburger/remotion/packages/renderer
4
4
  @remotion/renderer:build: > tsc -d
5
5
  @remotion/renderer:build: 
@@ -1,21 +1,27 @@
1
- @remotion/renderer:lint: cache hit, replaying output 039a3ea7d5fb2d3b
2
- @remotion/renderer:lint: 
3
- @remotion/renderer:lint: > @remotion/renderer@2.6.14 lint /Users/jonathanburger/remotion/packages/renderer
4
- @remotion/renderer:lint: > eslint src --ext ts,tsx
5
- @remotion/renderer:lint: 
6
- @remotion/renderer:lint: 
7
- @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/assets/ffmpeg-volume-expression.ts
8
- @remotion/renderer:lint:  76:1 warning Unexpected 'todo' comment: 'TODO: Should remove irrelevant frames' no-warning-comments
9
- @remotion/renderer:lint: 
10
- @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/ensure-frames-in-order.ts
11
- @remotion/renderer:lint:  21:72 warning Async arrow function has no 'await' expression require-await
12
- @remotion/renderer:lint: 
13
- @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/provide-screenshot.ts
14
- @remotion/renderer:lint:  18:21 warning Async arrow function has no 'await' expression require-await
15
- @remotion/renderer:lint: 
16
- @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/test/validate-config-stitcher.test.ts
17
- @remotion/renderer:lint:  17:34 warning Async arrow function has no 'await' expression require-await
18
- @remotion/renderer:lint:  29:33 warning Async arrow function has no 'await' expression require-await
19
- @remotion/renderer:lint: 
20
- @remotion/renderer:lint:  5 problems (0 errors, 5 warnings)
21
- @remotion/renderer:lint: 
1
+ @remotion/renderer:lint: cache hit, replaying output 531dedd540b40c85
2
+ @remotion/renderer:lint: 
3
+ @remotion/renderer:lint: > @remotion/renderer@2.6.15 lint /Users/jonathanburger/remotion/packages/renderer
4
+ @remotion/renderer:lint: > eslint src --ext ts,tsx
5
+ @remotion/renderer:lint: 
6
+ @remotion/renderer:lint: 
7
+ @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/assets/ffmpeg-volume-expression.ts
8
+ @remotion/renderer:lint:  76:1 warning Unexpected 'todo' comment: 'TODO: Should remove irrelevant frames' no-warning-comments
9
+ @remotion/renderer:lint: 
10
+ @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/ensure-frames-in-order.ts
11
+ @remotion/renderer:lint:  21:72 warning Async arrow function has no 'await' expression require-await
12
+ @remotion/renderer:lint: 
13
+ @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/error-handling/handle-javascript-exception.ts
14
+ @remotion/renderer:lint:  82:75 warning Async arrow function has no 'await' expression require-await
15
+ @remotion/renderer:lint: 
16
+ @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/provide-screenshot.ts
17
+ @remotion/renderer:lint:  18:21 warning Async arrow function has no 'await' expression require-await
18
+ @remotion/renderer:lint: 
19
+ @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/test/symolicate-remote-stack.test.ts
20
+ @remotion/renderer:lint:  19:54 warning Async arrow function has no 'await' expression require-await
21
+ @remotion/renderer:lint: 
22
+ @remotion/renderer:lint: /Users/jonathanburger/remotion/packages/renderer/src/test/validate-config-stitcher.test.ts
23
+ @remotion/renderer:lint:  17:34 warning Async arrow function has no 'await' expression require-await
24
+ @remotion/renderer:lint:  29:33 warning Async arrow function has no 'await' expression require-await
25
+ @remotion/renderer:lint: 
26
+ @remotion/renderer:lint: ✖ 7 problems (0 errors, 7 warnings)
27
+ @remotion/renderer:lint: 
@@ -1,40 +1,34 @@
1
- @remotion/renderer:test: cache hit, replaying output 21f71927c0503c53
2
- @remotion/renderer:test: 
3
- @remotion/renderer:test: > @remotion/renderer@2.6.14 test /Users/jonathanburger/remotion/packages/renderer
4
- @remotion/renderer:test: > jest
5
- @remotion/renderer:test: 
6
- @remotion/renderer:test: watchman warning: Recrawled this watch 109 times, most recently because:
7
- @remotion/renderer:test: MustScanSubDirs UserDroppedTo resolve, please review the information on
8
- @remotion/renderer:test: https://facebook.github.io/watchman/docs/troubleshooting.html#recrawl
9
- @remotion/renderer:test: To clear this warning, run:
10
- @remotion/renderer:test: `watchman watch-del '/Users/jonathanburger/remotion' ; watchman watch-project '/Users/jonathanburger/remotion'`
11
- @remotion/renderer:test: 
12
- @remotion/renderer:test: PASS src/test/ffmpeg-filters.test.ts (9.806 s)
13
- @remotion/renderer:test: PASS src/test/ffmpeg-volume-expression.test.ts (9.204 s)
14
- @remotion/renderer:test: PASS src/test/split-assets-into-segments.test.tsx (9.892 s)
15
- @remotion/renderer:test: PASS src/test/parse-ffmpeg-version.test.ts (10.099 s)
16
- @remotion/renderer:test: PASS src/test/dont-skip-assets.test.ts (10.173 s)
17
- @remotion/renderer:test: PASS src/test/serve-url.test.js
18
- @remotion/renderer:test: PASS src/test/avoid-asset-zero-length.test.ts
19
- @remotion/renderer:test: PASS src/test/asset-compression.test.ts
20
- @remotion/renderer:test: PASS src/test/handle-weird-file-names.test.ts
21
- @remotion/renderer:test: PASS src/test/asset-is-used-at-time.test.ts
22
- @remotion/renderer:test: PASS src/test/serve-url.test.ts
23
- @remotion/renderer:test: PASS src/test/calculate-atempo.test.ts
24
- @remotion/renderer:test: PASS src/test/get-audio-channels.test.ts
25
- @remotion/renderer:test: PASS src/test/parse-ffmpeg-progress.test.ts
26
- @remotion/renderer:test: PASS src/test/sanitize-file-path.test.ts
27
- @remotion/renderer:test: PASS src/test/avoid-ffmpeg-stackoverflow.test.ts
28
- @remotion/renderer:test: PASS src/test/download-file.test.ts
29
- @remotion/renderer:test: PASS src/test/flatten-volume-array.test.tsx
30
- @remotion/renderer:test: PASS src/test/validate-config-stitcher.test.ts
31
- @remotion/renderer:test: PASS src/test/render-still.test.ts
32
- @remotion/renderer:test: PASS src/test/webpack-to-serve-url.test.ts
33
- @remotion/renderer:test: PASS src/test/validate-config.test.ts (13.034 s)
34
- @remotion/renderer:test: PASS src/test/asset-calculation.test.tsx (19.103 s)
35
- @remotion/renderer:test: 
36
- @remotion/renderer:test: Test Suites: 23 passed, 23 total
37
- @remotion/renderer:test: Tests: 63 passed, 63 total
38
- @remotion/renderer:test: Snapshots: 0 total
39
- @remotion/renderer:test: Time: 21.783 s
40
- @remotion/renderer:test: Ran all test suites.
1
+ @remotion/renderer:test: cache hit, replaying output a8b2ea864d05c5da
2
+ @remotion/renderer:test: 
3
+ @remotion/renderer:test: > @remotion/renderer@2.6.15 test /Users/jonathanburger/remotion/packages/renderer
4
+ @remotion/renderer:test: > jest
5
+ @remotion/renderer:test: 
6
+ @remotion/renderer:test: PASS src/test/parse-ffmpeg-version.test.ts (19.419 s)
7
+ @remotion/renderer:test: PASS src/test/split-assets-into-segments.test.tsx (19.553 s)
8
+ @remotion/renderer:test: PASS src/test/ffmpeg-filters.test.ts (19.579 s)
9
+ @remotion/renderer:test: PASS src/test/ffmpeg-volume-expression.test.ts (19.731 s)
10
+ @remotion/renderer:test: PASS src/test/dont-skip-assets.test.ts (19.584 s)
11
+ @remotion/renderer:test: PASS src/test/serve-url.test.js
12
+ @remotion/renderer:test: PASS src/test/avoid-asset-zero-length.test.ts
13
+ @remotion/renderer:test: PASS src/test/asset-is-used-at-time.test.ts
14
+ @remotion/renderer:test: PASS src/test/asset-compression.test.ts
15
+ @remotion/renderer:test: PASS src/test/handle-weird-file-names.test.ts
16
+ @remotion/renderer:test: PASS src/test/serve-url.test.ts
17
+ @remotion/renderer:test: PASS src/test/get-audio-channels.test.ts
18
+ @remotion/renderer:test: PASS src/test/calculate-atempo.test.ts
19
+ @remotion/renderer:test: PASS src/test/parse-ffmpeg-progress.test.ts
20
+ @remotion/renderer:test: PASS src/test/sanitize-file-path.test.ts
21
+ @remotion/renderer:test: PASS src/test/avoid-ffmpeg-stackoverflow.test.ts
22
+ @remotion/renderer:test: PASS src/test/flatten-volume-array.test.tsx
23
+ @remotion/renderer:test: PASS src/test/webpack-to-serve-url.test.ts
24
+ @remotion/renderer:test: PASS src/test/download-file.test.ts
25
+ @remotion/renderer:test: PASS src/test/validate-config-stitcher.test.ts
26
+ @remotion/renderer:test: PASS src/test/render-still.test.ts
27
+ @remotion/renderer:test: PASS src/test/validate-config.test.ts (22.706 s)
28
+ @remotion/renderer:test: PASS src/test/asset-calculation.test.tsx (29.083 s)
29
+ @remotion/renderer:test: 
30
+ @remotion/renderer:test: Test Suites: 23 passed, 23 total
31
+ @remotion/renderer:test: Tests: 63 passed, 63 total
32
+ @remotion/renderer:test: Snapshots: 0 total
33
+ @remotion/renderer:test: Time: 33.572 s
34
+ @remotion/renderer:test: Ran all test suites.
@@ -0,0 +1,7 @@
1
+ export declare const getPcmOutputName: (inputName: string) => string;
2
+ export declare const conversionStarted: {
3
+ [key: string]: boolean;
4
+ };
5
+ export declare const convertMp3ToPcm: (source: string) => Promise<string>;
6
+ export declare const clearMp3Conversions: () => void;
7
+ //# sourceMappingURL=convert-mp3-to-pcm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-mp3-to-pcm.d.ts","sourceRoot":"","sources":["../src/convert-mp3-to-pcm.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,cAAe,MAAM,WAMjD,CAAC;AAQF,eAAO,MAAM,iBAAiB,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAM,CAAC;AAE9D,eAAO,MAAM,eAAe,WAAkB,MAAM,oBAcnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAI/B,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // For the h264-mkv format, we need to convert an MP3 file to PCM first
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.clearMp3Conversions = exports.convertMp3ToPcm = exports.conversionStarted = exports.getPcmOutputName = void 0;
8
+ const execa_1 = __importDefault(require("execa"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const getPcmOutputName = (inputName) => {
11
+ const dirname = path_1.default.dirname(inputName);
12
+ const extension = path_1.default.extname(inputName);
13
+ const filename = path_1.default.basename(inputName, extension);
14
+ return path_1.default.join(dirname, `${filename}-converted.wav`);
15
+ };
16
+ exports.getPcmOutputName = getPcmOutputName;
17
+ const isMp3 = async (source) => {
18
+ const { stderr } = await (0, execa_1.default)('ffprobe', [source]);
19
+ return stderr.includes('Audio: mp3');
20
+ };
21
+ exports.conversionStarted = {};
22
+ const convertMp3ToPcm = async (source) => {
23
+ const outname = (0, exports.getPcmOutputName)(source);
24
+ if (!(await isMp3(source))) {
25
+ return source;
26
+ }
27
+ if (exports.conversionStarted[source]) {
28
+ return outname;
29
+ }
30
+ exports.conversionStarted[source] = true;
31
+ await (0, execa_1.default)('ffmpeg', ['-y', '-i', source, (0, exports.getPcmOutputName)(source)]);
32
+ return outname;
33
+ };
34
+ exports.convertMp3ToPcm = convertMp3ToPcm;
35
+ const clearMp3Conversions = () => {
36
+ Object.keys(exports.conversionStarted).forEach((key) => {
37
+ delete exports.conversionStarted[key];
38
+ });
39
+ };
40
+ exports.clearMp3Conversions = clearMp3Conversions;
41
+ //# sourceMappingURL=convert-mp3-to-pcm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-mp3-to-pcm.js","sourceRoot":"","sources":["../src/convert-mp3-to-pcm.ts"],"names":[],"mappings":";AAAA,uEAAuE;;;;;;AAEvE,kDAA0B;AAC1B,gDAAwB;AAEjB,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAErD,OAAO,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC;AACxD,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B;AAEF,MAAM,KAAK,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACtC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,eAAK,EAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAElD,OAAO,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAA6B,EAAE,CAAC;AAEvD,MAAM,eAAe,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;QAC3B,OAAO,MAAM,CAAC;KACd;IAED,IAAI,yBAAiB,CAAC,MAAM,CAAC,EAAE;QAC9B,OAAO,OAAO,CAAC;KACf;IAED,yBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEjC,MAAM,IAAA,eAAK,EAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACvC,MAAM,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9C,OAAO,yBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B"}
@@ -0,0 +1,3 @@
1
+ import { UnsymbolicatedStackFrame } from './parse-browser-error-stack';
2
+ export declare const parseDelayRenderEmbeddedStack: (message: string) => UnsymbolicatedStackFrame[] | null;
3
+ //# sourceMappingURL=delay-render-embedded-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay-render-embedded-stack.d.ts","sourceRoot":"","sources":["../src/delay-render-embedded-stack.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,wBAAwB,EACxB,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,6BAA6B,YAChC,MAAM,KACb,wBAAwB,EAAE,GAAG,IAY/B,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseDelayRenderEmbeddedStack = void 0;
4
+ const remotion_1 = require("remotion");
5
+ const parse_browser_error_stack_1 = require("./parse-browser-error-stack");
6
+ const parseDelayRenderEmbeddedStack = (message) => {
7
+ const index = message.indexOf(remotion_1.Internals.DELAY_RENDER_CALLSTACK_TOKEN);
8
+ if (index === -1) {
9
+ return null;
10
+ }
11
+ const msg = message
12
+ .substring(index + remotion_1.Internals.DELAY_RENDER_CALLSTACK_TOKEN.length)
13
+ .trim();
14
+ const parsed = (0, parse_browser_error_stack_1.parseStack)(msg.split('\n'));
15
+ return parsed;
16
+ };
17
+ exports.parseDelayRenderEmbeddedStack = parseDelayRenderEmbeddedStack;
18
+ //# sourceMappingURL=delay-render-embedded-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay-render-embedded-stack.js","sourceRoot":"","sources":["../src/delay-render-embedded-stack.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,2EAGqC;AAE9B,MAAM,6BAA6B,GAAG,CAC5C,OAAe,EACqB,EAAE;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAS,CAAC,4BAA4B,CAAC,CAAC;IACtE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QACjB,OAAO,IAAI,CAAC;KACZ;IAED,MAAM,GAAG,GAAG,OAAO;SACjB,SAAS,CAAC,KAAK,GAAG,oBAAS,CAAC,4BAA4B,CAAC,MAAM,CAAC;SAChE,IAAI,EAAE,CAAC;IAET,MAAM,MAAM,GAAG,IAAA,sCAAU,EAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,6BAA6B,iCAcxC"}
@@ -0,0 +1,22 @@
1
+ import { Page } from 'puppeteer-core';
2
+ import { SymbolicatedStackFrame } from '../symbolicate-stacktrace';
3
+ export declare class ErrorWithStackFrame extends Error {
4
+ symbolicatedStackFrames: SymbolicatedStackFrame[] | null;
5
+ frame: number | null;
6
+ name: string;
7
+ delayRenderCall: SymbolicatedStackFrame[] | null;
8
+ constructor({ message, symbolicatedStackFrames, frame, name, delayRenderCall, }: {
9
+ message: string;
10
+ symbolicatedStackFrames: SymbolicatedStackFrame[] | null;
11
+ frame: number | null;
12
+ name: string;
13
+ delayRenderCall: SymbolicatedStackFrame[] | null;
14
+ });
15
+ }
16
+ export declare const removeDelayRenderStack: (message: string) => string;
17
+ export declare const handleJavascriptException: ({ page, onError, frame, }: {
18
+ page: Page;
19
+ frame: number | null;
20
+ onError: (err: Error) => void;
21
+ }) => () => void;
22
+ //# sourceMappingURL=handle-javascript-exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-javascript-exception.d.ts","sourceRoot":"","sources":["../../src/error-handling/handle-javascript-exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,IAAI,EAAW,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,2BAA2B,CAAC;AAGjE,qBAAa,mBAAoB,SAAQ,KAAK;IAC7C,uBAAuB,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IACzD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;gBAErC,EACX,OAAO,EACP,uBAAuB,EACvB,KAAK,EACL,IAAI,EACJ,eAAe,GACf,EAAE;QACF,OAAO,EAAE,MAAM,CAAC;QAChB,uBAAuB,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;QACzD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;KACjD;CAOD;AAmBD,eAAO,MAAM,sBAAsB,YAAa,MAAM,WAOrD,CAAC;AAaF,eAAO,MAAM,yBAAyB;UAK/B,IAAI;WACH,MAAM,GAAG,IAAI;mBACL,KAAK,KAAK,IAAI;gBAmC7B,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleJavascriptException = exports.removeDelayRenderStack = exports.ErrorWithStackFrame = void 0;
4
+ const remotion_1 = require("remotion");
5
+ const symbolicateable_error_1 = require("./symbolicateable-error");
6
+ class ErrorWithStackFrame extends Error {
7
+ constructor({ message, symbolicatedStackFrames, frame, name, delayRenderCall, }) {
8
+ super(message);
9
+ this.symbolicatedStackFrames = symbolicatedStackFrames;
10
+ this.frame = frame;
11
+ this.name = name;
12
+ this.delayRenderCall = delayRenderCall;
13
+ }
14
+ }
15
+ exports.ErrorWithStackFrame = ErrorWithStackFrame;
16
+ const cleanUpErrorMessage = (exception) => {
17
+ var _a, _b, _c, _d;
18
+ let errorMessage = (_a = exception.exceptionDetails.exception) === null || _a === void 0 ? void 0 : _a.description;
19
+ const errorType = (_b = exception.exceptionDetails.exception) === null || _b === void 0 ? void 0 : _b.className;
20
+ const prefix = `${errorType}: `;
21
+ if (errorMessage.startsWith(prefix)) {
22
+ errorMessage = errorMessage.substring(prefix.length);
23
+ }
24
+ const frames = (_d = (_c = exception.exceptionDetails.stackTrace) === null || _c === void 0 ? void 0 : _c.callFrames.length) !== null && _d !== void 0 ? _d : 0;
25
+ const split = errorMessage.split('\n');
26
+ return split.slice(0, split.length - frames).join('\n');
27
+ };
28
+ const removeDelayRenderStack = (message) => {
29
+ const index = message.indexOf(remotion_1.Internals.DELAY_RENDER_CALLSTACK_TOKEN);
30
+ if (index === -1) {
31
+ return message;
32
+ }
33
+ return message.substring(0, index);
34
+ };
35
+ exports.removeDelayRenderStack = removeDelayRenderStack;
36
+ const callFrameToStackFrame = (callFrame) => {
37
+ return {
38
+ columnNumber: callFrame.columnNumber,
39
+ fileName: callFrame.url,
40
+ functionName: callFrame.functionName,
41
+ lineNumber: callFrame.lineNumber,
42
+ };
43
+ };
44
+ const handleJavascriptException = ({ page, onError, frame, }) => {
45
+ const client = page._client;
46
+ const handler = async (exception) => {
47
+ var _a, _b, _c;
48
+ const rawErrorMessage = (_a = exception.exceptionDetails.exception) === null || _a === void 0 ? void 0 : _a.description;
49
+ const cleanErrorMessage = cleanUpErrorMessage(exception);
50
+ if (!exception.exceptionDetails.stackTrace) {
51
+ const err = new Error((0, exports.removeDelayRenderStack)(cleanErrorMessage));
52
+ err.stack = rawErrorMessage;
53
+ onError(err);
54
+ return;
55
+ }
56
+ const errorType = (_b = exception.exceptionDetails.exception) === null || _b === void 0 ? void 0 : _b.className;
57
+ const symbolicatedErr = new symbolicateable_error_1.SymbolicateableError({
58
+ message: (0, exports.removeDelayRenderStack)(cleanErrorMessage),
59
+ stackFrame: exception.exceptionDetails.stackTrace
60
+ .callFrames.map((f) => callFrameToStackFrame(f)),
61
+ frame,
62
+ name: errorType,
63
+ stack: (_c = exception.exceptionDetails.exception) === null || _c === void 0 ? void 0 : _c.description,
64
+ });
65
+ onError(symbolicatedErr);
66
+ };
67
+ client.on('Runtime.exceptionThrown', handler);
68
+ return () => {
69
+ client.off('Runtime.exceptionThrown', handler);
70
+ };
71
+ };
72
+ exports.handleJavascriptException = handleJavascriptException;
73
+ //# sourceMappingURL=handle-javascript-exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-javascript-exception.js","sourceRoot":"","sources":["../../src/error-handling/handle-javascript-exception.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ErrorWithStackFrame } from './handle-javascript-exception';
2
+ import { SymbolicateableError } from './symbolicateable-error';
3
+ export declare const symbolicateError: (symbolicateableError: SymbolicateableError) => Promise<ErrorWithStackFrame>;
4
+ //# sourceMappingURL=symbolicate-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicate-error.d.ts","sourceRoot":"","sources":["../../src/error-handling/symbolicate-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,gBAAgB,yBACN,oBAAoB,KACxC,QAAQ,mBAAmB,CAgB7B,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.symbolicateError = void 0;
4
+ const symbolicate_stacktrace_1 = require("../symbolicate-stacktrace");
5
+ const handle_javascript_exception_1 = require("./handle-javascript-exception");
6
+ const symbolicateError = async (symbolicateableError) => {
7
+ const { delayRenderCall, stackFrame } = symbolicateableError;
8
+ const [mainErrorFrames, delayRenderFrames] = await Promise.all([
9
+ stackFrame ? (0, symbolicate_stacktrace_1.symbolicateStackTrace)(stackFrame) : null,
10
+ delayRenderCall ? (0, symbolicate_stacktrace_1.symbolicateStackTrace)(delayRenderCall) : null,
11
+ ]);
12
+ const symbolicatedErr = new handle_javascript_exception_1.ErrorWithStackFrame({
13
+ message: symbolicateableError.message,
14
+ symbolicatedStackFrames: mainErrorFrames,
15
+ frame: symbolicateableError.frame,
16
+ name: symbolicateableError.name,
17
+ delayRenderCall: delayRenderFrames,
18
+ });
19
+ return symbolicatedErr;
20
+ };
21
+ exports.symbolicateError = symbolicateError;
22
+ //# sourceMappingURL=symbolicate-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicate-error.js","sourceRoot":"","sources":["../../src/error-handling/symbolicate-error.ts"],"names":[],"mappings":";;;AAAA,sEAAgE;AAChE,+EAAkE;AAG3D,MAAM,gBAAgB,GAAG,KAAK,EACpC,oBAA0C,EACX,EAAE;IACjC,MAAM,EAAC,eAAe,EAAE,UAAU,EAAC,GAAG,oBAAoB,CAAC;IAC3D,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9D,UAAU,CAAC,CAAC,CAAC,IAAA,8CAAqB,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;QACrD,eAAe,CAAC,CAAC,CAAC,IAAA,8CAAqB,EAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI;KAC/D,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,iDAAmB,CAAC;QAC/C,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,uBAAuB,EAAE,eAAe;QACxC,KAAK,EAAE,oBAAoB,CAAC,KAAK;QACjC,IAAI,EAAE,oBAAoB,CAAC,IAAI;QAC/B,eAAe,EAAE,iBAAiB;KAClC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACxB,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A symbolicateable error is an error that can be symolicated by fetching the original sources. By throwing a symbolicateable error, Remotion CLI will attempt to symplicate it
3
+ */
4
+ import { UnsymbolicatedStackFrame } from '../parse-browser-error-stack';
5
+ export declare class SymbolicateableError extends Error {
6
+ stackFrame: UnsymbolicatedStackFrame[] | null;
7
+ delayRenderCall: UnsymbolicatedStackFrame[] | null;
8
+ frame: number | null;
9
+ constructor({ message, stack, stackFrame, frame, name, }: {
10
+ message: string;
11
+ stack: string | undefined;
12
+ frame: number | null;
13
+ name: string;
14
+ stackFrame: UnsymbolicatedStackFrame[] | null;
15
+ });
16
+ }
17
+ //# sourceMappingURL=symbolicateable-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicateable-error.d.ts","sourceRoot":"","sources":["../../src/error-handling/symbolicateable-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAC,wBAAwB,EAAC,MAAM,8BAA8B,CAAC;AAEtE,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,UAAU,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC;IACnD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;gBAET,EACX,OAAO,EACP,KAAK,EACL,UAAU,EACV,KAAK,EACL,IAAI,GACJ,EAAE;QACF,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC;KAC9C;CAQD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * A symbolicateable error is an error that can be symolicated by fetching the original sources. By throwing a symbolicateable error, Remotion CLI will attempt to symplicate it
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SymbolicateableError = void 0;
7
+ const delay_render_embedded_stack_1 = require("../delay-render-embedded-stack");
8
+ class SymbolicateableError extends Error {
9
+ constructor({ message, stack, stackFrame, frame, name, }) {
10
+ super(message);
11
+ this.stack = stack;
12
+ this.stackFrame = stackFrame;
13
+ this.frame = frame;
14
+ this.name = name;
15
+ this.delayRenderCall = stack ? (0, delay_render_embedded_stack_1.parseDelayRenderEmbeddedStack)(stack) : null;
16
+ }
17
+ }
18
+ exports.SymbolicateableError = SymbolicateableError;
19
+ //# sourceMappingURL=symbolicateable-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolicateable-error.js","sourceRoot":"","sources":["../../src/error-handling/symbolicateable-error.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,gFAA6E;AAG7E,MAAa,oBAAqB,SAAQ,KAAK;IAK9C,YAAY,EACX,OAAO,EACP,KAAK,EACL,UAAU,EACV,KAAK,EACL,IAAI,GAOJ;QACA,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,2DAA6B,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;CACD;AAzBD,oDAyBC"}
@@ -0,0 +1,32 @@
1
+ import {Page} from 'puppeteer-core';
2
+ import {SymbolicatedStackFrame} from '../symbolicate-stacktrace';
3
+ export declare class ErrorWithStackFrame extends Error {
4
+ stackFrames: SymbolicatedStackFrame[];
5
+ frame: number | null;
6
+ errorType: string;
7
+ delayRenderCall: SymbolicatedStackFrame[] | null;
8
+ constructor({
9
+ message,
10
+ _stackFrames,
11
+ _frame,
12
+ _errorType,
13
+ _delayRenderCall,
14
+ }: {
15
+ message: string;
16
+ _stackFrames: SymbolicatedStackFrame[];
17
+ _frame: number | null;
18
+ _errorType: string;
19
+ _delayRenderCall: SymbolicatedStackFrame[] | null;
20
+ });
21
+ }
22
+ export declare const removeDelayRenderStack: (message: string) => string;
23
+ export declare const handleJavascriptException: ({
24
+ page,
25
+ onError,
26
+ frame,
27
+ }: {
28
+ page: Page;
29
+ frame: number | null;
30
+ onError: (err: Error) => void;
31
+ }) => () => void;
32
+ // # sourceMappingURL=handle-javascript-exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-javascript-exception.d.ts","sourceRoot":"","sources":["../src/handle-javascript-exception.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,IAAI,EAAW,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EACN,sBAAsB,EAEtB,MAAM,0BAA0B,CAAC;AAElC,qBAAa,mBAAoB,SAAQ,KAAK;IAC7C,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;gBAErC,EACX,OAAO,EACP,YAAY,EACZ,MAAM,EACN,UAAU,EACV,gBAAgB,GAChB,EAAE;QACF,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,sBAAsB,EAAE,CAAC;QACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;KAClD;CAOD;AAmBD,eAAO,MAAM,sBAAsB,YAAa,MAAM,WAOrD,CAAC;AAaF,eAAO,MAAM,yBAAyB;UAK/B,IAAI;WACH,MAAM,GAAG,IAAI;mBACL,KAAK,KAAK,IAAI;gBA8C7B,CAAC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleJavascriptException = exports.removeDelayRenderStack = exports.ErrorWithStackFrame = void 0;
4
+ const remotion_1 = require("remotion");
5
+ const delay_render_embedded_stack_1 = require("./delay-render-embedded-stack");
6
+ const symbolicate_stacktrace_1 = require("./symbolicate-stacktrace");
7
+ class ErrorWithStackFrame extends Error {
8
+ constructor({ message, _stackFrames, _frame, _errorType, _delayRenderCall, }) {
9
+ super(message);
10
+ this.stackFrames = _stackFrames;
11
+ this.frame = _frame;
12
+ this.errorType = _errorType;
13
+ this.delayRenderCall = _delayRenderCall;
14
+ }
15
+ }
16
+ exports.ErrorWithStackFrame = ErrorWithStackFrame;
17
+ const cleanUpErrorMessage = (exception) => {
18
+ var _a, _b, _c, _d;
19
+ let errorMessage = (_a = exception.exceptionDetails.exception) === null || _a === void 0 ? void 0 : _a.description;
20
+ const errorType = (_b = exception.exceptionDetails.exception) === null || _b === void 0 ? void 0 : _b.className;
21
+ const prefix = `${errorType}: `;
22
+ if (errorMessage.startsWith(prefix)) {
23
+ errorMessage = errorMessage.substring(prefix.length);
24
+ }
25
+ const frames = (_d = (_c = exception.exceptionDetails.stackTrace) === null || _c === void 0 ? void 0 : _c.callFrames.length) !== null && _d !== void 0 ? _d : 0;
26
+ const split = errorMessage.split('\n');
27
+ return split.slice(0, split.length - frames).join('\n');
28
+ };
29
+ const removeDelayRenderStack = (message) => {
30
+ const index = message.indexOf(remotion_1.DELAY_RENDER_CALLSTACK_TOKEN);
31
+ if (index === -1) {
32
+ return message;
33
+ }
34
+ return message.substring(0, index);
35
+ };
36
+ exports.removeDelayRenderStack = removeDelayRenderStack;
37
+ const callFrameToStackFrame = (callFrame) => {
38
+ return {
39
+ columnNumber: callFrame.columnNumber,
40
+ fileName: callFrame.url,
41
+ functionName: callFrame.functionName,
42
+ lineNumber: callFrame.lineNumber,
43
+ };
44
+ };
45
+ const handleJavascriptException = ({ page, onError, frame, }) => {
46
+ const client = page._client;
47
+ const handler = async (exception) => {
48
+ var _a, _b;
49
+ const rawErrorMessage = (_a = exception.exceptionDetails.exception) === null || _a === void 0 ? void 0 : _a.description;
50
+ const cleanErrorMessage = cleanUpErrorMessage(exception);
51
+ const err = new Error((0, exports.removeDelayRenderStack)(cleanErrorMessage));
52
+ err.stack = rawErrorMessage;
53
+ if (!exception.exceptionDetails.stackTrace) {
54
+ onError(err);
55
+ return;
56
+ }
57
+ const errorType = (_b = exception.exceptionDetails.exception) === null || _b === void 0 ? void 0 : _b.className;
58
+ const delayRenderStack = await (0, delay_render_embedded_stack_1.parseDelayRenderEmbeddedStack)(cleanErrorMessage);
59
+ try {
60
+ const sym = await (0, symbolicate_stacktrace_1.symbolicateStackTrace)(exception.exceptionDetails.stackTrace
61
+ .callFrames.map((f) => callFrameToStackFrame(f)));
62
+ const symbolicatedErr = new ErrorWithStackFrame({
63
+ message: (0, exports.removeDelayRenderStack)(cleanErrorMessage),
64
+ _stackFrames: sym,
65
+ _frame: frame,
66
+ _errorType: errorType,
67
+ _delayRenderCall: delayRenderStack,
68
+ });
69
+ onError(symbolicatedErr);
70
+ }
71
+ catch (errorVisualizingError) {
72
+ console.log('error symbolicating error:', errorVisualizingError);
73
+ onError(err);
74
+ }
75
+ };
76
+ client.on('Runtime.exceptionThrown', handler);
77
+ return () => {
78
+ client.off('Runtime.exceptionThrown', handler);
79
+ };
80
+ };
81
+ exports.handleJavascriptException = handleJavascriptException;
82
+ //# sourceMappingURL=handle-javascript-exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-javascript-exception.js","sourceRoot":"","sources":["../src/handle-javascript-exception.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=handle-null-audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-null-audio.d.ts","sourceRoot":"","sources":["../src/handle-null-audio.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=handle-null-audio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-null-audio.js","sourceRoot":"","sources":["../src/handle-null-audio.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const isServeUrl: (potentialUrl: string) => boolean;
2
+ //# sourceMappingURL=is-local-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-local-file.d.ts","sourceRoot":"","sources":["../src/is-local-file.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,iBAAkB,MAAM,YAY9C,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isServeUrl = void 0;
4
+ const isServeUrl = (potentialUrl) => {
5
+ // Theoretically not a valid URL but handle the most basic cases of forgetting protocol in front
6
+ if (potentialUrl.startsWith('www.') ||
7
+ potentialUrl.includes('amazonaws.com')) {
8
+ return true;
9
+ }
10
+ return (potentialUrl.startsWith('https://') || !potentialUrl.startsWith('http://'));
11
+ };
12
+ exports.isServeUrl = isServeUrl;
13
+ //# sourceMappingURL=is-local-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-local-file.js","sourceRoot":"","sources":["../src/is-local-file.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAE,EAAE;IAClD,gGAAgG;IAChG,IACC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;QAC/B,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EACrC;QACD,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,CACN,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1E,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,UAAU,cAYrB"}
@@ -0,0 +1,8 @@
1
+ export declare type UnsymbolicatedStackFrame = {
2
+ functionName: string | null;
3
+ fileName: string;
4
+ lineNumber: number;
5
+ columnNumber: number;
6
+ };
7
+ export declare const parseStack: (stack: string[]) => UnsymbolicatedStackFrame[];
8
+ //# sourceMappingURL=parse-browser-error-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-browser-error-stack.d.ts","sourceRoot":"","sources":["../src/parse-browser-error-stack.ts"],"names":[],"mappings":"AAIA,oBAAY,wBAAwB,GAAG;IACtC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAuDF,eAAO,MAAM,UAAU,UAAW,MAAM,EAAE,KAAG,wBAAwB,EAwDpE,CAAC"}