@remotion/renderer 3.0.22 → 3.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/assets/calculate-asset-positions.d.ts +2 -2
  2. package/dist/assets/convert-assets-to-file-urls.d.ts +2 -2
  3. package/dist/assets/download-and-map-assets-to-file.d.ts +1 -1
  4. package/dist/assets/ffmpeg-volume-expression.d.ts +1 -1
  5. package/dist/assets/flatten-volume-array.d.ts +1 -1
  6. package/dist/assets/get-audio-channels.d.ts +1 -1
  7. package/dist/assets/types.d.ts +1 -1
  8. package/dist/browser/Browser.d.ts +5 -159
  9. package/dist/browser/Browser.js +5 -190
  10. package/dist/browser/BrowserConnector.d.ts +1 -1
  11. package/dist/browser/BrowserFetcher.d.ts +3 -3
  12. package/dist/browser/BrowserFetcher.js +38 -20
  13. package/dist/browser/BrowserRunner.d.ts +2 -2
  14. package/dist/browser/BrowserRunner.js +1 -1
  15. package/dist/browser/Connection.d.ts +2 -9
  16. package/dist/browser/Connection.js +3 -23
  17. package/dist/browser/ConsoleMessage.d.ts +1 -1
  18. package/dist/browser/DOMWorld.d.ts +5 -6
  19. package/dist/browser/DOMWorld.js +2 -18
  20. package/dist/browser/EvalTypes.d.ts +1 -1
  21. package/dist/browser/EventEmitter.d.ts +1 -48
  22. package/dist/browser/EventEmitter.js +0 -49
  23. package/dist/browser/ExecutionContext.d.ts +6 -5
  24. package/dist/browser/FrameManager.d.ts +9 -13
  25. package/dist/browser/FrameManager.js +3 -19
  26. package/dist/browser/HTTPRequest.d.ts +2 -2
  27. package/dist/browser/HTTPResponse.d.ts +0 -1
  28. package/dist/browser/HTTPResponse.js +2 -9
  29. package/dist/browser/JSHandle.d.ts +3 -4
  30. package/dist/browser/JSHandle.js +0 -3
  31. package/dist/browser/LaunchOptions.d.ts +2 -81
  32. package/dist/browser/Launcher.d.ts +2 -2
  33. package/dist/browser/Launcher.js +21 -119
  34. package/dist/browser/LifecycleWatcher.d.ts +4 -4
  35. package/dist/browser/LifecycleWatcher.js +4 -17
  36. package/dist/browser/NetworkEventManager.d.ts +1 -3
  37. package/dist/browser/NetworkEventManager.js +0 -47
  38. package/dist/browser/NetworkManager.d.ts +1 -3
  39. package/dist/browser/NetworkManager.js +3 -35
  40. package/dist/browser/Page.d.ts +7 -9
  41. package/dist/browser/PuppeteerNode.d.ts +7 -56
  42. package/dist/browser/PuppeteerNode.js +4 -58
  43. package/dist/browser/Target.d.ts +3 -3
  44. package/dist/browser/assert.d.ts +0 -20
  45. package/dist/browser/assert.js +0 -20
  46. package/dist/browser/create-browser-fetcher.d.ts +1 -1
  47. package/dist/browser/create-browser-fetcher.js +3 -11
  48. package/dist/browser/util.d.ts +2 -2
  49. package/dist/browser/util.js +1 -1
  50. package/dist/browser-log.d.ts +1 -1
  51. package/dist/calculate-ffmpeg-filters.d.ts +1 -1
  52. package/dist/calculate-sar-dar-pixels.d.ts +9 -0
  53. package/dist/calculate-sar-dar-pixels.js +19 -0
  54. package/dist/can-use-parallel-encoding.d.ts +1 -1
  55. package/dist/combine-videos.d.ts +1 -1
  56. package/dist/convert-to-pcm.d.ts +1 -1
  57. package/dist/create-silent-audio.d.ts +1 -1
  58. package/dist/cycle-browser-tabs.d.ts +1 -1
  59. package/dist/delay-render-embedded-stack.d.ts +1 -1
  60. package/dist/ensure-presentation-timestamp.d.ts +1 -1
  61. package/dist/ensure-presentation-timestamp.js +1 -1
  62. package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
  63. package/dist/error-handling/handle-javascript-exception.js +2 -2
  64. package/dist/error-handling/symbolicate-error.d.ts +1 -1
  65. package/dist/error-handling/symbolicateable-error.d.ts +1 -1
  66. package/dist/extract-frame-from-video.d.ts +3 -4
  67. package/dist/extract-frame-from-video.js +26 -14
  68. package/dist/get-audio-codec-name.d.ts +1 -1
  69. package/dist/get-browser-instance.d.ts +4 -3
  70. package/dist/get-codec-name.d.ts +1 -1
  71. package/dist/get-compositions.d.ts +4 -4
  72. package/dist/get-compositions.js +2 -2
  73. package/dist/get-duration-from-frame-range.d.ts +1 -1
  74. package/dist/get-extension-from-codec.d.ts +1 -1
  75. package/dist/get-frame-to-render.d.ts +1 -1
  76. package/dist/get-local-browser-executable.d.ts +1 -1
  77. package/dist/get-local-browser-executable.js +7 -5
  78. package/dist/get-prores-profile-name.d.ts +1 -1
  79. package/dist/get-video-info.d.ts +8 -0
  80. package/dist/get-video-info.js +50 -0
  81. package/dist/image-format.d.ts +1 -1
  82. package/dist/is-vp9-video.d.ts +1 -1
  83. package/dist/last-frame-from-video-cache.d.ts +3 -2
  84. package/dist/merge-audio-track.d.ts +1 -1
  85. package/dist/offthread-video-server.d.ts +3 -3
  86. package/dist/open-browser.d.ts +5 -3
  87. package/dist/open-browser.js +8 -8
  88. package/dist/prepare-server.d.ts +2 -2
  89. package/dist/preprocess-audio-track.d.ts +2 -2
  90. package/dist/prespawn-ffmpeg.d.ts +2 -2
  91. package/dist/provide-screenshot.d.ts +4 -4
  92. package/dist/provide-screenshot.js +0 -1
  93. package/dist/puppeteer-evaluate.d.ts +1 -1
  94. package/dist/puppeteer-evaluate.js +3 -4
  95. package/dist/puppeteer-screenshot.d.ts +3 -2
  96. package/dist/puppeteer-screenshot.js +2 -4
  97. package/dist/render-frames.d.ts +9 -9
  98. package/dist/render-frames.js +18 -10
  99. package/dist/render-media.d.ts +8 -8
  100. package/dist/render-still.d.ts +6 -6
  101. package/dist/screenshot-dom-element.d.ts +6 -7
  102. package/dist/screenshot-dom-element.js +3 -6
  103. package/dist/screenshot-task.d.ts +3 -2
  104. package/dist/screenshot-task.js +3 -5
  105. package/dist/seek-to-frame.d.ts +2 -2
  106. package/dist/serve-handler/index.d.ts +1 -1
  107. package/dist/serve-handler/index.js +0 -1
  108. package/dist/serve-static.d.ts +2 -2
  109. package/dist/set-props-and-env.d.ts +1 -1
  110. package/dist/set-props-and-env.js +3 -0
  111. package/dist/stitch-frames-to-video.d.ts +3 -3
  112. package/dist/stringify-ffmpeg-filter.d.ts +2 -2
  113. package/dist/stringify-ffmpeg-filter.js +3 -0
  114. package/dist/symbolicate-stacktrace.d.ts +1 -1
  115. package/dist/types.d.ts +1 -1
  116. package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
  117. package/dist/validate-output-filename.d.ts +1 -1
  118. package/package.json +10 -6
