@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
package/dist/assets/read-file.js
CHANGED
|
@@ -4,16 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.readFile = void 0;
|
|
7
|
-
const http_1 = __importDefault(require("http"));
|
|
8
7
|
const https_1 = __importDefault(require("https"));
|
|
8
|
+
const node_http_1 = __importDefault(require("node:http"));
|
|
9
|
+
const redirect_status_codes_1 = require("../redirect-status-codes");
|
|
9
10
|
const getClient = (url) => {
|
|
10
11
|
if (url.startsWith('https://')) {
|
|
11
12
|
return https_1.default.get;
|
|
12
13
|
}
|
|
13
14
|
if (url.startsWith('http://')) {
|
|
14
|
-
return
|
|
15
|
+
return node_http_1.default.get;
|
|
15
16
|
}
|
|
16
|
-
throw new Error(
|
|
17
|
+
throw new Error(`Can only download URLs starting with http:// or https://, got "${url}"`);
|
|
17
18
|
};
|
|
18
19
|
const readFileWithoutRedirect = (url) => {
|
|
19
20
|
return new Promise((resolve, reject) => {
|
|
@@ -29,10 +30,7 @@ const readFile = async (url, redirectsSoFar = 0) => {
|
|
|
29
30
|
throw new Error(`Too many redirects while downloading ${url}`);
|
|
30
31
|
}
|
|
31
32
|
const file = await readFileWithoutRedirect(url);
|
|
32
|
-
if (file.statusCode
|
|
33
|
-
file.statusCode === 301 ||
|
|
34
|
-
file.statusCode === 307 ||
|
|
35
|
-
file.statusCode === 308) {
|
|
33
|
+
if (redirect_status_codes_1.redirectStatusCodes.includes(file.statusCode)) {
|
|
36
34
|
if (!file.headers.location) {
|
|
37
35
|
throw new Error(`Received a status code ${file.statusCode} but no "Location" header while calling ${file.headers.location}`);
|
|
38
36
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.sanitizeFilePath = void 0;
|
|
7
|
-
const
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const sanitize_filename_1 = require("./sanitize-filename");
|
|
9
9
|
const pathSeparators = /[/\\]/;
|
|
10
10
|
const sanitizeFilePath = (pathToSanitize) => {
|
|
11
11
|
return pathToSanitize
|
|
12
12
|
.split(pathSeparators)
|
|
13
13
|
.map((s) => (0, sanitize_filename_1.sanitizeFilename)(s))
|
|
14
|
-
.join(
|
|
14
|
+
.join(node_path_1.default.sep);
|
|
15
15
|
};
|
|
16
16
|
exports.sanitizeFilePath = sanitizeFilePath;
|
|
File without changes
|
|
File without changes
|
package/dist/assets/types.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import type { TAsset } from 'remotion';
|
|
2
|
-
export
|
|
2
|
+
export type UnsafeAsset = Omit<TAsset, 'frame' | 'id' | 'volume' | 'mediaFrame'> & {
|
|
3
3
|
startInVideo: number;
|
|
4
4
|
duration: number | null;
|
|
5
5
|
trimLeft: number;
|
|
6
6
|
volume: number[];
|
|
7
7
|
id: string;
|
|
8
8
|
playbackRate: number;
|
|
9
|
+
allowAmplificationDuringRender: boolean;
|
|
9
10
|
};
|
|
10
|
-
export
|
|
11
|
-
export
|
|
11
|
+
export type AssetVolume = number | number[];
|
|
12
|
+
export type MediaAsset = Omit<UnsafeAsset, 'duration' | 'volume'> & {
|
|
12
13
|
duration: number;
|
|
13
14
|
volume: AssetVolume;
|
|
14
15
|
};
|
|
15
16
|
export declare const uncompressMediaAsset: (allAssets: TAsset[], assetToUncompress: TAsset) => TAsset;
|
|
16
|
-
export
|
|
17
|
+
export type Assets = MediaAsset[];
|
package/dist/assets/types.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Codec } from './codec';
|
|
2
|
+
export declare const validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
|
|
3
|
+
export type AudioCodec = typeof validAudioCodecs[number];
|
|
4
|
+
export declare const supportedAudioCodecs: {
|
|
5
|
+
readonly h264: readonly ["aac", "pcm-16"];
|
|
6
|
+
readonly 'h264-mkv': readonly ["pcm-16"];
|
|
7
|
+
readonly aac: readonly ["aac", "pcm-16"];
|
|
8
|
+
readonly gif: const[];
|
|
9
|
+
readonly h265: readonly ["aac", "pcm-16"];
|
|
10
|
+
readonly mp3: readonly ["mp3", "pcm-16"];
|
|
11
|
+
readonly prores: readonly ["aac", "pcm-16"];
|
|
12
|
+
readonly vp8: readonly ["opus", "pcm-16"];
|
|
13
|
+
readonly vp9: readonly ["opus", "pcm-16"];
|
|
14
|
+
readonly wav: readonly ["pcm-16"];
|
|
15
|
+
};
|
|
16
|
+
declare const audioCodecNames: readonly ["pcm_s16le", "aac", "libmp3lame", "libopus"];
|
|
17
|
+
type FfmpegAudioCodecName = typeof audioCodecNames[number];
|
|
18
|
+
export declare const mapAudioCodecToFfmpegAudioCodecName: (audioCodec: AudioCodec) => FfmpegAudioCodecName;
|
|
19
|
+
export declare const defaultAudioCodecs: {
|
|
20
|
+
[key in Codec]: {
|
|
21
|
+
[k in 'compressed' | 'lossless']: typeof supportedAudioCodecs[key][number] | null;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export declare const getDefaultAudioCodec: ({ codec, preferLossless, }: {
|
|
25
|
+
codec: Codec;
|
|
26
|
+
preferLossless: boolean;
|
|
27
|
+
}) => AudioCodec | null;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDefaultAudioCodec = exports.defaultAudioCodecs = exports.mapAudioCodecToFfmpegAudioCodecName = exports.supportedAudioCodecs = exports.validAudioCodecs = void 0;
|
|
4
|
+
exports.validAudioCodecs = ['pcm-16', 'aac', 'mp3', 'opus'];
|
|
5
|
+
exports.supportedAudioCodecs = {
|
|
6
|
+
h264: ['aac', 'pcm-16'],
|
|
7
|
+
'h264-mkv': ['pcm-16'],
|
|
8
|
+
aac: ['aac', 'pcm-16'],
|
|
9
|
+
gif: [],
|
|
10
|
+
h265: ['aac', 'pcm-16'],
|
|
11
|
+
mp3: ['mp3', 'pcm-16'],
|
|
12
|
+
prores: ['aac', 'pcm-16'],
|
|
13
|
+
vp8: ['opus', 'pcm-16'],
|
|
14
|
+
vp9: ['opus', 'pcm-16'],
|
|
15
|
+
wav: ['pcm-16'],
|
|
16
|
+
};
|
|
17
|
+
const _satisfies = exports.supportedAudioCodecs;
|
|
18
|
+
if (_satisfies) {
|
|
19
|
+
// Just for type checking
|
|
20
|
+
}
|
|
21
|
+
const audioCodecNames = ['pcm_s16le', 'aac', 'libmp3lame', 'libopus'];
|
|
22
|
+
const mapAudioCodecToFfmpegAudioCodecName = (audioCodec) => {
|
|
23
|
+
if (audioCodec === 'aac') {
|
|
24
|
+
return 'aac';
|
|
25
|
+
}
|
|
26
|
+
if (audioCodec === 'mp3') {
|
|
27
|
+
return 'libmp3lame';
|
|
28
|
+
}
|
|
29
|
+
if (audioCodec === 'opus') {
|
|
30
|
+
return 'libopus';
|
|
31
|
+
}
|
|
32
|
+
if (audioCodec === 'pcm-16') {
|
|
33
|
+
return 'pcm_s16le';
|
|
34
|
+
}
|
|
35
|
+
throw new Error('unknown audio codec: ' + audioCodec);
|
|
36
|
+
};
|
|
37
|
+
exports.mapAudioCodecToFfmpegAudioCodecName = mapAudioCodecToFfmpegAudioCodecName;
|
|
38
|
+
exports.defaultAudioCodecs = {
|
|
39
|
+
'h264-mkv': {
|
|
40
|
+
lossless: 'pcm-16',
|
|
41
|
+
compressed: 'pcm-16',
|
|
42
|
+
},
|
|
43
|
+
aac: {
|
|
44
|
+
lossless: 'pcm-16',
|
|
45
|
+
compressed: 'aac',
|
|
46
|
+
},
|
|
47
|
+
gif: {
|
|
48
|
+
lossless: null,
|
|
49
|
+
compressed: null,
|
|
50
|
+
},
|
|
51
|
+
h264: {
|
|
52
|
+
lossless: 'pcm-16',
|
|
53
|
+
compressed: 'aac',
|
|
54
|
+
},
|
|
55
|
+
h265: {
|
|
56
|
+
lossless: 'pcm-16',
|
|
57
|
+
compressed: 'aac',
|
|
58
|
+
},
|
|
59
|
+
mp3: {
|
|
60
|
+
lossless: 'pcm-16',
|
|
61
|
+
compressed: 'mp3',
|
|
62
|
+
},
|
|
63
|
+
prores: {
|
|
64
|
+
lossless: 'pcm-16',
|
|
65
|
+
compressed: 'pcm-16',
|
|
66
|
+
},
|
|
67
|
+
vp8: {
|
|
68
|
+
lossless: 'pcm-16',
|
|
69
|
+
compressed: 'opus',
|
|
70
|
+
},
|
|
71
|
+
vp9: {
|
|
72
|
+
lossless: 'pcm-16',
|
|
73
|
+
compressed: 'opus',
|
|
74
|
+
},
|
|
75
|
+
wav: {
|
|
76
|
+
lossless: 'pcm-16',
|
|
77
|
+
compressed: 'pcm-16',
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
const getDefaultAudioCodec = ({ codec, preferLossless, }) => {
|
|
81
|
+
return exports.defaultAudioCodecs[codec][preferLossless ? 'lossless' : 'compressed'];
|
|
82
|
+
};
|
|
83
|
+
exports.getDefaultAudioCodec = getDefaultAudioCodec;
|
|
@@ -13,48 +13,50 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import type { AnySourceMapConsumer } from '../symbolicate-stacktrace';
|
|
16
17
|
import type { Page } from './BrowserPage';
|
|
17
18
|
import type { Connection } from './Connection';
|
|
18
19
|
import { EventEmitter } from './EventEmitter';
|
|
19
20
|
import type { Viewport } from './PuppeteerViewport';
|
|
20
21
|
import { Target } from './Target';
|
|
21
|
-
|
|
22
|
+
type BrowserCloseCallback = () => Promise<void> | void;
|
|
22
23
|
interface WaitForTargetOptions {
|
|
23
24
|
timeout?: number;
|
|
24
25
|
}
|
|
25
26
|
export declare const enum BrowserEmittedEvents {
|
|
26
27
|
TargetChanged = "targetchanged",
|
|
27
28
|
TargetCreated = "targetcreated",
|
|
28
|
-
Closed = "closed"
|
|
29
|
+
Closed = "closed",
|
|
30
|
+
ClosedSilent = "closed-silent"
|
|
29
31
|
}
|
|
30
|
-
export declare class
|
|
32
|
+
export declare class HeadlessBrowser extends EventEmitter {
|
|
31
33
|
#private;
|
|
32
|
-
static _create({ connection,
|
|
34
|
+
static _create({ connection, defaultViewport, closeCallback, }: {
|
|
33
35
|
connection: Connection;
|
|
34
|
-
contextIds: string[];
|
|
35
36
|
defaultViewport: Viewport;
|
|
36
|
-
closeCallback
|
|
37
|
-
}): Promise<
|
|
37
|
+
closeCallback: BrowserCloseCallback;
|
|
38
|
+
}): Promise<HeadlessBrowser>;
|
|
39
|
+
connection: Connection;
|
|
38
40
|
get _targets(): Map<string, Target>;
|
|
39
|
-
constructor(connection: Connection,
|
|
41
|
+
constructor(connection: Connection, defaultViewport: Viewport, closeCallback?: BrowserCloseCallback);
|
|
40
42
|
browserContexts(): BrowserContext[];
|
|
41
|
-
newPage(): Promise<Page>;
|
|
42
|
-
_createPageInContext(
|
|
43
|
+
newPage(context: AnySourceMapConsumer | null): Promise<Page>;
|
|
44
|
+
_createPageInContext(context: AnySourceMapConsumer | null): Promise<Page>;
|
|
43
45
|
targets(): Target[];
|
|
44
46
|
waitForTarget(predicate: (x: Target) => boolean | Promise<boolean>, options?: WaitForTargetOptions): Promise<Target>;
|
|
45
47
|
pages(): Promise<Page[]>;
|
|
46
|
-
close(): Promise<void>;
|
|
48
|
+
close(silent: boolean): Promise<void>;
|
|
47
49
|
disconnect(): void;
|
|
48
50
|
}
|
|
49
51
|
export declare class BrowserContext extends EventEmitter {
|
|
50
52
|
#private;
|
|
51
|
-
constructor(browser:
|
|
53
|
+
constructor(browser: HeadlessBrowser);
|
|
52
54
|
targets(): Target[];
|
|
53
55
|
waitForTarget(predicate: (x: Target) => boolean | Promise<boolean>, options?: {
|
|
54
56
|
timeout?: number;
|
|
55
57
|
}): Promise<Target>;
|
|
56
58
|
pages(): Promise<Page[]>;
|
|
57
|
-
newPage(): Promise<Page>;
|
|
58
|
-
browser():
|
|
59
|
+
newPage(context: AnySourceMapConsumer | null): Promise<Page>;
|
|
60
|
+
browser(): HeadlessBrowser;
|
|
59
61
|
}
|
|
60
62
|
export {};
|
package/dist/browser/Browser.js
CHANGED
|
@@ -14,71 +14,66 @@
|
|
|
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 _Browser_instances, _Browser_defaultViewport, _Browser_connection, _Browser_closeCallback, _Browser_defaultContext, _Browser_contexts, _Browser_targets, _Browser_targetCreated, _Browser_targetDestroyed, _Browser_targetInfoChanged, _BrowserContext_browser, _BrowserContext_id;
|
|
28
|
+
var _HeadlessBrowser_instances, _HeadlessBrowser_defaultViewport, _HeadlessBrowser_closeCallback, _HeadlessBrowser_defaultContext, _HeadlessBrowser_contexts, _HeadlessBrowser_targets, _HeadlessBrowser_targetCreated, _HeadlessBrowser_targetDestroyed, _HeadlessBrowser_targetInfoChanged, _BrowserContext_browser;
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.BrowserContext = exports.
|
|
30
|
+
exports.BrowserContext = exports.HeadlessBrowser = void 0;
|
|
31
31
|
const assert_1 = require("./assert");
|
|
32
32
|
const EventEmitter_1 = require("./EventEmitter");
|
|
33
33
|
const Target_1 = require("./Target");
|
|
34
34
|
const util_1 = require("./util");
|
|
35
|
-
class
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
super();
|
|
39
|
-
_Browser_instances.add(this);
|
|
40
|
-
_Browser_defaultViewport.set(this, void 0);
|
|
41
|
-
_Browser_connection.set(this, void 0);
|
|
42
|
-
_Browser_closeCallback.set(this, void 0);
|
|
43
|
-
_Browser_defaultContext.set(this, void 0);
|
|
44
|
-
_Browser_contexts.set(this, void 0);
|
|
45
|
-
_Browser_targets.set(this, void 0);
|
|
46
|
-
__classPrivateFieldSet(this, _Browser_defaultViewport, defaultViewport, "f");
|
|
47
|
-
__classPrivateFieldSet(this, _Browser_connection, connection, "f");
|
|
48
|
-
__classPrivateFieldSet(this, _Browser_closeCallback, closeCallback ||
|
|
49
|
-
function () {
|
|
50
|
-
return undefined;
|
|
51
|
-
}, "f");
|
|
52
|
-
__classPrivateFieldSet(this, _Browser_defaultContext, new BrowserContext(this), "f");
|
|
53
|
-
__classPrivateFieldSet(this, _Browser_contexts, new Map(), "f");
|
|
54
|
-
for (const contextId of contextIds) {
|
|
55
|
-
__classPrivateFieldGet(this, _Browser_contexts, "f").set(contextId, new BrowserContext(this, contextId));
|
|
56
|
-
}
|
|
57
|
-
__classPrivateFieldSet(this, _Browser_targets, new Map(), "f");
|
|
58
|
-
__classPrivateFieldGet(this, _Browser_connection, "f").on('Target.targetCreated', __classPrivateFieldGet(this, _Browser_instances, "m", _Browser_targetCreated).bind(this));
|
|
59
|
-
__classPrivateFieldGet(this, _Browser_connection, "f").on('Target.targetDestroyed', __classPrivateFieldGet(this, _Browser_instances, "m", _Browser_targetDestroyed).bind(this));
|
|
60
|
-
__classPrivateFieldGet(this, _Browser_connection, "f").on('Target.targetInfoChanged', __classPrivateFieldGet(this, _Browser_instances, "m", _Browser_targetInfoChanged).bind(this));
|
|
61
|
-
}
|
|
62
|
-
static async _create({ connection, contextIds, defaultViewport, closeCallback, }) {
|
|
63
|
-
const browser = new Browser(connection, contextIds, defaultViewport, closeCallback);
|
|
35
|
+
class HeadlessBrowser extends EventEmitter_1.EventEmitter {
|
|
36
|
+
static async _create({ connection, defaultViewport, closeCallback, }) {
|
|
37
|
+
const browser = new HeadlessBrowser(connection, defaultViewport, closeCallback);
|
|
64
38
|
await connection.send('Target.setDiscoverTargets', { discover: true });
|
|
65
39
|
return browser;
|
|
66
40
|
}
|
|
67
41
|
get _targets() {
|
|
68
|
-
return __classPrivateFieldGet(this,
|
|
42
|
+
return __classPrivateFieldGet(this, _HeadlessBrowser_targets, "f");
|
|
43
|
+
}
|
|
44
|
+
constructor(connection, defaultViewport, closeCallback) {
|
|
45
|
+
super();
|
|
46
|
+
_HeadlessBrowser_instances.add(this);
|
|
47
|
+
_HeadlessBrowser_defaultViewport.set(this, void 0);
|
|
48
|
+
_HeadlessBrowser_closeCallback.set(this, void 0);
|
|
49
|
+
_HeadlessBrowser_defaultContext.set(this, void 0);
|
|
50
|
+
_HeadlessBrowser_contexts.set(this, void 0);
|
|
51
|
+
_HeadlessBrowser_targets.set(this, void 0);
|
|
52
|
+
__classPrivateFieldSet(this, _HeadlessBrowser_defaultViewport, defaultViewport, "f");
|
|
53
|
+
this.connection = connection;
|
|
54
|
+
__classPrivateFieldSet(this, _HeadlessBrowser_closeCallback, closeCallback ||
|
|
55
|
+
function () {
|
|
56
|
+
return undefined;
|
|
57
|
+
}, "f");
|
|
58
|
+
__classPrivateFieldSet(this, _HeadlessBrowser_defaultContext, new BrowserContext(this), "f");
|
|
59
|
+
__classPrivateFieldSet(this, _HeadlessBrowser_contexts, new Map(), "f");
|
|
60
|
+
__classPrivateFieldSet(this, _HeadlessBrowser_targets, new Map(), "f");
|
|
61
|
+
this.connection.on('Target.targetCreated', __classPrivateFieldGet(this, _HeadlessBrowser_instances, "m", _HeadlessBrowser_targetCreated).bind(this));
|
|
62
|
+
this.connection.on('Target.targetDestroyed', __classPrivateFieldGet(this, _HeadlessBrowser_instances, "m", _HeadlessBrowser_targetDestroyed).bind(this));
|
|
63
|
+
this.connection.on('Target.targetInfoChanged', __classPrivateFieldGet(this, _HeadlessBrowser_instances, "m", _HeadlessBrowser_targetInfoChanged).bind(this));
|
|
69
64
|
}
|
|
70
65
|
browserContexts() {
|
|
71
|
-
return [__classPrivateFieldGet(this,
|
|
66
|
+
return [__classPrivateFieldGet(this, _HeadlessBrowser_defaultContext, "f"), ...Array.from(__classPrivateFieldGet(this, _HeadlessBrowser_contexts, "f").values())];
|
|
72
67
|
}
|
|
73
|
-
newPage() {
|
|
74
|
-
return __classPrivateFieldGet(this,
|
|
68
|
+
newPage(context) {
|
|
69
|
+
return __classPrivateFieldGet(this, _HeadlessBrowser_defaultContext, "f").newPage(context);
|
|
75
70
|
}
|
|
76
|
-
async _createPageInContext(
|
|
77
|
-
const { targetId } = await
|
|
71
|
+
async _createPageInContext(context) {
|
|
72
|
+
const { targetId } = await this.connection.send('Target.createTarget', {
|
|
78
73
|
url: 'about:blank',
|
|
79
|
-
browserContextId:
|
|
74
|
+
browserContextId: undefined,
|
|
80
75
|
});
|
|
81
|
-
const target = __classPrivateFieldGet(this,
|
|
76
|
+
const target = __classPrivateFieldGet(this, _HeadlessBrowser_targets, "f").get(targetId);
|
|
82
77
|
if (!target) {
|
|
83
78
|
throw new Error(`Missing target for page (id = ${targetId})`);
|
|
84
79
|
}
|
|
@@ -86,14 +81,14 @@ class Browser extends EventEmitter_1.EventEmitter {
|
|
|
86
81
|
if (!initialized) {
|
|
87
82
|
throw new Error(`Failed to create target for page (id = ${targetId})`);
|
|
88
83
|
}
|
|
89
|
-
const page = await target.page();
|
|
84
|
+
const page = await target.page(context);
|
|
90
85
|
if (!page) {
|
|
91
|
-
throw new Error(`Failed to create a page for context
|
|
86
|
+
throw new Error(`Failed to create a page for context`);
|
|
92
87
|
}
|
|
93
88
|
return page;
|
|
94
89
|
}
|
|
95
90
|
targets() {
|
|
96
|
-
return Array.from(__classPrivateFieldGet(this,
|
|
91
|
+
return Array.from(__classPrivateFieldGet(this, _HeadlessBrowser_targets, "f").values()).filter((target) => {
|
|
97
92
|
return target._isInitialized;
|
|
98
93
|
});
|
|
99
94
|
}
|
|
@@ -133,44 +128,48 @@ class Browser extends EventEmitter_1.EventEmitter {
|
|
|
133
128
|
return acc.concat(x);
|
|
134
129
|
}, []);
|
|
135
130
|
}
|
|
136
|
-
async close() {
|
|
137
|
-
await __classPrivateFieldGet(this,
|
|
131
|
+
async close(silent) {
|
|
132
|
+
await __classPrivateFieldGet(this, _HeadlessBrowser_closeCallback, "f").call(null);
|
|
133
|
+
(await this.pages()).forEach((page) => {
|
|
134
|
+
page.emit("disposed" /* PageEmittedEvents.Disposed */);
|
|
135
|
+
page.closed = true;
|
|
136
|
+
});
|
|
138
137
|
this.disconnect();
|
|
139
|
-
this.emit("closed" /* BrowserEmittedEvents.Closed */);
|
|
138
|
+
this.emit(silent ? "closed-silent" /* BrowserEmittedEvents.ClosedSilent */ : "closed" /* BrowserEmittedEvents.Closed */);
|
|
140
139
|
}
|
|
141
140
|
disconnect() {
|
|
142
|
-
|
|
141
|
+
this.connection.dispose();
|
|
143
142
|
}
|
|
144
143
|
}
|
|
145
|
-
exports.
|
|
146
|
-
|
|
144
|
+
exports.HeadlessBrowser = HeadlessBrowser;
|
|
145
|
+
_HeadlessBrowser_defaultViewport = new WeakMap(), _HeadlessBrowser_closeCallback = new WeakMap(), _HeadlessBrowser_defaultContext = new WeakMap(), _HeadlessBrowser_contexts = new WeakMap(), _HeadlessBrowser_targets = new WeakMap(), _HeadlessBrowser_instances = new WeakSet(), _HeadlessBrowser_targetCreated = async function _HeadlessBrowser_targetCreated(event) {
|
|
147
146
|
var _a;
|
|
148
147
|
const { targetInfo } = event;
|
|
149
148
|
const { browserContextId } = targetInfo;
|
|
150
|
-
const context = browserContextId && __classPrivateFieldGet(this,
|
|
151
|
-
? __classPrivateFieldGet(this,
|
|
152
|
-
: __classPrivateFieldGet(this,
|
|
149
|
+
const context = browserContextId && __classPrivateFieldGet(this, _HeadlessBrowser_contexts, "f").has(browserContextId)
|
|
150
|
+
? __classPrivateFieldGet(this, _HeadlessBrowser_contexts, "f").get(browserContextId)
|
|
151
|
+
: __classPrivateFieldGet(this, _HeadlessBrowser_defaultContext, "f");
|
|
153
152
|
if (!context) {
|
|
154
153
|
throw new Error('Missing browser context');
|
|
155
154
|
}
|
|
156
155
|
const target = new Target_1.Target(targetInfo, context, () => {
|
|
157
|
-
return
|
|
158
|
-
}, (_a = __classPrivateFieldGet(this,
|
|
159
|
-
(0, assert_1.assert)(!__classPrivateFieldGet(this,
|
|
160
|
-
__classPrivateFieldGet(this,
|
|
156
|
+
return this.connection.createSession(targetInfo);
|
|
157
|
+
}, (_a = __classPrivateFieldGet(this, _HeadlessBrowser_defaultViewport, "f")) !== null && _a !== void 0 ? _a : null);
|
|
158
|
+
(0, assert_1.assert)(!__classPrivateFieldGet(this, _HeadlessBrowser_targets, "f").has(event.targetInfo.targetId), 'Target should not exist before targetCreated');
|
|
159
|
+
__classPrivateFieldGet(this, _HeadlessBrowser_targets, "f").set(event.targetInfo.targetId, target);
|
|
161
160
|
if (await target._initializedPromise) {
|
|
162
161
|
this.emit("targetcreated" /* BrowserEmittedEvents.TargetCreated */, target);
|
|
163
162
|
}
|
|
164
|
-
},
|
|
165
|
-
const target = __classPrivateFieldGet(this,
|
|
163
|
+
}, _HeadlessBrowser_targetDestroyed = function _HeadlessBrowser_targetDestroyed(event) {
|
|
164
|
+
const target = __classPrivateFieldGet(this, _HeadlessBrowser_targets, "f").get(event.targetId);
|
|
166
165
|
if (!target) {
|
|
167
166
|
throw new Error(`Missing target in _targetDestroyed (id = ${event.targetId})`);
|
|
168
167
|
}
|
|
169
168
|
target._initializedCallback(false);
|
|
170
|
-
__classPrivateFieldGet(this,
|
|
169
|
+
__classPrivateFieldGet(this, _HeadlessBrowser_targets, "f").delete(event.targetId);
|
|
171
170
|
target._closedCallback();
|
|
172
|
-
},
|
|
173
|
-
const target = __classPrivateFieldGet(this,
|
|
171
|
+
}, _HeadlessBrowser_targetInfoChanged = function _HeadlessBrowser_targetInfoChanged(event) {
|
|
172
|
+
const target = __classPrivateFieldGet(this, _HeadlessBrowser_targets, "f").get(event.targetInfo.targetId);
|
|
174
173
|
if (!target) {
|
|
175
174
|
throw new Error(`Missing target in targetInfoChanged (id = ${event.targetInfo.targetId})`);
|
|
176
175
|
}
|
|
@@ -182,12 +181,10 @@ _Browser_defaultViewport = new WeakMap(), _Browser_connection = new WeakMap(), _
|
|
|
182
181
|
}
|
|
183
182
|
};
|
|
184
183
|
class BrowserContext extends EventEmitter_1.EventEmitter {
|
|
185
|
-
constructor(browser
|
|
184
|
+
constructor(browser) {
|
|
186
185
|
super();
|
|
187
186
|
_BrowserContext_browser.set(this, void 0);
|
|
188
|
-
_BrowserContext_id.set(this, void 0);
|
|
189
187
|
__classPrivateFieldSet(this, _BrowserContext_browser, browser, "f");
|
|
190
|
-
__classPrivateFieldSet(this, _BrowserContext_id, contextId, "f");
|
|
191
188
|
}
|
|
192
189
|
targets() {
|
|
193
190
|
return __classPrivateFieldGet(this, _BrowserContext_browser, "f").targets().filter((target) => {
|
|
@@ -202,17 +199,17 @@ class BrowserContext extends EventEmitter_1.EventEmitter {
|
|
|
202
199
|
async pages() {
|
|
203
200
|
const pages = await Promise.all(this.targets()
|
|
204
201
|
.filter((target) => target.type() === 'page')
|
|
205
|
-
.map((target) => target.page()));
|
|
202
|
+
.map((target) => target.page(null)));
|
|
206
203
|
return pages.filter((page) => {
|
|
207
204
|
return Boolean(page);
|
|
208
205
|
});
|
|
209
206
|
}
|
|
210
|
-
newPage() {
|
|
211
|
-
return __classPrivateFieldGet(this, _BrowserContext_browser, "f")._createPageInContext(
|
|
207
|
+
newPage(context) {
|
|
208
|
+
return __classPrivateFieldGet(this, _BrowserContext_browser, "f")._createPageInContext(context);
|
|
212
209
|
}
|
|
213
210
|
browser() {
|
|
214
211
|
return __classPrivateFieldGet(this, _BrowserContext_browser, "f");
|
|
215
212
|
}
|
|
216
213
|
}
|
|
217
214
|
exports.BrowserContext = BrowserContext;
|
|
218
|
-
_BrowserContext_browser = new WeakMap()
|
|
215
|
+
_BrowserContext_browser = new WeakMap();
|
|
File without changes
|
|
File without changes
|
|
@@ -14,12 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { Product } from './Product';
|
|
17
|
-
|
|
18
|
-
export interface BrowserFetcherOptions {
|
|
19
|
-
platform: Platform | null;
|
|
20
|
-
product: Product;
|
|
21
|
-
path: string | null;
|
|
22
|
-
}
|
|
17
|
+
type Platform = 'linux' | 'mac' | 'mac_arm' | 'win32' | 'win64';
|
|
23
18
|
interface BrowserFetcherRevisionInfo {
|
|
24
19
|
folderPath: string;
|
|
25
20
|
executablePath: string;
|
|
@@ -28,62 +23,19 @@ interface BrowserFetcherRevisionInfo {
|
|
|
28
23
|
revision: string;
|
|
29
24
|
product: string;
|
|
30
25
|
}
|
|
31
|
-
export declare
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
platform
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
*/
|
|
47
|
-
host(): string;
|
|
48
|
-
/**
|
|
49
|
-
* Initiates a HEAD request to check if the revision is available.
|
|
50
|
-
* @remarks
|
|
51
|
-
* This method is affected by the current `product`.
|
|
52
|
-
* @param revision - The revision to check availability for.
|
|
53
|
-
* @returns A promise that resolves to `true` if the revision could be downloaded
|
|
54
|
-
* from the host.
|
|
55
|
-
*/
|
|
56
|
-
canDownload(revision: string): Promise<boolean>;
|
|
57
|
-
/**
|
|
58
|
-
* Initiates a GET request to download the revision from the host.
|
|
59
|
-
* @remarks
|
|
60
|
-
* This method is affected by the current `product`.
|
|
61
|
-
* @param revision - The revision to download.
|
|
62
|
-
* @param progressCallback - A function that will be called with two arguments:
|
|
63
|
-
* How many bytes have been downloaded and the total number of bytes of the download.
|
|
64
|
-
* @returns A promise with revision information when the revision is downloaded
|
|
65
|
-
* and extracted.
|
|
66
|
-
*/
|
|
67
|
-
download(revision: string, progressCallback?: (x: number, y: number) => void): Promise<BrowserFetcherRevisionInfo | undefined>;
|
|
68
|
-
/**
|
|
69
|
-
* @remarks
|
|
70
|
-
* This method is affected by the current `product`.
|
|
71
|
-
* @returns A promise with a list of all revision strings (for the current `product`)
|
|
72
|
-
* available locally on disk.
|
|
73
|
-
*/
|
|
74
|
-
localRevisions(): Promise<string[]>;
|
|
75
|
-
/**
|
|
76
|
-
* @remarks
|
|
77
|
-
* This method is affected by the current `product`.
|
|
78
|
-
* @param revision - A revision to remove for the current `product`.
|
|
79
|
-
* @returns A promise that resolves when the revision has been removes or
|
|
80
|
-
* throws if the revision has not been downloaded.
|
|
81
|
-
*/
|
|
82
|
-
remove(revision: string): Promise<void>;
|
|
83
|
-
/**
|
|
84
|
-
* @param revision - The revision to get info for.
|
|
85
|
-
* @returns The revision info for the given revision.
|
|
86
|
-
*/
|
|
87
|
-
revisionInfo(revision: string): BrowserFetcherRevisionInfo;
|
|
88
|
-
}
|
|
26
|
+
export declare const getPlatform: (product: Product) => Platform;
|
|
27
|
+
export declare const getDownloadsFolder: (product: Product) => string;
|
|
28
|
+
export declare const getDownloadHost: (product: Product) => "https://storage.googleapis.com" | "https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central";
|
|
29
|
+
export declare const download: ({ revision, progressCallback, product, platform, downloadHost, downloadsFolder, }: {
|
|
30
|
+
revision: string;
|
|
31
|
+
progressCallback: (x: number, y: number) => void;
|
|
32
|
+
product: Product;
|
|
33
|
+
platform: Platform;
|
|
34
|
+
downloadHost: string;
|
|
35
|
+
downloadsFolder: string;
|
|
36
|
+
}) => Promise<BrowserFetcherRevisionInfo | undefined>;
|
|
37
|
+
export declare const localRevisions: (downloadsFolder: string, product: Product, platform: Platform) => Promise<string[]>;
|
|
38
|
+
export declare const removeBrowser: (revision: string, folderPath: string) => Promise<void>;
|
|
39
|
+
export declare const getFolderPath: (revision: string, downloadsFolder: string, platform: Platform) => string;
|
|
40
|
+
export declare const getRevisionInfo: (revision: string, product: Product) => BrowserFetcherRevisionInfo;
|
|
89
41
|
export {};
|