@remotion/renderer 4.0.0-webhook.27 → 4.1.0-alpha2
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/LICENSE.md +8 -8
- package/README.md +9 -0
- package/client.d.ts +1 -0
- package/client.js +1 -0
- package/dist/assets/calculate-asset-positions.d.ts +0 -0
- package/dist/assets/calculate-asset-positions.js +1 -0
- package/dist/assets/calculate-atempo.d.ts +0 -0
- package/dist/assets/calculate-atempo.js +0 -0
- package/dist/assets/convert-assets-to-file-urls.d.ts +0 -0
- package/dist/assets/convert-assets-to-file-urls.js +0 -0
- package/dist/assets/download-and-map-assets-to-file.d.ts +6 -4
- package/dist/assets/download-and-map-assets-to-file.js +49 -19
- package/dist/assets/download-file.d.ts +8 -5
- package/dist/assets/download-file.js +71 -8
- package/dist/assets/download-map.d.ts +8 -29
- package/dist/assets/download-map.js +15 -16
- package/dist/assets/ffmpeg-volume-expression.d.ts +4 -3
- package/dist/assets/ffmpeg-volume-expression.js +5 -3
- package/dist/assets/flatten-volume-array.d.ts +0 -0
- package/dist/assets/flatten-volume-array.js +0 -0
- package/dist/assets/get-audio-channels.d.ts +2 -2
- package/dist/assets/get-audio-channels.js +14 -12
- package/dist/assets/read-file.d.ts +1 -1
- package/dist/assets/read-file.js +5 -7
- package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -0
- package/dist/assets/round-volume-to-avoid-stack-overflow.js +0 -0
- package/dist/assets/sanitize-filename.d.ts +0 -0
- package/dist/assets/sanitize-filename.js +0 -0
- package/dist/assets/sanitize-filepath.d.ts +0 -0
- package/dist/assets/sanitize-filepath.js +2 -2
- package/dist/assets/truncate-utf8-bytes.d.ts +0 -0
- package/dist/assets/truncate-utf8-bytes.js +0 -0
- package/dist/assets/types.d.ts +5 -4
- package/dist/assets/types.js +0 -0
- package/dist/audio-codec.d.ts +28 -0
- package/dist/audio-codec.js +83 -0
- package/dist/browser/Browser.d.ts +16 -14
- package/dist/browser/Browser.js +69 -72
- package/dist/browser/BrowserConnector.d.ts +0 -0
- package/dist/browser/BrowserConnector.js +0 -0
- package/dist/browser/BrowserFetcher.d.ts +16 -64
- package/dist/browser/BrowserFetcher.js +147 -235
- package/dist/browser/BrowserPage.d.ts +21 -6
- package/dist/browser/BrowserPage.js +54 -22
- package/dist/browser/BrowserRunner.d.ts +1 -1
- package/dist/browser/BrowserRunner.js +32 -22
- package/dist/browser/Connection.d.ts +0 -0
- package/dist/browser/Connection.js +1 -1
- package/dist/browser/ConsoleMessage.d.ts +1 -1
- package/dist/browser/ConsoleMessage.js +0 -0
- package/dist/browser/DOMWorld.d.ts +5 -4
- package/dist/browser/DOMWorld.js +16 -9
- package/dist/browser/Errors.d.ts +0 -0
- package/dist/browser/Errors.js +0 -0
- package/dist/browser/EvalTypes.d.ts +7 -7
- package/dist/browser/EvalTypes.js +0 -0
- package/dist/browser/EventEmitter.d.ts +0 -0
- package/dist/browser/EventEmitter.js +0 -0
- package/dist/browser/ExecutionContext.d.ts +0 -0
- package/dist/browser/ExecutionContext.js +0 -0
- package/dist/browser/FrameManager.d.ts +0 -2
- package/dist/browser/FrameManager.js +13 -17
- package/dist/browser/HTTPRequest.d.ts +0 -0
- package/dist/browser/HTTPRequest.js +0 -0
- package/dist/browser/HTTPResponse.d.ts +0 -0
- package/dist/browser/HTTPResponse.js +0 -0
- package/dist/browser/JSHandle.d.ts +0 -0
- package/dist/browser/JSHandle.js +14 -14
- package/dist/browser/LaunchOptions.d.ts +2 -2
- package/dist/browser/LaunchOptions.js +0 -0
- package/dist/browser/Launcher.d.ts +9 -3
- package/dist/browser/Launcher.js +16 -29
- package/dist/browser/LifecycleWatcher.d.ts +1 -1
- package/dist/browser/LifecycleWatcher.js +0 -0
- package/dist/browser/NetworkEventManager.d.ts +4 -4
- package/dist/browser/NetworkEventManager.js +0 -0
- package/dist/browser/NetworkManager.d.ts +0 -0
- package/dist/browser/NetworkManager.js +0 -0
- package/dist/browser/NodeWebSocketTransport.d.ts +0 -0
- package/dist/browser/NodeWebSocketTransport.js +21 -21
- package/dist/browser/Product.d.ts +1 -1
- package/dist/browser/Product.js +0 -0
- package/dist/browser/PuppeteerNode.d.ts +2 -5
- package/dist/browser/PuppeteerNode.js +2 -11
- package/dist/browser/PuppeteerViewport.d.ts +0 -0
- package/dist/browser/PuppeteerViewport.js +0 -0
- package/dist/browser/ScreenshotOptions.d.ts +0 -14
- package/dist/browser/ScreenshotOptions.js +0 -1
- package/dist/browser/Target.d.ts +4 -3
- package/dist/browser/Target.js +8 -2
- package/dist/browser/TaskQueue.d.ts +0 -0
- package/dist/browser/TaskQueue.js +0 -0
- package/dist/browser/TimeoutSettings.d.ts +0 -0
- package/dist/browser/TimeoutSettings.js +0 -0
- package/dist/browser/assert.d.ts +0 -0
- package/dist/browser/assert.js +0 -0
- package/dist/browser/create-browser-fetcher.d.ts +0 -0
- package/dist/browser/create-browser-fetcher.js +34 -48
- package/dist/browser/devtools-commands.d.ts +5 -1
- package/dist/browser/devtools-commands.js +0 -0
- package/dist/browser/devtools-types.d.ts +92 -10
- package/dist/browser/devtools-types.js +0 -0
- package/dist/browser/get-download-destination.d.ts +0 -0
- package/dist/browser/get-download-destination.js +8 -8
- package/dist/browser/is-target-closed-err.d.ts +1 -0
- package/dist/browser/is-target-closed-err.js +9 -0
- package/dist/browser/mitt/index.d.ts +6 -6
- package/dist/browser/mitt/index.js +0 -0
- package/dist/browser/node.d.ts +0 -0
- package/dist/browser/node.js +0 -0
- package/dist/browser/revisions.d.ts +1 -1
- package/dist/browser/revisions.js +0 -0
- package/dist/browser/should-log-message.d.ts +24 -0
- package/dist/browser/should-log-message.js +72 -0
- package/dist/browser/util.d.ts +2 -2
- package/dist/browser/util.js +0 -0
- package/dist/browser-executable.d.ts +1 -1
- package/dist/browser-executable.js +0 -0
- package/dist/browser-log.d.ts +1 -1
- package/dist/browser-log.js +0 -0
- package/dist/browser.d.ts +1 -1
- package/dist/browser.js +0 -0
- package/dist/calculate-ffmpeg-filters.d.ts +2 -1
- package/dist/calculate-ffmpeg-filters.js +1 -0
- package/dist/call-ffmpeg.d.ts +14 -0
- package/dist/call-ffmpeg.js +42 -0
- package/dist/can-use-parallel-encoding.d.ts +0 -0
- package/dist/can-use-parallel-encoding.js +0 -0
- package/dist/chalk/index.d.ts +54 -0
- package/dist/chalk/index.js +135 -0
- package/dist/chalk/is-color-supported.d.ts +1 -0
- package/dist/chalk/is-color-supported.js +37 -0
- package/dist/check-apple-silicon.d.ts +1 -1
- package/dist/check-apple-silicon.js +8 -47
- package/dist/chunk.d.ts +0 -0
- package/dist/chunk.js +0 -0
- package/dist/client.d.ts +204 -0
- package/dist/client.js +49 -0
- package/dist/codec-supports-media.d.ts +3 -2
- package/dist/codec-supports-media.js +20 -5
- package/dist/codec.d.ts +2 -2
- package/dist/codec.js +0 -0
- package/dist/combine-videos.d.ts +6 -2
- package/dist/combine-videos.js +17 -17
- package/dist/compositor/compose.d.ts +26 -0
- package/dist/compositor/compose.js +82 -0
- package/dist/compositor/compositor.d.ts +11 -0
- package/dist/compositor/compositor.js +219 -0
- package/dist/compositor/get-executable-path.d.ts +1 -0
- package/dist/compositor/get-executable-path.js +57 -0
- package/dist/compositor/make-nonce.d.ts +1 -0
- package/dist/compositor/make-nonce.js +8 -0
- package/dist/compositor/payloads.d.ts +68 -0
- package/dist/{ffmpeg-executable.js → compositor/payloads.js} +0 -0
- package/dist/compress-assets.d.ts +0 -0
- package/dist/compress-assets.js +0 -0
- package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +0 -0
- package/dist/convert-number-of-gif-loops-to-ffmpeg.js +0 -0
- package/dist/convert-to-positive-frame-index.d.ts +0 -0
- package/dist/convert-to-positive-frame-index.js +0 -0
- package/dist/create-ffmpeg-complex-filter.d.ts +5 -1
- package/dist/create-ffmpeg-complex-filter.js +6 -4
- package/dist/create-ffmpeg-merge-filter.d.ts +5 -1
- package/dist/create-ffmpeg-merge-filter.js +21 -13
- package/dist/create-silent-audio.d.ts +1 -3
- package/dist/create-silent-audio.js +3 -6
- package/dist/crf.d.ts +6 -2
- package/dist/crf.js +41 -8
- package/dist/cycle-browser-tabs.d.ts +2 -5
- package/dist/cycle-browser-tabs.js +5 -5
- package/dist/delay-render-embedded-stack.d.ts +0 -0
- package/dist/delay-render-embedded-stack.js +0 -0
- package/dist/delete-directory.d.ts +1 -1
- package/dist/delete-directory.js +43 -17
- package/dist/does-have-m2-bug.d.ts +3 -0
- package/dist/does-have-m2-bug.js +12 -0
- package/dist/ensure-frames-in-order.d.ts +0 -0
- package/dist/ensure-frames-in-order.js +0 -0
- package/dist/ensure-output-directory.d.ts +0 -0
- package/dist/ensure-output-directory.js +5 -5
- package/dist/error-handling/handle-javascript-exception.d.ts +0 -0
- package/dist/error-handling/handle-javascript-exception.js +10 -0
- package/dist/error-handling/symbolicate-error.d.ts +0 -0
- package/dist/error-handling/symbolicate-error.js +6 -3
- package/dist/error-handling/symbolicateable-error.d.ts +0 -0
- package/dist/error-handling/symbolicateable-error.js +0 -0
- package/dist/ffmpeg-filter-file.d.ts +6 -1
- package/dist/ffmpeg-filter-file.js +40 -8
- package/dist/ffmpeg-override.d.ts +1 -1
- package/dist/ffmpeg-override.js +0 -0
- package/dist/file-extensions.d.ts +14 -0
- package/dist/file-extensions.js +76 -0
- package/dist/find-closest-package-json.d.ts +2 -0
- package/dist/find-closest-package-json.js +31 -0
- package/dist/frame-range.d.ts +1 -1
- package/dist/frame-range.js +0 -0
- package/dist/get-browser-instance.d.ts +8 -3
- package/dist/get-browser-instance.js +10 -5
- package/dist/get-codec-name.d.ts +0 -0
- package/dist/get-codec-name.js +0 -0
- package/dist/get-compositions.d.ts +27 -14
- package/dist/get-compositions.js +72 -39
- package/dist/get-concurrency.d.ts +1 -1
- package/dist/get-concurrency.js +11 -4
- package/dist/get-duration-from-frame-range.d.ts +0 -0
- package/dist/get-duration-from-frame-range.js +0 -0
- package/dist/get-extension-from-codec.d.ts +5 -1
- package/dist/get-extension-from-codec.js +56 -32
- package/dist/get-extension-of-filename.d.ts +0 -0
- package/dist/get-extension-of-filename.js +5 -1
- package/dist/get-frame-padded-index.d.ts +3 -2
- package/dist/get-frame-padded-index.js +3 -2
- package/dist/get-frame-to-render.d.ts +0 -0
- package/dist/get-frame-to-render.js +1 -1
- package/dist/get-local-browser-executable.d.ts +0 -0
- package/dist/get-local-browser-executable.js +7 -15
- package/dist/get-port.d.ts +4 -1
- package/dist/get-port.js +8 -8
- package/dist/get-prores-profile-name.d.ts +0 -0
- package/dist/get-prores-profile-name.js +0 -0
- package/dist/get-video-threads-flag.d.ts +0 -0
- package/dist/get-video-threads-flag.js +3 -3
- package/dist/guess-extension-for-media.d.ts +3 -1
- package/dist/guess-extension-for-media.js +4 -7
- package/dist/image-format.d.ts +12 -6
- package/dist/image-format.js +19 -13
- package/dist/index.d.ts +368 -49
- package/dist/index.js +68 -46
- package/dist/is-audio-codec.d.ts +0 -0
- package/dist/is-audio-codec.js +0 -0
- package/dist/is-serve-url.d.ts +0 -0
- package/dist/is-serve-url.js +0 -0
- package/dist/jpeg-quality.d.ts +2 -0
- package/dist/jpeg-quality.js +22 -0
- package/dist/locks.d.ts +7 -0
- package/dist/locks.js +44 -0
- package/dist/log-level.d.ts +1 -1
- package/dist/log-level.js +0 -0
- package/dist/logger.d.ts +24 -0
- package/dist/logger.js +68 -0
- package/dist/make-cancel-signal.d.ts +13 -2
- package/dist/make-cancel-signal.js +24 -1
- package/dist/merge-audio-track.d.ts +4 -4
- package/dist/merge-audio-track.js +38 -33
- package/dist/mime-db.d.ts +0 -0
- package/dist/mime-db.js +0 -0
- package/dist/mime-types.d.ts +0 -0
- package/dist/mime-types.js +3 -3
- package/dist/normalize-serve-url.d.ts +0 -0
- package/dist/normalize-serve-url.js +0 -0
- package/dist/offthread-video-server.d.ts +47 -11
- package/dist/offthread-video-server.js +111 -58
- package/dist/open-browser.d.ts +21 -6
- package/dist/open-browser.js +37 -16
- package/dist/options/audio-bitrate.d.ts +2 -0
- package/dist/options/audio-bitrate.js +11 -0
- package/dist/options/crf.d.ts +2 -0
- package/dist/options/crf.js +11 -0
- package/dist/options/enforce-audio.d.ts +2 -0
- package/dist/options/enforce-audio.js +11 -0
- package/dist/options/jpeg-quality.d.ts +2 -0
- package/dist/options/jpeg-quality.js +11 -0
- package/dist/options/mute.d.ts +2 -0
- package/dist/options/mute.js +11 -0
- package/dist/options/option.d.ts +8 -0
- package/dist/options/option.js +2 -0
- package/dist/options/scale.d.ts +2 -0
- package/dist/options/scale.js +11 -0
- package/dist/options/video-bitrate.d.ts +2 -0
- package/dist/options/video-bitrate.js +11 -0
- package/dist/options/video-codec.d.ts +2 -0
- package/dist/options/video-codec.js +11 -0
- package/dist/overwrite.d.ts +0 -0
- package/dist/overwrite.js +0 -0
- package/dist/p-limit.d.ts +0 -0
- package/dist/p-limit.js +0 -0
- package/dist/parse-browser-error-stack.d.ts +1 -1
- package/dist/parse-browser-error-stack.js +0 -0
- package/dist/parse-ffmpeg-progress.d.ts +0 -0
- package/dist/parse-ffmpeg-progress.js +0 -0
- package/dist/perf.d.ts +2 -2
- package/dist/perf.js +9 -7
- package/dist/pixel-format.d.ts +2 -2
- package/dist/pixel-format.js +3 -0
- package/dist/pool.d.ts +0 -0
- package/dist/pool.js +0 -0
- package/dist/prepare-server.d.ts +25 -10
- package/dist/prepare-server.js +71 -18
- package/dist/preprocess-audio-track.d.ts +7 -5
- package/dist/preprocess-audio-track.js +7 -8
- package/dist/prespawn-ffmpeg.d.ts +20 -10
- package/dist/prespawn-ffmpeg.js +67 -29
- package/dist/prestitcher-memory-usage.d.ts +0 -4
- package/dist/prestitcher-memory-usage.js +4 -5
- package/dist/prores-profile.d.ts +6 -4
- package/dist/prores-profile.js +8 -8
- package/dist/provide-screenshot.d.ts +8 -4
- package/dist/provide-screenshot.js +5 -2
- package/dist/puppeteer-evaluate.d.ts +0 -0
- package/dist/puppeteer-evaluate.js +20 -12
- package/dist/puppeteer-screenshot.d.ts +12 -2
- package/dist/puppeteer-screenshot.js +18 -45
- package/dist/redirect-status-codes.d.ts +1 -0
- package/dist/redirect-status-codes.js +6 -0
- package/dist/render-frames.d.ts +52 -35
- package/dist/render-frames.js +248 -143
- package/dist/render-media.d.ts +76 -29
- package/dist/render-media.js +324 -195
- package/dist/render-still.d.ts +46 -19
- package/dist/render-still.js +128 -69
- package/dist/replace-browser.d.ts +6 -0
- package/dist/replace-browser.js +47 -0
- package/dist/resolve-asset-src.d.ts +0 -0
- package/dist/resolve-asset-src.js +2 -2
- package/dist/sample-rate.d.ts +0 -0
- package/dist/sample-rate.js +0 -0
- package/dist/screenshot-dom-element.d.ts +8 -4
- package/dist/screenshot-dom-element.js +15 -4
- package/dist/screenshot-task.d.ts +11 -2
- package/dist/screenshot-task.js +43 -13
- package/dist/seek-to-frame.d.ts +1 -0
- package/dist/seek-to-frame.js +49 -3
- package/dist/select-composition.d.ts +41 -0
- package/dist/select-composition.js +156 -0
- package/dist/serve-handler/index.d.ts +1 -1
- package/dist/serve-handler/index.js +21 -19
- package/dist/serve-handler/is-path-inside.d.ts +0 -0
- package/dist/serve-handler/is-path-inside.js +3 -3
- package/dist/serve-handler/range-parser.d.ts +0 -0
- package/dist/serve-handler/range-parser.js +0 -0
- package/dist/serve-static.d.ts +8 -6
- package/dist/serve-static.js +85 -59
- package/dist/set-props-and-env.d.ts +5 -3
- package/dist/set-props-and-env.js +18 -10
- package/dist/stitch-frames-to-video.d.ts +39 -16
- package/dist/stitch-frames-to-video.js +210 -121
- package/dist/stringify-ffmpeg-filter.d.ts +10 -2
- package/dist/stringify-ffmpeg-filter.js +37 -34
- package/dist/symbolicate-stacktrace.d.ts +16 -3
- package/dist/symbolicate-stacktrace.js +49 -24
- package/dist/take-frame-and-compose.d.ts +22 -0
- package/dist/take-frame-and-compose.js +103 -0
- package/dist/tmp-dir.d.ts +0 -0
- package/dist/tmp-dir.js +7 -8
- package/dist/truthy.d.ts +1 -1
- package/dist/truthy.js +0 -0
- package/dist/types.d.ts +2 -2
- package/dist/types.js +0 -0
- package/dist/validate-concurrency.d.ts +2 -0
- package/dist/validate-concurrency.js +21 -10
- package/dist/validate-even-dimensions-with-codec.d.ts +0 -0
- package/dist/validate-even-dimensions-with-codec.js +0 -0
- package/dist/validate-every-nth-frame.d.ts +2 -1
- package/dist/validate-every-nth-frame.js +8 -1
- package/dist/validate-ffmpeg-override.d.ts +0 -0
- package/dist/validate-ffmpeg-override.js +0 -0
- package/dist/validate-number-of-gif-loops.d.ts +2 -0
- package/dist/validate-number-of-gif-loops.js +24 -0
- package/dist/validate-opengl-renderer.d.ts +2 -3
- package/dist/validate-opengl-renderer.js +9 -4
- package/dist/validate-output-filename.d.ts +7 -2
- package/dist/validate-output-filename.js +20 -51
- package/dist/validate-puppeteer-timeout.d.ts +0 -0
- package/dist/validate-puppeteer-timeout.js +1 -0
- package/dist/validate-scale.d.ts +0 -0
- package/dist/validate-scale.js +0 -0
- package/dist/validate-videobitrate.d.ts +1 -0
- package/dist/validate-videobitrate.js +20 -0
- package/dist/wait-for-symbolication-error-to-be-done.d.ts +0 -0
- package/dist/wait-for-symbolication-error-to-be-done.js +5 -31
- package/dist/ws/ws-types.d.ts +0 -0
- package/dist/ws/ws-types.js +2 -1
- package/install-toolchain.mjs +36 -0
- package/package.json +70 -60
- package/types/ws/index.d.ts +5 -5
- package/.prettierrc.js +0 -14
- package/dist/assets/dl-browser.d.ts +0 -1
- package/dist/assets/dl-browser.js +0 -38
- package/dist/assets/get-video-stream-duration.d.ts +0 -4
- package/dist/assets/get-video-stream-duration.js +0 -59
- package/dist/calculate-sar-dar-pixels.d.ts +0 -9
- package/dist/calculate-sar-dar-pixels.js +0 -19
- package/dist/convert-to-pcm.d.ts +0 -6
- package/dist/convert-to-pcm.js +0 -20
- package/dist/ensure-presentation-timestamp.d.ts +0 -2
- package/dist/ensure-presentation-timestamp.js +0 -69
- package/dist/extract-frame-from-video.d.ts +0 -16
- package/dist/extract-frame-from-video.js +0 -277
- package/dist/ffmpeg-executable.d.ts +0 -1
- package/dist/ffmpeg-flags.d.ts +0 -12
- package/dist/ffmpeg-flags.js +0 -45
- package/dist/frame-to-ffmpeg-timestamp.d.ts +0 -1
- package/dist/frame-to-ffmpeg-timestamp.js +0 -8
- package/dist/get-audio-codec-name.d.ts +0 -2
- package/dist/get-audio-codec-name.js +0 -28
- package/dist/get-video-info.d.ts +0 -3
- package/dist/get-video-info.js +0 -49
- package/dist/is-beyond-last-frame.d.ts +0 -3
- package/dist/is-beyond-last-frame.js +0 -12
- package/dist/last-frame-from-video-cache.d.ts +0 -17
- package/dist/last-frame-from-video-cache.js +0 -55
- package/dist/legacy-webpack-config.d.ts +0 -9
- package/dist/legacy-webpack-config.js +0 -13
- package/dist/quality.d.ts +0 -1
- package/dist/quality.js +0 -21
- package/dist/validate-ffmpeg.d.ts +0 -2
- package/dist/validate-ffmpeg.js +0 -72
- package/dist/validate-frame.d.ts +0 -1
- package/dist/validate-frame.js +0 -24
- package/tsconfig.json +0 -10
- package/vitest.config.ts +0 -8
|
@@ -37,33 +37,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
37
37
|
__setModuleDefault(result, mod);
|
|
38
38
|
return result;
|
|
39
39
|
};
|
|
40
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
41
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
42
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
43
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
44
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
45
|
-
};
|
|
46
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
47
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
48
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
49
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
50
|
-
};
|
|
51
40
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
52
41
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
53
42
|
};
|
|
54
|
-
var _BrowserFetcher_instances, _BrowserFetcher_product, _BrowserFetcher_downloadsFolder, _BrowserFetcher_downloadHost, _BrowserFetcher_platform, _BrowserFetcher_getFolderPath;
|
|
55
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
|
-
exports.
|
|
57
|
-
const childProcess = __importStar(require("child_process"));
|
|
58
|
-
const fs = __importStar(require("fs"));
|
|
59
|
-
const http = __importStar(require("http"));
|
|
44
|
+
exports.getRevisionInfo = exports.getFolderPath = exports.removeBrowser = exports.localRevisions = exports.download = exports.getDownloadHost = exports.getDownloadsFolder = exports.getPlatform = void 0;
|
|
60
45
|
const https = __importStar(require("https"));
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
const
|
|
46
|
+
const childProcess = __importStar(require("node:child_process"));
|
|
47
|
+
const fs = __importStar(require("node:fs"));
|
|
48
|
+
const http = __importStar(require("node:http"));
|
|
49
|
+
const os = __importStar(require("node:os"));
|
|
50
|
+
const path = __importStar(require("node:path"));
|
|
51
|
+
const node_util_1 = __importDefault(require("node:util"));
|
|
64
52
|
const extract_zip_1 = __importDefault(require("extract-zip"));
|
|
65
|
-
const URL = __importStar(require("url"));
|
|
66
|
-
const
|
|
53
|
+
const URL = __importStar(require("node:url"));
|
|
54
|
+
const node_util_2 = require("node:util");
|
|
67
55
|
const assert_1 = require("./assert");
|
|
68
56
|
const delete_directory_1 = require("../delete-directory");
|
|
69
57
|
const get_download_destination_1 = require("./get-download-destination");
|
|
@@ -121,7 +109,7 @@ function _downloadURL(product, platform, host, revision) {
|
|
|
121
109
|
if (platform === 'win64' || platform === 'win32') {
|
|
122
110
|
return 'https://remotionchromium-binaries.s3.eu-central-1.amazonaws.com/thorium-107.zip';
|
|
123
111
|
}
|
|
124
|
-
return
|
|
112
|
+
return node_util_1.default.format(downloadURLs[product][platform], host, revision, archiveName(product, platform, revision));
|
|
125
113
|
}
|
|
126
114
|
function handleArm64() {
|
|
127
115
|
let exists = fs.existsSync('/usr/bin/chromium-browser');
|
|
@@ -138,10 +126,10 @@ function handleArm64() {
|
|
|
138
126
|
'\n\n sudo apt install chromium-browser\n');
|
|
139
127
|
throw new Error();
|
|
140
128
|
}
|
|
141
|
-
const readdirAsync = (0,
|
|
142
|
-
const mkdirAsync = (0,
|
|
143
|
-
const unlinkAsync = (0,
|
|
144
|
-
const chmodAsync = (0,
|
|
129
|
+
const readdirAsync = (0, node_util_2.promisify)(fs.readdir.bind(fs));
|
|
130
|
+
const mkdirAsync = (0, node_util_2.promisify)(fs.mkdir.bind(fs));
|
|
131
|
+
const unlinkAsync = (0, node_util_2.promisify)(fs.unlink.bind(fs));
|
|
132
|
+
const chmodAsync = (0, node_util_2.promisify)(fs.chmod.bind(fs));
|
|
145
133
|
function existsAsync(filePath) {
|
|
146
134
|
return new Promise((resolve) => {
|
|
147
135
|
fs.access(filePath, (err) => {
|
|
@@ -149,223 +137,147 @@ function existsAsync(filePath) {
|
|
|
149
137
|
});
|
|
150
138
|
});
|
|
151
139
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
if (options.platform) {
|
|
165
|
-
__classPrivateFieldSet(this, _BrowserFetcher_platform, options.platform, "f");
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
const platform = os.platform();
|
|
169
|
-
switch (platform) {
|
|
170
|
-
case 'darwin':
|
|
171
|
-
switch (__classPrivateFieldGet(this, _BrowserFetcher_product, "f")) {
|
|
172
|
-
case 'chrome':
|
|
173
|
-
__classPrivateFieldSet(this, _BrowserFetcher_platform, os.arch() === 'arm64' && PUPPETEER_EXPERIMENTAL_CHROMIUM_MAC_ARM
|
|
174
|
-
? 'mac_arm'
|
|
175
|
-
: 'mac', "f");
|
|
176
|
-
break;
|
|
177
|
-
case 'firefox':
|
|
178
|
-
__classPrivateFieldSet(this, _BrowserFetcher_platform, 'mac', "f");
|
|
179
|
-
break;
|
|
180
|
-
default:
|
|
181
|
-
throw new Error('unknown browser');
|
|
182
|
-
}
|
|
183
|
-
break;
|
|
184
|
-
case 'linux':
|
|
185
|
-
__classPrivateFieldSet(this, _BrowserFetcher_platform, 'linux', "f");
|
|
186
|
-
break;
|
|
187
|
-
case 'win32':
|
|
188
|
-
__classPrivateFieldSet(this, _BrowserFetcher_platform, os.arch() === 'x64' ? 'win64' : 'win32', "f");
|
|
189
|
-
return;
|
|
140
|
+
const getPlatform = (product) => {
|
|
141
|
+
const platform = os.platform();
|
|
142
|
+
switch (platform) {
|
|
143
|
+
case 'darwin':
|
|
144
|
+
switch (product) {
|
|
145
|
+
case 'chrome':
|
|
146
|
+
return os.arch() === 'arm64' &&
|
|
147
|
+
PUPPETEER_EXPERIMENTAL_CHROMIUM_MAC_ARM
|
|
148
|
+
? 'mac_arm'
|
|
149
|
+
: 'mac';
|
|
150
|
+
case 'firefox':
|
|
151
|
+
return 'mac';
|
|
190
152
|
default:
|
|
191
|
-
|
|
153
|
+
throw new Error('unknown browser');
|
|
192
154
|
}
|
|
193
|
-
|
|
194
|
-
|
|
155
|
+
case 'linux':
|
|
156
|
+
return 'linux';
|
|
157
|
+
case 'win32':
|
|
158
|
+
return os.arch() === 'x64' ? 'win64' : 'win32';
|
|
159
|
+
default:
|
|
160
|
+
(0, assert_1.assert)(false, 'Unsupported platform: ' + platform);
|
|
195
161
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
162
|
+
};
|
|
163
|
+
exports.getPlatform = getPlatform;
|
|
164
|
+
const getDownloadsFolder = (product) => {
|
|
165
|
+
return path.join((0, get_download_destination_1.getDownloadsCacheDir)(), browserConfig[product].destination);
|
|
166
|
+
};
|
|
167
|
+
exports.getDownloadsFolder = getDownloadsFolder;
|
|
168
|
+
const getDownloadHost = (product) => {
|
|
169
|
+
return browserConfig[product].host;
|
|
170
|
+
};
|
|
171
|
+
exports.getDownloadHost = getDownloadHost;
|
|
172
|
+
const download = async ({ revision, progressCallback, product, platform, downloadHost, downloadsFolder, }) => {
|
|
173
|
+
const url = _downloadURL(product, platform, downloadHost, revision);
|
|
174
|
+
const fileName = url.split('/').pop();
|
|
175
|
+
(0, assert_1.assert)(fileName, `A malformed download URL was found: ${url}.`);
|
|
176
|
+
const archivePath = path.join(downloadsFolder, fileName);
|
|
177
|
+
const outputPath = (0, exports.getFolderPath)(revision, downloadsFolder, platform);
|
|
178
|
+
if (await existsAsync(outputPath)) {
|
|
179
|
+
return (0, exports.getRevisionInfo)(revision, product);
|
|
202
180
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
product() {
|
|
208
|
-
return __classPrivateFieldGet(this, _BrowserFetcher_product, "f");
|
|
181
|
+
if (!(await existsAsync(downloadsFolder))) {
|
|
182
|
+
await mkdirAsync(downloadsFolder, {
|
|
183
|
+
recursive: true,
|
|
184
|
+
});
|
|
209
185
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
return __classPrivateFieldGet(this, _BrowserFetcher_downloadHost, "f");
|
|
186
|
+
// Use system Chromium builds on Linux ARM devices
|
|
187
|
+
if (os.platform() !== 'darwin' && os.arch() === 'arm64') {
|
|
188
|
+
handleArm64();
|
|
189
|
+
return;
|
|
215
190
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
* This method is affected by the current `product`.
|
|
220
|
-
* @param revision - The revision to check availability for.
|
|
221
|
-
* @returns A promise that resolves to `true` if the revision could be downloaded
|
|
222
|
-
* from the host.
|
|
223
|
-
*/
|
|
224
|
-
canDownload(revision) {
|
|
225
|
-
const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), __classPrivateFieldGet(this, _BrowserFetcher_downloadHost, "f"), revision);
|
|
226
|
-
return new Promise((resolve) => {
|
|
227
|
-
const request = httpRequest(url, 'HEAD', (response) => {
|
|
228
|
-
resolve(response.statusCode === 200);
|
|
229
|
-
}, false);
|
|
230
|
-
request.on('error', (error) => {
|
|
231
|
-
console.error(error);
|
|
232
|
-
resolve(false);
|
|
233
|
-
});
|
|
234
|
-
});
|
|
191
|
+
try {
|
|
192
|
+
await _downloadFile(url, archivePath, progressCallback);
|
|
193
|
+
await install(archivePath, outputPath);
|
|
235
194
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
* This method is affected by the current `product`.
|
|
240
|
-
* @param revision - The revision to download.
|
|
241
|
-
* @param progressCallback - A function that will be called with two arguments:
|
|
242
|
-
* How many bytes have been downloaded and the total number of bytes of the download.
|
|
243
|
-
* @returns A promise with revision information when the revision is downloaded
|
|
244
|
-
* and extracted.
|
|
245
|
-
*/
|
|
246
|
-
async download(revision, progressCallback = () => undefined) {
|
|
247
|
-
const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), __classPrivateFieldGet(this, _BrowserFetcher_downloadHost, "f"), revision);
|
|
248
|
-
const fileName = url.split('/').pop();
|
|
249
|
-
(0, assert_1.assert)(fileName, `A malformed download URL was found: ${url}.`);
|
|
250
|
-
const archivePath = path.join(__classPrivateFieldGet(this, _BrowserFetcher_downloadsFolder, "f"), fileName);
|
|
251
|
-
const outputPath = __classPrivateFieldGet(this, _BrowserFetcher_instances, "m", _BrowserFetcher_getFolderPath).call(this, revision);
|
|
252
|
-
if (await existsAsync(outputPath)) {
|
|
253
|
-
return this.revisionInfo(revision);
|
|
254
|
-
}
|
|
255
|
-
if (!(await existsAsync(__classPrivateFieldGet(this, _BrowserFetcher_downloadsFolder, "f")))) {
|
|
256
|
-
await mkdirAsync(__classPrivateFieldGet(this, _BrowserFetcher_downloadsFolder, "f"), {
|
|
257
|
-
recursive: true,
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
// Use system Chromium builds on Linux ARM devices
|
|
261
|
-
if (os.platform() !== 'darwin' && os.arch() === 'arm64') {
|
|
262
|
-
handleArm64();
|
|
263
|
-
return;
|
|
195
|
+
finally {
|
|
196
|
+
if (await existsAsync(archivePath)) {
|
|
197
|
+
await unlinkAsync(archivePath);
|
|
264
198
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
199
|
+
}
|
|
200
|
+
const revisionInfo = (0, exports.getRevisionInfo)(revision, product);
|
|
201
|
+
if (revisionInfo) {
|
|
202
|
+
await chmodAsync(revisionInfo.executablePath, 0o755);
|
|
203
|
+
}
|
|
204
|
+
return revisionInfo;
|
|
205
|
+
};
|
|
206
|
+
exports.download = download;
|
|
207
|
+
const localRevisions = async (downloadsFolder, product, platform) => {
|
|
208
|
+
if (!(await existsAsync(downloadsFolder))) {
|
|
209
|
+
return [];
|
|
210
|
+
}
|
|
211
|
+
const fileNames = await readdirAsync(downloadsFolder);
|
|
212
|
+
return fileNames
|
|
213
|
+
.map((fileName) => {
|
|
214
|
+
return parseFolderPath(product, fileName);
|
|
215
|
+
})
|
|
216
|
+
.filter((entry) => {
|
|
217
|
+
var _a;
|
|
218
|
+
return (_a = (entry && entry.platform === platform)) !== null && _a !== void 0 ? _a : false;
|
|
219
|
+
})
|
|
220
|
+
.map((entry) => {
|
|
221
|
+
return entry.revision;
|
|
222
|
+
});
|
|
223
|
+
};
|
|
224
|
+
exports.localRevisions = localRevisions;
|
|
225
|
+
const removeBrowser = async (revision, folderPath) => {
|
|
226
|
+
(0, assert_1.assert)(await existsAsync(folderPath), `Failed to remove: revision ${revision} is not downloaded`);
|
|
227
|
+
(0, delete_directory_1.deleteDirectory)(folderPath);
|
|
228
|
+
};
|
|
229
|
+
exports.removeBrowser = removeBrowser;
|
|
230
|
+
const getFolderPath = (revision, downloadsFolder, platform) => {
|
|
231
|
+
return path.resolve(downloadsFolder, `${platform}-${revision}`);
|
|
232
|
+
};
|
|
233
|
+
exports.getFolderPath = getFolderPath;
|
|
234
|
+
const getExecutablePath = (product, revision) => {
|
|
235
|
+
const downloadsFolder = (0, exports.getDownloadsFolder)(product);
|
|
236
|
+
const platform = (0, exports.getPlatform)(product);
|
|
237
|
+
const folderPath = (0, exports.getFolderPath)(revision, downloadsFolder, platform);
|
|
238
|
+
if (product === 'chrome') {
|
|
239
|
+
if (platform === 'mac' || platform === 'mac_arm') {
|
|
240
|
+
return path.join(folderPath, archiveName(product, platform, revision), 'Chromium.app', 'Contents', 'MacOS', 'Chromium');
|
|
273
241
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
await chmodAsync(revisionInfo.executablePath, 0o755);
|
|
242
|
+
if (platform === 'linux') {
|
|
243
|
+
return path.join(folderPath, archiveName(product, platform, revision), 'chrome');
|
|
277
244
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* @remarks
|
|
282
|
-
* This method is affected by the current `product`.
|
|
283
|
-
* @returns A promise with a list of all revision strings (for the current `product`)
|
|
284
|
-
* available locally on disk.
|
|
285
|
-
*/
|
|
286
|
-
async localRevisions() {
|
|
287
|
-
if (!(await existsAsync(__classPrivateFieldGet(this, _BrowserFetcher_downloadsFolder, "f")))) {
|
|
288
|
-
return [];
|
|
245
|
+
if (platform === 'win32' || platform === 'win64') {
|
|
246
|
+
return path.join(folderPath, archiveName(product, platform, revision), 'thorium.exe');
|
|
289
247
|
}
|
|
290
|
-
|
|
291
|
-
return fileNames
|
|
292
|
-
.map((fileName) => {
|
|
293
|
-
return parseFolderPath(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), fileName);
|
|
294
|
-
})
|
|
295
|
-
.filter((entry) => {
|
|
296
|
-
var _a;
|
|
297
|
-
return (_a = (entry && entry.platform === __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"))) !== null && _a !== void 0 ? _a : false;
|
|
298
|
-
})
|
|
299
|
-
.map((entry) => {
|
|
300
|
-
return entry.revision;
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* @remarks
|
|
305
|
-
* This method is affected by the current `product`.
|
|
306
|
-
* @param revision - A revision to remove for the current `product`.
|
|
307
|
-
* @returns A promise that resolves when the revision has been removes or
|
|
308
|
-
* throws if the revision has not been downloaded.
|
|
309
|
-
*/
|
|
310
|
-
async remove(revision) {
|
|
311
|
-
const folderPath = __classPrivateFieldGet(this, _BrowserFetcher_instances, "m", _BrowserFetcher_getFolderPath).call(this, revision);
|
|
312
|
-
(0, assert_1.assert)(await existsAsync(folderPath), `Failed to remove: revision ${revision} is not downloaded`);
|
|
313
|
-
await (0, delete_directory_1.deleteDirectory)(folderPath);
|
|
248
|
+
throw new Error('Unsupported platform: ' + platform);
|
|
314
249
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
*/
|
|
319
|
-
revisionInfo(revision) {
|
|
320
|
-
const folderPath = __classPrivateFieldGet(this, _BrowserFetcher_instances, "m", _BrowserFetcher_getFolderPath).call(this, revision);
|
|
321
|
-
let executablePath = '';
|
|
322
|
-
if (__classPrivateFieldGet(this, _BrowserFetcher_product, "f") === 'chrome') {
|
|
323
|
-
if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac_arm') {
|
|
324
|
-
executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'Chromium.app', 'Contents', 'MacOS', 'Chromium');
|
|
325
|
-
}
|
|
326
|
-
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux') {
|
|
327
|
-
executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'chrome');
|
|
328
|
-
}
|
|
329
|
-
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win32' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win64') {
|
|
330
|
-
executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'thorium.exe');
|
|
331
|
-
}
|
|
332
|
-
else {
|
|
333
|
-
throw new Error('Unsupported platform: ' + __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"));
|
|
334
|
-
}
|
|
250
|
+
if (product === 'firefox') {
|
|
251
|
+
if (platform === 'mac' || platform === 'mac_arm') {
|
|
252
|
+
return path.join(folderPath, 'Firefox Nightly.app', 'Contents', 'MacOS', 'firefox');
|
|
335
253
|
}
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
executablePath = path.join(folderPath, 'Firefox Nightly.app', 'Contents', 'MacOS', 'firefox');
|
|
339
|
-
}
|
|
340
|
-
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux') {
|
|
341
|
-
executablePath = path.join(folderPath, 'firefox', 'firefox');
|
|
342
|
-
}
|
|
343
|
-
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win32' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win64') {
|
|
344
|
-
executablePath = path.join(folderPath, 'firefox', 'firefox.exe');
|
|
345
|
-
}
|
|
346
|
-
else {
|
|
347
|
-
throw new Error('Unsupported platform: ' + __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"));
|
|
348
|
-
}
|
|
254
|
+
if (platform === 'linux') {
|
|
255
|
+
return path.join(folderPath, 'firefox', 'firefox');
|
|
349
256
|
}
|
|
350
|
-
|
|
351
|
-
|
|
257
|
+
if (platform === 'win32' || platform === 'win64') {
|
|
258
|
+
return path.join(folderPath, 'firefox', 'firefox.exe');
|
|
352
259
|
}
|
|
353
|
-
|
|
354
|
-
const local = fs.existsSync(folderPath);
|
|
355
|
-
return {
|
|
356
|
-
revision,
|
|
357
|
-
executablePath,
|
|
358
|
-
folderPath,
|
|
359
|
-
local,
|
|
360
|
-
url,
|
|
361
|
-
product: __classPrivateFieldGet(this, _BrowserFetcher_product, "f"),
|
|
362
|
-
};
|
|
260
|
+
throw new Error('Unsupported platform: ' + platform);
|
|
363
261
|
}
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
262
|
+
throw new Error('Unsupported product: ' + product);
|
|
263
|
+
};
|
|
264
|
+
const getRevisionInfo = (revision, product) => {
|
|
265
|
+
const executablePath = getExecutablePath(product, revision);
|
|
266
|
+
const downloadsFolder = (0, exports.getDownloadsFolder)(product);
|
|
267
|
+
const platform = (0, exports.getPlatform)(product);
|
|
268
|
+
const folderPath = (0, exports.getFolderPath)(revision, downloadsFolder, platform);
|
|
269
|
+
const url = _downloadURL(product, platform, (0, exports.getDownloadHost)(product), revision);
|
|
270
|
+
const local = fs.existsSync(folderPath);
|
|
271
|
+
return {
|
|
272
|
+
revision,
|
|
273
|
+
executablePath,
|
|
274
|
+
folderPath,
|
|
275
|
+
local,
|
|
276
|
+
url,
|
|
277
|
+
product,
|
|
278
|
+
};
|
|
368
279
|
};
|
|
280
|
+
exports.getRevisionInfo = getRevisionInfo;
|
|
369
281
|
function parseFolderPath(product, folderPath) {
|
|
370
282
|
const name = path.basename(folderPath);
|
|
371
283
|
const splits = name.split('-');
|
|
@@ -388,6 +300,13 @@ function _downloadFile(url, destinationPath, progressCallback) {
|
|
|
388
300
|
let downloadedBytes = 0;
|
|
389
301
|
let totalBytes = 0;
|
|
390
302
|
let lastProgress = Date.now();
|
|
303
|
+
function onData(chunk) {
|
|
304
|
+
downloadedBytes += chunk.length;
|
|
305
|
+
if (Date.now() - lastProgress > 1000) {
|
|
306
|
+
progressCallback(downloadedBytes, totalBytes);
|
|
307
|
+
lastProgress = Date.now();
|
|
308
|
+
}
|
|
309
|
+
}
|
|
391
310
|
const request = httpRequest(url, 'GET', (response) => {
|
|
392
311
|
if (response.statusCode !== 200) {
|
|
393
312
|
const error = new Error(`Download failed: server returned code ${response.statusCode}. URL: ${url}`);
|
|
@@ -397,8 +316,8 @@ function _downloadFile(url, destinationPath, progressCallback) {
|
|
|
397
316
|
return;
|
|
398
317
|
}
|
|
399
318
|
const file = fs.createWriteStream(destinationPath);
|
|
400
|
-
file.on('
|
|
401
|
-
return fulfill();
|
|
319
|
+
file.on('close', () => {
|
|
320
|
+
return fulfill(totalBytes);
|
|
402
321
|
});
|
|
403
322
|
file.on('error', (error) => {
|
|
404
323
|
return reject(error);
|
|
@@ -411,13 +330,6 @@ function _downloadFile(url, destinationPath, progressCallback) {
|
|
|
411
330
|
return reject(error);
|
|
412
331
|
});
|
|
413
332
|
return promise;
|
|
414
|
-
function onData(chunk) {
|
|
415
|
-
downloadedBytes += chunk.length;
|
|
416
|
-
if (Date.now() - lastProgress > 1000) {
|
|
417
|
-
progressCallback(downloadedBytes, totalBytes);
|
|
418
|
-
lastProgress = Date.now();
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
333
|
}
|
|
422
334
|
function install(archivePath, folderPath) {
|
|
423
335
|
if (archivePath.endsWith('.zip')) {
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type {
|
|
16
|
+
import type { AnySourceMapConsumer } from '../symbolicate-stacktrace';
|
|
17
|
+
import type { HeadlessBrowser } from './Browser';
|
|
17
18
|
import type { CDPSession } from './Connection';
|
|
18
19
|
import { ConsoleMessage } from './ConsoleMessage';
|
|
19
20
|
import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
|
|
@@ -27,16 +28,31 @@ import { TaskQueue } from './TaskQueue';
|
|
|
27
28
|
interface WaitForOptions {
|
|
28
29
|
timeout?: number;
|
|
29
30
|
}
|
|
31
|
+
export declare const enum PageEmittedEvents {
|
|
32
|
+
Console = "console",
|
|
33
|
+
Error = "error",
|
|
34
|
+
Disposed = "disposed"
|
|
35
|
+
}
|
|
30
36
|
interface PageEventObject {
|
|
31
37
|
console: ConsoleMessage;
|
|
32
38
|
error: Error;
|
|
39
|
+
disposed: undefined;
|
|
33
40
|
}
|
|
34
41
|
export declare class Page extends EventEmitter {
|
|
35
42
|
#private;
|
|
36
|
-
|
|
37
|
-
browser:
|
|
43
|
+
id: string;
|
|
44
|
+
static _create({ client, target, defaultViewport, browser, sourcemapContext, }: {
|
|
45
|
+
client: CDPSession;
|
|
46
|
+
target: Target;
|
|
47
|
+
defaultViewport: Viewport;
|
|
48
|
+
browser: HeadlessBrowser;
|
|
49
|
+
sourcemapContext: AnySourceMapConsumer | null;
|
|
50
|
+
}): Promise<Page>;
|
|
51
|
+
closed: boolean;
|
|
52
|
+
browser: HeadlessBrowser;
|
|
38
53
|
screenshotTaskQueue: TaskQueue;
|
|
39
|
-
|
|
54
|
+
sourcemapContext: AnySourceMapConsumer | null;
|
|
55
|
+
constructor(client: CDPSession, target: Target, browser: HeadlessBrowser, sourcemapContext: AnySourceMapConsumer | null);
|
|
40
56
|
/**
|
|
41
57
|
* Listen to page events.
|
|
42
58
|
*/
|
|
@@ -68,7 +84,6 @@ export declare class Page extends EventEmitter {
|
|
|
68
84
|
close(options?: {
|
|
69
85
|
runBeforeUnload?: boolean;
|
|
70
86
|
}): Promise<void>;
|
|
71
|
-
|
|
72
|
-
waitForFunction(browser: Browser, pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
|
|
87
|
+
setBrowserSourceMapContext(context: AnySourceMapConsumer | null): void;
|
|
73
88
|
}
|
|
74
89
|
export {};
|
|
@@ -14,20 +14,23 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
18
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
21
|
+
};
|
|
17
22
|
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
18
23
|
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
19
24
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
20
25
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
21
26
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
22
27
|
};
|
|
23
|
-
var
|
|
24
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
25
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
26
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
27
|
-
};
|
|
28
|
-
var _Page_instances, _Page_closed, _Page_client, _Page_target, _Page_timeoutSettings, _Page_frameManager, _Page_pageBindings, _Page_initialize, _Page_onTargetCrashed, _Page_onLogEntryAdded, _Page_onConsoleAPI, _Page_onBindingCalled, _Page_addConsoleMessage;
|
|
28
|
+
var _Page_instances, _Page_client, _Page_target, _Page_timeoutSettings, _Page_frameManager, _Page_pageBindings, _Page_initialize, _Page_onTargetCrashed, _Page_onLogEntryAdded, _Page_onConsoleAPI, _Page_onBindingCalled, _Page_addConsoleMessage;
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.Page = void 0;
|
|
31
|
+
const remotion_1 = require("remotion");
|
|
32
|
+
const logger_1 = require("../logger");
|
|
33
|
+
const truthy_1 = require("../truthy");
|
|
31
34
|
const assert_1 = require("./assert");
|
|
32
35
|
const ConsoleMessage_1 = require("./ConsoleMessage");
|
|
33
36
|
const EventEmitter_1 = require("./EventEmitter");
|
|
@@ -37,10 +40,16 @@ const TaskQueue_1 = require("./TaskQueue");
|
|
|
37
40
|
const TimeoutSettings_1 = require("./TimeoutSettings");
|
|
38
41
|
const util_1 = require("./util");
|
|
39
42
|
class Page extends EventEmitter_1.EventEmitter {
|
|
40
|
-
|
|
43
|
+
static async _create({ client, target, defaultViewport, browser, sourcemapContext, }) {
|
|
44
|
+
const page = new Page(client, target, browser, sourcemapContext);
|
|
45
|
+
await __classPrivateFieldGet(page, _Page_instances, "m", _Page_initialize).call(page);
|
|
46
|
+
await page.setViewport(defaultViewport);
|
|
47
|
+
return page;
|
|
48
|
+
}
|
|
49
|
+
constructor(client, target, browser, sourcemapContext) {
|
|
41
50
|
super();
|
|
42
51
|
_Page_instances.add(this);
|
|
43
|
-
|
|
52
|
+
this.closed = false;
|
|
44
53
|
_Page_client.set(this, void 0);
|
|
45
54
|
_Page_target.set(this, void 0);
|
|
46
55
|
_Page_timeoutSettings.set(this, new TimeoutSettings_1.TimeoutSettings());
|
|
@@ -51,6 +60,8 @@ class Page extends EventEmitter_1.EventEmitter {
|
|
|
51
60
|
__classPrivateFieldSet(this, _Page_frameManager, new FrameManager_1.FrameManager(client, this, __classPrivateFieldGet(this, _Page_timeoutSettings, "f")), "f");
|
|
52
61
|
this.screenshotTaskQueue = new TaskQueue_1.TaskQueue();
|
|
53
62
|
this.browser = browser;
|
|
63
|
+
this.id = String(Math.random());
|
|
64
|
+
this.sourcemapContext = sourcemapContext;
|
|
54
65
|
client.on('Target.attachedToTarget', (event) => {
|
|
55
66
|
switch (event.targetInfo.type) {
|
|
56
67
|
case 'iframe':
|
|
@@ -83,12 +94,34 @@ class Page extends EventEmitter_1.EventEmitter {
|
|
|
83
94
|
client.on('Log.entryAdded', (event) => {
|
|
84
95
|
return __classPrivateFieldGet(this, _Page_instances, "m", _Page_onLogEntryAdded).call(this, event);
|
|
85
96
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
97
|
+
this.on('console', (log) => {
|
|
98
|
+
var _a;
|
|
99
|
+
const { url, columnNumber, lineNumber } = log.location();
|
|
100
|
+
if ((url === null || url === void 0 ? void 0 : url.endsWith(remotion_1.Internals.bundleName)) &&
|
|
101
|
+
lineNumber &&
|
|
102
|
+
this.sourcemapContext) {
|
|
103
|
+
const origPosition = (_a = this.sourcemapContext) === null || _a === void 0 ? void 0 : _a.originalPositionFor({
|
|
104
|
+
column: columnNumber !== null && columnNumber !== void 0 ? columnNumber : 0,
|
|
105
|
+
line: lineNumber,
|
|
106
|
+
});
|
|
107
|
+
const file = [
|
|
108
|
+
origPosition === null || origPosition === void 0 ? void 0 : origPosition.source,
|
|
109
|
+
origPosition === null || origPosition === void 0 ? void 0 : origPosition.line,
|
|
110
|
+
origPosition === null || origPosition === void 0 ? void 0 : origPosition.column,
|
|
111
|
+
]
|
|
112
|
+
.filter(truthy_1.truthy)
|
|
113
|
+
.join(':');
|
|
114
|
+
logger_1.Log.verboseAdvanced({
|
|
115
|
+
logLevel: (0, logger_1.getLogLevel)(),
|
|
116
|
+
tag: `console.${log.type}()`,
|
|
117
|
+
secondTag: [origPosition.name, file].filter(truthy_1.truthy).join('@'),
|
|
118
|
+
indent: false,
|
|
119
|
+
}, log.text);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
logger_1.Log.verboseAdvanced({ logLevel: (0, logger_1.getLogLevel)(), tag: `console.${log.type}`, indent: false }, log.text);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
92
125
|
}
|
|
93
126
|
/**
|
|
94
127
|
* Listen to page events.
|
|
@@ -166,7 +199,9 @@ class Page extends EventEmitter_1.EventEmitter {
|
|
|
166
199
|
}
|
|
167
200
|
async close(options = { runBeforeUnload: undefined }) {
|
|
168
201
|
const connection = __classPrivateFieldGet(this, _Page_client, "f").connection();
|
|
169
|
-
|
|
202
|
+
if (!connection) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
170
205
|
const runBeforeUnload = Boolean(options.runBeforeUnload);
|
|
171
206
|
if (runBeforeUnload) {
|
|
172
207
|
await __classPrivateFieldGet(this, _Page_client, "f").send('Page.close');
|
|
@@ -178,15 +213,12 @@ class Page extends EventEmitter_1.EventEmitter {
|
|
|
178
213
|
await __classPrivateFieldGet(this, _Page_target, "f")._isClosedPromise;
|
|
179
214
|
}
|
|
180
215
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
184
|
-
waitForFunction(browser, pageFunction, ...args) {
|
|
185
|
-
return this.mainFrame().waitForFunction(browser, pageFunction, ...args);
|
|
216
|
+
setBrowserSourceMapContext(context) {
|
|
217
|
+
this.sourcemapContext = context;
|
|
186
218
|
}
|
|
187
219
|
}
|
|
188
220
|
exports.Page = Page;
|
|
189
|
-
|
|
221
|
+
_Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_frameManager = new WeakMap(), _Page_pageBindings = new WeakMap(), _Page_instances = new WeakSet(), _Page_initialize = async function _Page_initialize() {
|
|
190
222
|
await Promise.all([
|
|
191
223
|
__classPrivateFieldGet(this, _Page_frameManager, "f").initialize(),
|
|
192
224
|
__classPrivateFieldGet(this, _Page_client, "f").send('Target.setAutoAttach', {
|
|
@@ -247,7 +279,7 @@ _Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new W
|
|
|
247
279
|
expression = (0, util_1.pageBindingDeliverErrorValueString)(name, seq, _error);
|
|
248
280
|
}
|
|
249
281
|
}
|
|
250
|
-
__classPrivateFieldGet(this, _Page_client, "f").send('Runtime.evaluate', {
|
|
282
|
+
await __classPrivateFieldGet(this, _Page_client, "f").send('Runtime.evaluate', {
|
|
251
283
|
expression,
|
|
252
284
|
contextId: event.executionContextId,
|
|
253
285
|
});
|