@@ -25,15 +25,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
25
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
26
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
27
27
  };
28
- var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_extraHTTPHeaders, _NetworkManager_attemptedAuthentications, _NetworkManager_onRequestWillBeSent, _NetworkManager_onAuthRequired, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
28
+ var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_onRequestWillBeSent, _NetworkManager_onAuthRequired, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.NetworkManager = exports.NetworkManagerEmittedEvents = void 0;
31
- const assert_1 = require("./assert");
32
31
  const EventEmitter_1 = require("./EventEmitter");
33
32
  const HTTPRequest_1 = require("./HTTPRequest");
34
33
  const HTTPResponse_1 = require("./HTTPResponse");
35
34
  const NetworkEventManager_1 = require("./NetworkEventManager");
36
- const util_1 = require("./util");
37
35
  exports.NetworkManagerEmittedEvents = {
38
36
  Request: Symbol('NetworkManager.Request'),
39
37
  };
@@ -44,8 +42,6 @@ class NetworkManager extends EventEmitter_1.EventEmitter {
44
42
  _NetworkManager_client.set(this, void 0);
45
43
  _NetworkManager_frameManager.set(this, void 0);
46
44
  _NetworkManager_networkEventManager.set(this, new NetworkEventManager_1.NetworkEventManager());
47
- _NetworkManager_extraHTTPHeaders.set(this, {});
48
- _NetworkManager_attemptedAuthentications.set(this, new Set());
49
45
  __classPrivateFieldSet(this, _NetworkManager_client, client, "f");
50
46
  __classPrivateFieldSet(this, _NetworkManager_frameManager, frameManager, "f");
51
47
  __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.requestPaused', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestPaused).bind(this));
@@ -60,32 +56,15 @@ class NetworkManager extends EventEmitter_1.EventEmitter {
60
56
  async initialize() {
61
57
  await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.enable');
62
58
  }
63
- async setExtraHTTPHeaders(extraHTTPHeaders) {
64
- __classPrivateFieldSet(this, _NetworkManager_extraHTTPHeaders, {}, "f");
65
- for (const key of Object.keys(extraHTTPHeaders)) {
66
- const value = extraHTTPHeaders[key];
67
- (0, assert_1.assert)((0, util_1.isString)(value), `Expected value of header "${key}" to be String, but "${typeof value}" is found.`);
68
- __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f")[key.toLowerCase()] = value;
69
- }
70
- await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setExtraHTTPHeaders', {
71
- headers: __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f"),
72
- });
73
- }
74
- extraHTTPHeaders() {
75
- return { ...__classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f") };
76
- }
77
59
  numRequestsInProgress() {
78
60
  return __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").numRequestsInProgress();
79
61
  }
80
62
  }
81
63
  exports.NetworkManager = NetworkManager;
82
- _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_extraHTTPHeaders = new WeakMap(), _NetworkManager_attemptedAuthentications = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
64
+ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
83
65
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, undefined);
84
66
  }, _NetworkManager_onAuthRequired = function _NetworkManager_onAuthRequired(event) {
85
- let response = 'Default';
86
- if (__classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").has(event.requestId)) {
87
- response = 'CancelAuth';
88
- }
67
+ const response = 'Default';
89
68
  const { username, password } = {
90
69
  username: undefined,
91
70
  password: undefined,
@@ -168,7 +147,6 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
168
147
  }, _NetworkManager_handleRequestRedirect = function _NetworkManager_handleRequestRedirect(request, responsePayload, extraInfo) {
169
148
  const response = new HTTPResponse_1.HTTPResponse(responsePayload, extraInfo);
170
149
  request._response = response;
171
- response._resolveBody(new Error('Response body is unavailable for redirect responses'));
172
150
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, false);
173
151
  }, _NetworkManager_emitResponseEvent = function _NetworkManager_emitResponseEvent(responseReceived, extraInfo) {
174
152
  const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(responseReceived.requestId);
@@ -242,18 +220,12 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
242
220
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, event);
243
221
  }
244
222
  }, _NetworkManager_emitLoadingFinished = function _NetworkManager_emitLoadingFinished(event) {
245
- var _a;
246
223
  const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
247
224
  // For certain requestIds we never receive requestWillBeSent event.
248
225
  // @see https://crbug.com/750469
249
226
  if (!request) {
250
227
  return;
251
228
  }
252
- // Under certain conditions we never get the Network.responseReceived
253
- // event from protocol. @see https://crbug.com/883475
254
- if (request.response()) {
255
- (_a = request.response()) === null || _a === void 0 ? void 0 : _a._resolveBody(null);
256
- }
257
229
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
258
230
  }, _NetworkManager_onLoadingFailed = function _NetworkManager_onLoadingFailed(event) {
259
231
  // If the response event for this request is still waiting on a
@@ -272,9 +244,5 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
272
244
  if (!request) {
273
245
  return;
274
246
  }
275
- const response = request.response();
276
- if (response) {
277
- response._resolveBody(null);
278
- }
279
247
  __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
280
248
  };
@@ -13,20 +13,18 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { CDPSession } from './Connection';
16
+ import type { CDPSession } from './Connection';
17
17
  import { ConsoleMessage } from './ConsoleMessage';
18
- import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
18
+ import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
19
19
  import { EventEmitter } from './EventEmitter';
20
- import { Frame } from './FrameManager';
21
- import { HTTPResponse } from './HTTPResponse';
22
- import { JSHandle } from './JSHandle';
23
- import { PuppeteerLifeCycleEvent } from './LifecycleWatcher';
24
- import { Viewport } from './PuppeteerViewport';
25
- import { Target } from './Target';
20
+ import type { Frame } from './FrameManager';
21
+ import type { HTTPResponse } from './HTTPResponse';
22
+ import type { JSHandle } from './JSHandle';
23
+ import type { Viewport } from './PuppeteerViewport';
24
+ import type { Target } from './Target';
26
25
  import { TaskQueue } from './TaskQueue';
27
26
  interface WaitForOptions {
28
27
  timeout?: number;
29
- waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
30
28
  }
31
29
  interface PageEventObject {
32
30
  console: ConsoleMessage;
@@ -13,12 +13,13 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { Browser } from './Browser';
17
- import { BrowserConnectOptions } from './BrowserConnector';
18
- import { BrowserFetcher, BrowserFetcherOptions } from './BrowserFetcher';
19
- import { ProductLauncher } from './Launcher';
20
- import { BrowserLaunchArgumentOptions, LaunchOptions } from './LaunchOptions';
21
- import { Product } from './Product';
16
+ import type { Browser } from './Browser';
17
+ import type { BrowserConnectOptions } from './BrowserConnector';
18
+ import type { BrowserFetcherOptions } from './BrowserFetcher';
19
+ import { BrowserFetcher } from './BrowserFetcher';
20
+ import type { ProductLauncher } from './Launcher';
21
+ import type { BrowserLaunchArgumentOptions, LaunchOptions } from './LaunchOptions';
22
+ import type { Product } from './Product';
22
23
  interface PuppeteerLaunchOptions extends LaunchOptions, BrowserLaunchArgumentOptions, BrowserConnectOptions {
23
24
  product?: Product;
24
25
  extraPrefsFirefox?: Record<string, unknown>;
@@ -30,60 +31,10 @@ export declare class PuppeteerNode {
30
31
  preferredRevision: string;
31
32
  productName?: Product;
32
33
  });
33
- get _productName(): Product | undefined;
34
- set _productName(name: Product | undefined);
35
- /**
36
- * Launches puppeteer and launches a browser instance with given arguments
37
- * and options when specified.
38
- *
39
- * @remarks
40
- *
41
- * @example
42
- * You can use `ignoreDefaultArgs` to filter out `--mute-audio` from default arguments:
43
- * ```js
44
- * const browser = await puppeteer.launch({
45
- * ignoreDefaultArgs: ['--mute-audio']
46
- * });
47
- * ```
48
- *
49
- * **NOTE** Puppeteer can also be used to control the Chrome browser,
50
- * but it works best with the version of Chromium it is bundled with.
51
- * There is no guarantee it will work with any other version.
52
- * Use `executablePath` option with extreme caution.
53
- * If Google Chrome (rather than Chromium) is preferred, a {@link https://www.google.com/chrome/browser/canary.html | Chrome Canary} or {@link https://www.chromium.org/getting-involved/dev-channel | Dev Channel} build is suggested.
54
- * In `puppeteer.launch([options])`, any mention of Chromium also applies to Chrome.
55
- * See {@link https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/ | this article} for a description of the differences between Chromium and Chrome. {@link https://chromium.googlesource.com/chromium/src/+/lkgr/docs/chromium_browser_vs_google_chrome.md | This article} describes some differences for Linux users.
56
- *
57
- * @param options - Set of configurable options to set on the browser.
58
- * @returns Promise which resolves to browser instance.
59
- */
60
34
  launch(options: PuppeteerLaunchOptions): Promise<Browser>;
61
- /**
62
- * @remarks
63
- *
64
- * **NOTE** `puppeteer.executablePath()` is affected by the `PUPPETEER_EXECUTABLE_PATH`
65
- * and `PUPPETEER_CHROMIUM_REVISION` environment variables.
66
- *
67
- * @returns A path where Puppeteer expects to find the bundled browser.
68
- * The browser binary might not be there if the download was skipped with
69
- * the `PUPPETEER_SKIP_DOWNLOAD` environment variable.
70
- */
71
35
  executablePath(channel?: string): string;
72
36
  get _launcher(): ProductLauncher;
73
- /**
74
- * The name of the browser that is under automation (`"chrome"` or `"firefox"`)
75
- *
76
- * @remarks
77
- * The product is set by the `PUPPETEER_PRODUCT` environment variable or the `product`
78
- * option in `puppeteer.launch([options])` and defaults to `chrome`.
79
- * Firefox support is experimental.
80
- */
81
37
  get product(): string;
82
- /**
83
- * @param options - Set of configurable options to specify the settings
84
- * of the BrowserFetcher.
85
- * @returns A new BrowserFetcher instance.
86
- */
87
38
  createBrowserFetcher(options: BrowserFetcherOptions): BrowserFetcher;
88
39
  }
89
40
  export {};
@@ -45,60 +45,19 @@ class PuppeteerNode {
45
45
  this.executablePath = this.executablePath.bind(this);
46
46
  this.createBrowserFetcher = this.createBrowserFetcher.bind(this);
47
47
  }
48
- get _productName() {
49
- return __classPrivateFieldGet(this, _PuppeteerNode_productName, "f");
50
- }
51
- set _productName(name) {
52
- __classPrivateFieldSet(this, _PuppeteerNode_productName, name, "f");
53
- }
54
- /**
55
- * Launches puppeteer and launches a browser instance with given arguments
56
- * and options when specified.
57
- *
58
- * @remarks
59
- *
60
- * @example
61
- * You can use `ignoreDefaultArgs` to filter out `--mute-audio` from default arguments:
62
- * ```js
63
- * const browser = await puppeteer.launch({
64
- * ignoreDefaultArgs: ['--mute-audio']
65
- * });
66
- * ```
67
- *
68
- * **NOTE** Puppeteer can also be used to control the Chrome browser,
69
- * but it works best with the version of Chromium it is bundled with.
70
- * There is no guarantee it will work with any other version.
71
- * Use `executablePath` option with extreme caution.
72
- * If Google Chrome (rather than Chromium) is preferred, a {@link https://www.google.com/chrome/browser/canary.html | Chrome Canary} or {@link https://www.chromium.org/getting-involved/dev-channel | Dev Channel} build is suggested.
73
- * In `puppeteer.launch([options])`, any mention of Chromium also applies to Chrome.
74
- * See {@link https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/ | this article} for a description of the differences between Chromium and Chrome. {@link https://chromium.googlesource.com/chromium/src/+/lkgr/docs/chromium_browser_vs_google_chrome.md | This article} describes some differences for Linux users.
75
- *
76
- * @param options - Set of configurable options to set on the browser.
77
- * @returns Promise which resolves to browser instance.
78
- */
79
48
  launch(options) {
80
49
  if (options.product) {
81
- this._productName = options.product;
50
+ __classPrivateFieldSet(this, _PuppeteerNode_productName, options.product, "f");
82
51
  }
83
52
  return this._launcher.launch(options);
84
53
  }
85
- /**
86
- * @remarks
87
- *
88
- * **NOTE** `puppeteer.executablePath()` is affected by the `PUPPETEER_EXECUTABLE_PATH`
89
- * and `PUPPETEER_CHROMIUM_REVISION` environment variables.
90
- *
91
- * @returns A path where Puppeteer expects to find the bundled browser.
92
- * The browser binary might not be there if the download was skipped with
93
- * the `PUPPETEER_SKIP_DOWNLOAD` environment variable.
94
- */
95
54
  executablePath(channel) {
96
55
  return this._launcher.executablePath(channel);
97
56
  }
98
57
  get _launcher() {
99
58
  if (!__classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f") ||
100
- __classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f").product !== this._productName) {
101
- switch (this._productName) {
59
+ __classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f").product !== __classPrivateFieldGet(this, _PuppeteerNode_productName, "f")) {
60
+ switch (__classPrivateFieldGet(this, _PuppeteerNode_productName, "f")) {
102
61
  case 'firefox':
103
62
  this._preferredRevision = revisions_1.PUPPETEER_REVISIONS.firefox;
104
63
  break;
@@ -107,26 +66,13 @@ class PuppeteerNode {
107
66
  this._preferredRevision = revisions_1.PUPPETEER_REVISIONS.chromium;
108
67
  }
109
68
  // eslint-disable-next-line new-cap
110
- __classPrivateFieldSet(this, _PuppeteerNode_lazyLauncher, (0, Launcher_1.default)(this._preferredRevision, this._productName), "f");
69
+ __classPrivateFieldSet(this, _PuppeteerNode_lazyLauncher, (0, Launcher_1.default)(this._preferredRevision, __classPrivateFieldGet(this, _PuppeteerNode_productName, "f")), "f");
111
70
  }
112
71
  return __classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f");
113
72
  }
114
- /**
115
- * The name of the browser that is under automation (`"chrome"` or `"firefox"`)
116
- *
117
- * @remarks
118
- * The product is set by the `PUPPETEER_PRODUCT` environment variable or the `product`
119
- * option in `puppeteer.launch([options])` and defaults to `chrome`.
120
- * Firefox support is experimental.
121
- */
122
73
  get product() {
123
74
  return this._launcher.product;
124
75
  }
125
- /**
126
- * @param options - Set of configurable options to specify the settings
127
- * of the BrowserFetcher.
128
- * @returns A new BrowserFetcher instance.
129
- */
130
76
  createBrowserFetcher(options) {
131
77
  return new BrowserFetcher_1.BrowserFetcher(options);
132
78
  }
@@ -14,10 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { Protocol } from 'devtools-protocol';
17
- import { Browser, BrowserContext } from './Browser';
18
- import { CDPSession } from './Connection';
17
+ import type { Browser, BrowserContext } from './Browser';
18
+ import type { CDPSession } from './Connection';
19
19
  import { Page } from './Page';
20
- import { Viewport } from './PuppeteerViewport';
20
+ import type { Viewport } from './PuppeteerViewport';
21
21
  export declare class Target {
22
22
  #private;
23
23
  _initializedPromise: Promise<boolean>;
@@ -1,21 +1 @@
1
- /**
2
- * Copyright 2020 Google Inc. All rights reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- /**
17
- * Asserts that the given value is truthy.
18
- * @param value - some conditional statement
19
- * @param message - the error message to throw if the value is not truthy.
20
- */
21
1
  export declare const assert: (value: unknown, message?: string) => asserts value;
@@ -1,26 +1,6 @@
1
1
  "use strict";
2
- /**
3
- * Copyright 2020 Google Inc. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.assert = void 0;
19
- /**
20
- * Asserts that the given value is truthy.
21
- * @param value - some conditional statement
22
- * @param message - the error message to throw if the value is not truthy.
23
- */
24
4
  const assert = (value, message) => {
25
5
  if (!value) {
26
6
  throw new Error(message);
@@ -13,5 +13,5 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { Product } from './Product';
16
+ import type { Product } from './Product';
17
17
  export declare function downloadBrowser(product: Product): Promise<void>;
@@ -54,11 +54,11 @@ async function downloadBrowser(product) {
54
54
  const revisionInfo = browserFetcher.revisionInfo(_revision);
55
55
  // Do nothing if the revision is already downloaded.
56
56
  if (revisionInfo.local) {
57
- logPolitely(`${supportedProducts[product]} is already in ${revisionInfo.folderPath}; skipping download.`);
57
+ console.log(`${supportedProducts[product]} is already in ${revisionInfo.folderPath}; skipping download.`);
58
58
  return;
59
59
  }
60
60
  function onSuccess(localRevisions) {
61
- logPolitely(`${supportedProducts[product]} (${revisionInfo.revision}) downloaded to ${revisionInfo.folderPath}`);
61
+ console.log(`${supportedProducts[product]} (${revisionInfo.revision}) downloaded to ${revisionInfo.folderPath}`);
62
62
  localRevisions = localRevisions.filter((__revision) => {
63
63
  return __revision !== revisionInfo.revision;
64
64
  });
@@ -92,7 +92,7 @@ async function downloadBrowser(product) {
92
92
  const requestOptions = {};
93
93
  const promise = new Promise((resolve, reject) => {
94
94
  let data = '';
95
- logPolitely(`Requesting latest Firefox Nightly version from ${firefoxVersionsUrl}`);
95
+ console.log(`Requesting latest Firefox Nightly version from ${firefoxVersionsUrl}`);
96
96
  https_1.default
97
97
  .get(firefoxVersionsUrl, requestOptions, (r) => {
98
98
  if (r.statusCode && r.statusCode >= 400) {
@@ -117,11 +117,3 @@ async function downloadBrowser(product) {
117
117
  }
118
118
  }
119
119
  exports.downloadBrowser = downloadBrowser;
120
- function logPolitely(toBeLogged) {
121
- const logLevel = process.env.npm_config_loglevel || '';
122
- const logLevelDisplay = ['silent', 'error', 'warn'].indexOf(logLevel) > -1;
123
- // eslint-disable-next-line no-console
124
- if (!logLevelDisplay) {
125
- console.log(toBeLogged);
126
- }
127
- }
@@ -15,8 +15,8 @@
15
15
  */
16
16
  /// <reference types="node" />
17
17
  import type { Protocol } from 'devtools-protocol';
18
- import { CDPSession } from './Connection';
19
- import { CommonEventEmitter } from './EventEmitter';
18
+ import type { CDPSession } from './Connection';
19
+ import type { CommonEventEmitter } from './EventEmitter';
20
20
  export declare function getExceptionMessage(exceptionDetails: Protocol.Runtime.ExceptionDetails): string;
21
21
  export declare function valueFromRemoteObject(remoteObject: Protocol.Runtime.RemoteObject): any;
22
22
  export declare function releaseObject(client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject): Promise<void>;
@@ -79,7 +79,7 @@ function addEventListener(emitter, eventName, handler) {
79
79
  exports.addEventListener = addEventListener;
80
80
  function removeEventListeners(listeners) {
81
81
  for (const listener of listeners) {
82
- listener.emitter.removeListener(listener.eventName, listener.handler);
82
+ listener.emitter.off(listener.eventName, listener.handler);
83
83
  }
84
84
  listeners.length = 0;
85
85
  }
@@ -1,4 +1,4 @@
1
- import { ConsoleMessageLocation, ConsoleMessageType } from 'puppeteer-core';
1
+ import type { ConsoleMessageLocation, ConsoleMessageType } from './browser/ConsoleMessage';
2
2
  export declare type BrowserLog = {
3
3
  text: string;
4
4
  stackTrace: ConsoleMessageLocation[];
@@ -1,4 +1,4 @@
1
- import { MediaAsset } from './assets/types';
1
+ import type { MediaAsset } from './assets/types';
2
2
  export declare const calculateFfmpegFilter: ({ asset, fps, durationInFrames, channels, assetDuration, }: {
3
3
  asset: MediaAsset;
4
4
  fps: number;
@@ -0,0 +1,9 @@
1
+ export declare const calculateDisplayVideoSize: ({ darX, darY, x, y, }: {
2
+ x: number;
3
+ y: number;
4
+ darX: number;
5
+ darY: number;
6
+ }) => {
7
+ width: number;
8
+ height: number;
9
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // https://superuser.com/questions/907933/correct-aspect-ratio-without-re-encoding-video-file
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.calculateDisplayVideoSize = void 0;
5
+ const calculateDisplayVideoSize = ({ darX, darY, x, y, }) => {
6
+ // We know two equations:
7
+ // newWidth / newHeight = darX / darY
8
+ // and:
9
+ // x * y = (newWidth * newHeight)
10
+ // I solved it then on pen and paper and simplified the formula:
11
+ const dimensions = x * y;
12
+ const newWidth = Math.sqrt(dimensions * (darX / darY));
13
+ const newHeight = dimensions / newWidth;
14
+ return {
15
+ height: Math.round(newHeight),
16
+ width: Math.round(newWidth),
17
+ };
18
+ };
19
+ exports.calculateDisplayVideoSize = calculateDisplayVideoSize;
@@ -1,2 +1,2 @@
1
- import { Codec } from 'remotion';
1
+ import type { Codec } from 'remotion';
2
2
  export declare const canUseParallelEncoding: (codec: Codec) => boolean;
@@ -1,4 +1,4 @@
1
- import { Codec } from 'remotion';
1
+ import type { Codec } from 'remotion';
2
2
  export declare const combineVideos: ({ files, filelistDir, output, onProgress, numberOfFrames, codec, fps, }: {
3
3
  files: string[];
4
4
  filelistDir: string;
@@ -1,4 +1,4 @@
1
- import { FfmpegExecutable } from 'remotion';
1
+ import type { FfmpegExecutable } from 'remotion';
2
2
  export declare const convertToPcm: ({ ffmpegExecutable, input, outName, }: {
3
3
  ffmpegExecutable: FfmpegExecutable;
4
4
  input: string;
@@ -1,4 +1,4 @@
1
- import { FfmpegExecutable } from 'remotion';
1
+ import type { FfmpegExecutable } from 'remotion';
2
2
  export declare const createSilentAudio: ({ ffmpegExecutable, numberOfSeconds, outName, }: {
3
3
  ffmpegExecutable: FfmpegExecutable;
4
4
  numberOfSeconds: number;
@@ -1,4 +1,4 @@
1
- import { openBrowser } from './open-browser';
1
+ import type { openBrowser } from './open-browser';
2
2
  declare type Await<T> = T extends PromiseLike<infer U> ? U : T;
3
3
  declare type Browser = Await<ReturnType<typeof openBrowser>>;
4
4
  export declare const cycleBrowserTabs: (puppeteerInstance: Browser, concurrency: number) => {
@@ -1,2 +1,2 @@
1
- import { UnsymbolicatedStackFrame } from './parse-browser-error-stack';
1
+ import type { UnsymbolicatedStackFrame } from './parse-browser-error-stack';
2
2
  export declare const parseDelayRenderEmbeddedStack: (message: string) => UnsymbolicatedStackFrame[] | null;
@@ -1 +1 @@
1
- export declare const ensurePresentationTimestamps: (src: string) => Promise<unknown>;
1
+ export declare const ensurePresentationTimestamps: (src: string) => Promise<void>;
@@ -14,7 +14,7 @@ const ensurePresentationTimestamps = async (src) => {
14
14
  return new Promise((resolve) => {
15
15
  callbacks.push({
16
16
  src,
17
- fn: () => resolve,
17
+ fn: () => resolve(),
18
18
  });
19
19
  });
20
20
  }
@@ -1,5 +1,5 @@
1
- import { Page } from 'puppeteer-core';
2
- import { SymbolicatedStackFrame } from '../symbolicate-stacktrace';
1
+ import type { Page } from '../browser/Page';
2
+ import type { SymbolicatedStackFrame } from '../symbolicate-stacktrace';
3
3
  export declare class ErrorWithStackFrame extends Error {
4
4
  symbolicatedStackFrames: SymbolicatedStackFrame[] | null;
5
5
  frame: number | null;
@@ -41,8 +41,8 @@ const callFrameToStackFrame = (callFrame) => {
41
41
  };
42
42
  };
43
43
  const handleJavascriptException = ({ page, onError, frame, }) => {
44
- const client = page._client;
45
- const handler = async (exception) => {
44
+ const client = page._client();
45
+ const handler = (exception) => {
46
46
  var _a, _b, _c;
47
47
  const rawErrorMessage = (_a = exception.exceptionDetails.exception) === null || _a === void 0 ? void 0 : _a.description;
48
48
  const cleanErrorMessage = cleanUpErrorMessage(exception);
@@ -1,3 +1,3 @@
1
1
  import { ErrorWithStackFrame } from './handle-javascript-exception';
2
- import { SymbolicateableError } from './symbolicateable-error';
2
+ import type { SymbolicateableError } from './symbolicateable-error';
3
3
  export declare const symbolicateError: (symbolicateableError: SymbolicateableError) => Promise<ErrorWithStackFrame>;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * A symbolicateable error is an error that can be symolicated by fetching the original sources. By throwing a symbolicateable error, Remotion CLI will attempt to symplicate it
3
3
  */
4
- import { UnsymbolicatedStackFrame } from '../parse-browser-error-stack';
4
+ import type { UnsymbolicatedStackFrame } from '../parse-browser-error-stack';
5
5
  export declare class SymbolicateableError extends Error {
6
6
  stackFrame: UnsymbolicatedStackFrame[] | null;
7
7
  delayRenderCall: UnsymbolicatedStackFrame[] | null;
@@ -1,8 +1,7 @@
1
1
  /// <reference types="node" />
2
- import { FfmpegExecutable, OffthreadVideoImageFormat } from 'remotion';
3
- import { SpecialVCodecForTransparency } from './is-vp9-video';
4
- import { LastFrameOptions } from './last-frame-from-video-cache';
5
- export declare const determineVcodecFfmepgFlags: (vcodecFlag: SpecialVCodecForTransparency) => string[];
2
+ import type { FfmpegExecutable, OffthreadVideoImageFormat } from 'remotion';
3
+ import type { LastFrameOptions } from './last-frame-from-video-cache';
4
+ export declare const determineResizeParams: (needsResize: [number, number] | null) => string[];
6
5
  export declare const getLastFrameOfVideo: (options: LastFrameOptions) => Promise<Buffer>;
7
6
  declare type Options = {
8
7
  time: number;