@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
@@ -60,28 +60,25 @@ const http = __importStar(require("http"));
60
60
  const https = __importStar(require("https"));
61
61
  const os = __importStar(require("os"));
62
62
  const path = __importStar(require("path"));
63
+ const util = __importStar(require("util"));
63
64
  const extract_zip_1 = __importDefault(require("extract-zip"));
64
65
  const URL = __importStar(require("url"));
65
66
  const util_1 = require("util");
66
67
  const assert_1 = require("./assert");
67
68
  const delete_directory_1 = require("../delete-directory");
68
69
  const get_download_destination_1 = require("./get-download-destination");
70
+ const { PUPPETEER_EXPERIMENTAL_CHROMIUM_MAC_ARM } = process.env;
69
71
  const downloadURLs = {
70
72
  chrome: {
71
73
  linux: '%s/chromium-browser-snapshots/Linux_x64/%d/%s.zip',
72
- linux_arm: '%s/chromium-browser-snapshots/Linux_x64/%d/%s.zip',
73
74
  mac: '%s/chromium-browser-snapshots/Mac/%d/%s.zip',
74
- mac_arm: 'https://github.com/Alex313031/Thorium-Special/releases/download/M103.0.5037.0-1/Thorium_MacOS_ARM64.dmg',
75
+ mac_arm: '%s/chromium-browser-snapshots/Mac_Arm/%d/%s.zip',
75
76
  win32: '%s/chromium-browser-snapshots/Win/%d/%s.zip',
76
77
  win64: '%s/chromium-browser-snapshots/Win_x64/%d/%s.zip',
77
78
  },
78
79
  firefox: {
79
80
  linux: '%s/firefox-%s.en-US.%s-x86_64.tar.bz2',
80
- // TODO
81
- linux_arm: '%s/firefox-%s.en-US.%s-x86_64.tar.bz2',
82
81
  mac: '%s/firefox-%s.en-US.%s.dmg',
83
- // TODO
84
- mac_arm: '%s/firefox-%s.en-US.%s.dmg',
85
82
  win32: '%s/firefox-%s.en-US.%s.zip',
86
83
  win64: '%s/firefox-%s.en-US.%s.zip',
87
84
  },
@@ -100,7 +97,6 @@ function archiveName(product, platform, revision) {
100
97
  switch (product) {
101
98
  case 'chrome':
102
99
  switch (platform) {
103
- case 'linux_arm':
104
100
  case 'linux':
105
101
  return 'chrome-linux';
106
102
  case 'mac_arm':
@@ -121,12 +117,27 @@ function archiveName(product, platform, revision) {
121
117
  throw new Error('unknown browser');
122
118
  }
123
119
  }
124
- function _downloadURL(product, platform) {
125
- const url = downloadURLs[product][platform];
120
+ function _downloadURL(product, platform, host, revision) {
121
+ const url = util.format(downloadURLs[product][platform], host, revision, archiveName(product, platform, revision));
126
122
  return url;
127
123
  }
128
- const readdirAsync = fs.promises.readdir;
129
- const mkdirAsync = fs.promises.mkdir;
124
+ function handleArm64() {
125
+ let exists = fs.existsSync('/usr/bin/chromium-browser');
126
+ if (exists) {
127
+ return;
128
+ }
129
+ exists = fs.existsSync('/usr/bin/chromium');
130
+ if (exists) {
131
+ return;
132
+ }
133
+ console.error('The chromium binary is not available for arm64.' +
134
+ '\nIf you are on Ubuntu, you can install with: ' +
135
+ '\n\n sudo apt install chromium\n' +
136
+ '\n\n sudo apt install chromium-browser\n');
137
+ throw new Error();
138
+ }
139
+ const readdirAsync = (0, util_1.promisify)(fs.readdir.bind(fs));
140
+ const mkdirAsync = (0, util_1.promisify)(fs.mkdir.bind(fs));
130
141
  const unlinkAsync = (0, util_1.promisify)(fs.unlink.bind(fs));
131
142
  const chmodAsync = (0, util_1.promisify)(fs.chmod.bind(fs));
132
143
  function existsAsync(filePath) {
@@ -157,7 +168,9 @@ class BrowserFetcher {
157
168
  case 'darwin':
158
169
  switch (__classPrivateFieldGet(this, _BrowserFetcher_product, "f")) {
159
170
  case 'chrome':
160
- __classPrivateFieldSet(this, _BrowserFetcher_platform, os.arch() === 'arm64' ? 'mac_arm' : 'mac', "f");
171
+ __classPrivateFieldSet(this, _BrowserFetcher_platform, os.arch() === 'arm64' && PUPPETEER_EXPERIMENTAL_CHROMIUM_MAC_ARM
172
+ ? 'mac_arm'
173
+ : 'mac', "f");
161
174
  break;
162
175
  case 'firefox':
163
176
  __classPrivateFieldSet(this, _BrowserFetcher_platform, 'mac', "f");
@@ -167,7 +180,7 @@ class BrowserFetcher {
167
180
  }
168
181
  break;
169
182
  case 'linux':
170
- __classPrivateFieldSet(this, _BrowserFetcher_platform, os.arch() === 'arm64' ? 'linux_arm' : 'linux', "f");
183
+ __classPrivateFieldSet(this, _BrowserFetcher_platform, 'linux', "f");
171
184
  break;
172
185
  case 'win32':
173
186
  __classPrivateFieldSet(this, _BrowserFetcher_platform, os.arch() === 'x64' ? 'win64' : 'win32', "f");
@@ -206,8 +219,8 @@ class BrowserFetcher {
206
219
  * @returns A promise that resolves to `true` if the revision could be downloaded
207
220
  * from the host.
208
221
  */
209
- canDownload() {
210
- const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"));
222
+ canDownload(revision) {
223
+ const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), __classPrivateFieldGet(this, _BrowserFetcher_downloadHost, "f"), revision);
211
224
  return new Promise((resolve) => {
212
225
  const request = httpRequest(url, 'HEAD', (response) => {
213
226
  resolve(response.statusCode === 200);
@@ -229,7 +242,7 @@ class BrowserFetcher {
229
242
  * and extracted.
230
243
  */
231
244
  async download(revision, progressCallback = () => undefined) {
232
- const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"));
245
+ const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), __classPrivateFieldGet(this, _BrowserFetcher_downloadHost, "f"), revision);
233
246
  const fileName = url.split('/').pop();
234
247
  (0, assert_1.assert)(fileName, `A malformed download URL was found: ${url}.`);
235
248
  const archivePath = path.join(__classPrivateFieldGet(this, _BrowserFetcher_downloadsFolder, "f"), fileName);
@@ -242,6 +255,11 @@ class BrowserFetcher {
242
255
  recursive: true,
243
256
  });
244
257
  }
258
+ // Use system Chromium builds on Linux ARM devices
259
+ if (os.platform() !== 'darwin' && os.arch() === 'arm64') {
260
+ handleArm64();
261
+ return;
262
+ }
245
263
  try {
246
264
  await _downloadFile(url, archivePath, progressCallback);
247
265
  await install(archivePath, outputPath);
@@ -301,9 +319,9 @@ class BrowserFetcher {
301
319
  let executablePath = '';
302
320
  if (__classPrivateFieldGet(this, _BrowserFetcher_product, "f") === 'chrome') {
303
321
  if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac_arm') {
304
- executablePath = path.join(folderPath, 'Thorium.app', 'Contents', 'MacOS', 'Thorium');
322
+ executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'Chromium.app', 'Contents', 'MacOS', 'Chromium');
305
323
  }
306
- else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux_arm') {
324
+ else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux') {
307
325
  executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'chrome');
308
326
  }
309
327
  else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win32' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win64') {
@@ -317,7 +335,7 @@ class BrowserFetcher {
317
335
  if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac_arm') {
318
336
  executablePath = path.join(folderPath, 'Firefox Nightly.app', 'Contents', 'MacOS', 'firefox');
319
337
  }
320
- else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux_arm') {
338
+ else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux') {
321
339
  executablePath = path.join(folderPath, 'firefox', 'firefox');
322
340
  }
323
341
  else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win32' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win64') {
@@ -330,7 +348,7 @@ class BrowserFetcher {
330
348
  else {
331
349
  throw new Error('Unsupported product: ' + __classPrivateFieldGet(this, _BrowserFetcher_product, "f"));
332
350
  }
333
- const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"));
351
+ const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), __classPrivateFieldGet(this, _BrowserFetcher_downloadHost, "f"), revision);
334
352
  const local = fs.existsSync(folderPath);
335
353
  return {
336
354
  revision,
@@ -16,8 +16,8 @@
16
16
  /// <reference types="node" />
17
17
  import * as childProcess from 'child_process';
18
18
  import { Connection } from './Connection';
19
- import { LaunchOptions } from './LaunchOptions';
20
- import { Product } from './Product';
19
+ import type { LaunchOptions } from './LaunchOptions';
20
+ import type { Product } from './Product';
21
21
  export declare class BrowserRunner {
22
22
  #private;
23
23
  proc?: childProcess.ChildProcess;
@@ -236,7 +236,7 @@ class BrowserRunner {
236
236
  const { timeout, preferredRevision } = options;
237
237
  const browserWSEndpoint = await waitForWSEndpoint(this.proc, timeout, preferredRevision);
238
238
  const transport = await NodeWebSocketTransport_1.NodeWebSocketTransport.create(browserWSEndpoint);
239
- this.connection = new Connection_1.Connection(browserWSEndpoint, transport);
239
+ this.connection = new Connection_1.Connection(transport);
240
240
  return this.connection;
241
241
  }
242
242
  }
@@ -1,18 +1,12 @@
1
1
  import type { Protocol } from 'devtools-protocol';
2
2
  import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping';
3
3
  import { EventEmitter } from './EventEmitter';
4
- import { NodeWebSocketTransport } from './NodeWebSocketTransport';
4
+ import type { NodeWebSocketTransport } from './NodeWebSocketTransport';
5
5
  export declare class Connection extends EventEmitter {
6
6
  #private;
7
- constructor(url: string, transport: NodeWebSocketTransport);
7
+ constructor(transport: NodeWebSocketTransport);
8
8
  static fromSession(session: CDPSession): Connection | undefined;
9
- get _closed(): boolean;
10
- /**
11
- * @param sessionId - The session id
12
- * @returns The current CDP session if it exists
13
- */
14
9
  session(sessionId: string): CDPSession | null;
15
- url(): string;
16
10
  send<T extends keyof ProtocolMapping.Commands>(method: T, ...paramArgs: ProtocolMapping.Commands[T]['paramsType']): Promise<ProtocolMapping.Commands[T]['returnType']>;
17
11
  _rawSend(message: Record<string, unknown>): number;
18
12
  dispose(): void;
@@ -42,7 +36,6 @@ export declare class CDPSession extends EventEmitter {
42
36
  connection(): Connection | undefined;
43
37
  send<T extends keyof ProtocolMapping.Commands>(method: T, ...paramArgs: ProtocolMapping.Commands[T]['paramsType']): Promise<ProtocolMapping.Commands[T]['returnType']>;
44
38
  _onMessage(object: CDPSessionOnMessageObject): void;
45
- detach(): Promise<void>;
46
39
  _onClosed(): void;
47
40
  id(): string;
48
41
  }
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  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");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _Connection_instances, _Connection_url, _Connection_transport, _Connection_lastId, _Connection_sessions, _Connection_closed, _Connection_callbacks, _Connection_onMessage, _Connection_onClose, _CDPSession_sessionId, _CDPSession_targetType, _CDPSession_callbacks, _CDPSession_connection;
13
+ var _Connection_instances, _Connection_transport, _Connection_lastId, _Connection_sessions, _Connection_closed, _Connection_callbacks, _Connection_onMessage, _Connection_onClose, _CDPSession_sessionId, _CDPSession_targetType, _CDPSession_callbacks, _CDPSession_connection;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.CDPSession = exports.CDPSessionEmittedEvents = exports.Connection = void 0;
16
16
  /**
@@ -35,16 +35,14 @@ const ConnectionEmittedEvents = {
35
35
  Disconnected: Symbol('Connection.Disconnected'),
36
36
  };
37
37
  class Connection extends EventEmitter_1.EventEmitter {
38
- constructor(url, transport) {
38
+ constructor(transport) {
39
39
  super();
40
40
  _Connection_instances.add(this);
41
- _Connection_url.set(this, void 0);
42
41
  _Connection_transport.set(this, void 0);
43
42
  _Connection_lastId.set(this, 0);
44
43
  _Connection_sessions.set(this, new Map());
45
44
  _Connection_closed.set(this, false);
46
45
  _Connection_callbacks.set(this, new Map());
47
- __classPrivateFieldSet(this, _Connection_url, url, "f");
48
46
  __classPrivateFieldSet(this, _Connection_transport, transport, "f");
49
47
  __classPrivateFieldGet(this, _Connection_transport, "f").onmessage = __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onMessage).bind(this);
50
48
  __classPrivateFieldGet(this, _Connection_transport, "f").onclose = __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).bind(this);
@@ -52,19 +50,9 @@ class Connection extends EventEmitter_1.EventEmitter {
52
50
  static fromSession(session) {
53
51
  return session.connection();
54
52
  }
55
- get _closed() {
56
- return __classPrivateFieldGet(this, _Connection_closed, "f");
57
- }
58
- /**
59
- * @param sessionId - The session id
60
- * @returns The current CDP session if it exists
61
- */
62
53
  session(sessionId) {
63
54
  return __classPrivateFieldGet(this, _Connection_sessions, "f").get(sessionId) || null;
64
55
  }
65
- url() {
66
- return __classPrivateFieldGet(this, _Connection_url, "f");
67
- }
68
56
  send(method, ...paramArgs) {
69
57
  // There is only ever 1 param arg passed, but the Protocol defines it as an
70
58
  // array of 0 or 1 items See this comment:
@@ -111,7 +99,7 @@ class Connection extends EventEmitter_1.EventEmitter {
111
99
  }
112
100
  }
113
101
  exports.Connection = Connection;
114
- _Connection_url = new WeakMap(), _Connection_transport = new WeakMap(), _Connection_lastId = new WeakMap(), _Connection_sessions = new WeakMap(), _Connection_closed = new WeakMap(), _Connection_callbacks = new WeakMap(), _Connection_instances = new WeakSet(), _Connection_onMessage = function _Connection_onMessage(message) {
102
+ _Connection_transport = new WeakMap(), _Connection_lastId = new WeakMap(), _Connection_sessions = new WeakMap(), _Connection_closed = new WeakMap(), _Connection_callbacks = new WeakMap(), _Connection_instances = new WeakSet(), _Connection_onMessage = function _Connection_onMessage(message) {
115
103
  const object = JSON.parse(message);
116
104
  if (object.method === 'Target.attachedToTarget') {
117
105
  const { sessionId } = object.params;
@@ -226,14 +214,6 @@ class CDPSession extends EventEmitter_1.EventEmitter {
226
214
  this.emit(object.method, object.params);
227
215
  }
228
216
  }
229
- async detach() {
230
- if (!__classPrivateFieldGet(this, _CDPSession_connection, "f")) {
231
- throw new Error(`Session already detached. Most likely the ${__classPrivateFieldGet(this, _CDPSession_targetType, "f")} has been closed.`);
232
- }
233
- await __classPrivateFieldGet(this, _CDPSession_connection, "f").send('Target.detachFromTarget', {
234
- sessionId: __classPrivateFieldGet(this, _CDPSession_sessionId, "f"),
235
- });
236
- }
237
217
  _onClosed() {
238
218
  for (const callback of __classPrivateFieldGet(this, _CDPSession_callbacks, "f").values()) {
239
219
  callback.reject(rewriteError(callback.error, `Protocol error (${callback.method}): Target closed. https://www.remotion.dev/docs/target-closed`));
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { JSHandle } from './JSHandle';
16
+ import type { JSHandle } from './JSHandle';
17
17
  export interface ConsoleMessageLocation {
18
18
  url?: string;
19
19
  lineNumber?: number;
@@ -13,11 +13,11 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
17
- import { ExecutionContext } from './ExecutionContext';
18
- import { Frame } from './FrameManager';
19
- import { ElementHandle, JSHandle } from './JSHandle';
20
- import { TimeoutSettings } from './TimeoutSettings';
16
+ import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
17
+ import type { ExecutionContext } from './ExecutionContext';
18
+ import type { Frame } from './FrameManager';
19
+ import type { JSHandle } from './JSHandle';
20
+ import type { TimeoutSettings } from './TimeoutSettings';
21
21
  export declare class DOMWorld {
22
22
  #private;
23
23
  get _waitTasks(): Set<WaitTask>;
@@ -29,7 +29,6 @@ export declare class DOMWorld {
29
29
  executionContext(): Promise<ExecutionContext>;
30
30
  evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType>;
31
31
  evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>>;
32
- _document(): Promise<ElementHandle>;
33
32
  waitForFunction(pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
34
33
  title(): Promise<string>;
35
34
  }
@@ -25,7 +25,7 @@ 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 _DOMWorld_frame, _DOMWorld_timeoutSettings, _DOMWorld_documentPromise, _DOMWorld_contextPromise, _DOMWorld_contextResolveCallback, _DOMWorld_detached, _DOMWorld_waitTasks, _WaitTask_instances, _WaitTask_domWorld, _WaitTask_timeout, _WaitTask_predicateBody, _WaitTask_args, _WaitTask_runCount, _WaitTask_resolve, _WaitTask_reject, _WaitTask_timeoutTimer, _WaitTask_terminated, _WaitTask_cleanup;
28
+ var _DOMWorld_frame, _DOMWorld_timeoutSettings, _DOMWorld_contextPromise, _DOMWorld_contextResolveCallback, _DOMWorld_detached, _DOMWorld_waitTasks, _WaitTask_instances, _WaitTask_domWorld, _WaitTask_timeout, _WaitTask_predicateBody, _WaitTask_args, _WaitTask_runCount, _WaitTask_resolve, _WaitTask_reject, _WaitTask_timeoutTimer, _WaitTask_terminated, _WaitTask_cleanup;
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.DOMWorld = void 0;
31
31
  const assert_1 = require("./assert");
@@ -35,7 +35,6 @@ class DOMWorld {
35
35
  constructor(frame, timeoutSettings) {
36
36
  _DOMWorld_frame.set(this, void 0);
37
37
  _DOMWorld_timeoutSettings.set(this, void 0);
38
- _DOMWorld_documentPromise.set(this, null);
39
38
  _DOMWorld_contextPromise.set(this, null);
40
39
  _DOMWorld_contextResolveCallback.set(this, null);
41
40
  _DOMWorld_detached.set(this, false);
@@ -63,7 +62,6 @@ class DOMWorld {
63
62
  }
64
63
  }
65
64
  else {
66
- __classPrivateFieldSet(this, _DOMWorld_documentPromise, null, "f");
67
65
  __classPrivateFieldSet(this, _DOMWorld_contextPromise, new Promise((fulfill) => {
68
66
  __classPrivateFieldSet(this, _DOMWorld_contextResolveCallback, fulfill, "f");
69
67
  }), "f");
@@ -95,20 +93,6 @@ class DOMWorld {
95
93
  const context = await this.executionContext();
96
94
  return context.evaluate(pageFunction, ...args);
97
95
  }
98
- _document() {
99
- if (__classPrivateFieldGet(this, _DOMWorld_documentPromise, "f")) {
100
- return __classPrivateFieldGet(this, _DOMWorld_documentPromise, "f");
101
- }
102
- __classPrivateFieldSet(this, _DOMWorld_documentPromise, this.executionContext().then(async (context) => {
103
- const document = await context.evaluateHandle('document');
104
- const element = document.asElement();
105
- if (element === null) {
106
- throw new Error('Document is null');
107
- }
108
- return element;
109
- }), "f");
110
- return __classPrivateFieldGet(this, _DOMWorld_documentPromise, "f");
111
- }
112
96
  waitForFunction(pageFunction, ...args) {
113
97
  const timeout = __classPrivateFieldGet(this, _DOMWorld_timeoutSettings, "f").timeout();
114
98
  const waitTaskOptions = {
@@ -128,7 +112,7 @@ class DOMWorld {
128
112
  }
129
113
  }
130
114
  exports.DOMWorld = DOMWorld;
131
- _DOMWorld_frame = new WeakMap(), _DOMWorld_timeoutSettings = new WeakMap(), _DOMWorld_documentPromise = new WeakMap(), _DOMWorld_contextPromise = new WeakMap(), _DOMWorld_contextResolveCallback = new WeakMap(), _DOMWorld_detached = new WeakMap(), _DOMWorld_waitTasks = new WeakMap();
115
+ _DOMWorld_frame = new WeakMap(), _DOMWorld_timeoutSettings = new WeakMap(), _DOMWorld_contextPromise = new WeakMap(), _DOMWorld_contextResolveCallback = new WeakMap(), _DOMWorld_detached = new WeakMap(), _DOMWorld_waitTasks = new WeakMap();
132
116
  const noop = () => undefined;
133
117
  class WaitTask {
134
118
  constructor(options) {
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { JSHandle } from './JSHandle';
16
+ import type { JSHandle } from './JSHandle';
17
17
  export declare type EvaluateFn<T = any, U = any, V = any> = string | ((arg1: T, ...args: U[]) => V);
18
18
  export declare type UnwrapPromiseLike<T> = T extends PromiseLike<infer U> ? U : T;
19
19
  export declare type EvaluateFnReturnType<T extends EvaluateFn> = T extends (...args: any[]) => infer R ? R : any;
@@ -1,9 +1,8 @@
1
- import { EventType, Handler } from './mitt';
1
+ import type { EventType, Handler } from './mitt';
2
2
  export interface CommonEventEmitter {
3
3
  on(event: EventType, handler: Handler): CommonEventEmitter;
4
4
  off(event: EventType, handler: Handler): CommonEventEmitter;
5
5
  addListener(event: EventType, handler: Handler): CommonEventEmitter;
6
- removeListener(event: EventType, handler: Handler): CommonEventEmitter;
7
6
  emit(event: EventType, eventData?: unknown): boolean;
8
7
  once(event: EventType, handler: Handler): CommonEventEmitter;
9
8
  listenerCount(event: string): number;
@@ -13,58 +12,12 @@ export declare class EventEmitter implements CommonEventEmitter {
13
12
  private emitter;
14
13
  private eventsMap;
15
14
  constructor();
16
- /**
17
- * Bind an event listener to fire when an event occurs.
18
- * @param event - the event type you'd like to listen to. Can be a string or symbol.
19
- * @param handler - the function to be called when the event occurs.
20
- * @returns `this` to enable you to chain method calls.
21
- */
22
15
  on(event: EventType, handler: Handler): EventEmitter;
23
- /**
24
- * Remove an event listener from firing.
25
- * @param event - the event type you'd like to stop listening to.
26
- * @param handler - the function that should be removed.
27
- * @returns `this` to enable you to chain method calls.
28
- */
29
16
  off(event: EventType, handler: Handler): EventEmitter;
30
- /**
31
- * Remove an event listener.
32
- * @deprecated please use {@link EventEmitter.off} instead.
33
- */
34
- removeListener(event: EventType, handler: Handler): EventEmitter;
35
- /**
36
- * Add an event listener.
37
- * @deprecated please use {@link EventEmitter.on} instead.
38
- */
39
17
  addListener(event: EventType, handler: Handler): EventEmitter;
40
- /**
41
- * Emit an event and call any associated listeners.
42
- *
43
- * @param event - the event you'd like to emit
44
- * @param eventData - any data you'd like to emit with the event
45
- * @returns `true` if there are any listeners, `false` if there are not.
46
- */
47
18
  emit(event: EventType, eventData?: unknown): boolean;
48
- /**
49
- * Like `on` but the listener will only be fired once and then it will be removed.
50
- * @param event - the event you'd like to listen to
51
- * @param handler - the handler function to run when the event occurs
52
- * @returns `this` to enable you to chain method calls.
53
- */
54
19
  once(event: EventType, handler: Handler): EventEmitter;
55
- /**
56
- * Gets the number of listeners for a given event.
57
- *
58
- * @param event - the event to get the listener count for
59
- * @returns the number of listeners bound to the given event
60
- */
61
20
  listenerCount(event: EventType): number;
62
- /**
63
- * Removes all listeners. If given an event argument, it will remove only
64
- * listeners for that event.
65
- * @param event - the event to remove listeners for.
66
- * @returns `this` to enable you to chain method calls.
67
- */
68
21
  removeAllListeners(event?: EventType): EventEmitter;
69
22
  private eventListenersCount;
70
23
  }
@@ -10,59 +10,22 @@ class EventEmitter {
10
10
  this.eventsMap = new Map();
11
11
  this.emitter = (0, mitt_1.default)(this.eventsMap);
12
12
  }
13
- /**
14
- * Bind an event listener to fire when an event occurs.
15
- * @param event - the event type you'd like to listen to. Can be a string or symbol.
16
- * @param handler - the function to be called when the event occurs.
17
- * @returns `this` to enable you to chain method calls.
18
- */
19
13
  on(event, handler) {
20
14
  this.emitter.on(event, handler);
21
15
  return this;
22
16
  }
23
- /**
24
- * Remove an event listener from firing.
25
- * @param event - the event type you'd like to stop listening to.
26
- * @param handler - the function that should be removed.
27
- * @returns `this` to enable you to chain method calls.
28
- */
29
17
  off(event, handler) {
30
18
  this.emitter.off(event, handler);
31
19
  return this;
32
20
  }
33
- /**
34
- * Remove an event listener.
35
- * @deprecated please use {@link EventEmitter.off} instead.
36
- */
37
- removeListener(event, handler) {
38
- this.off(event, handler);
39
- return this;
40
- }
41
- /**
42
- * Add an event listener.
43
- * @deprecated please use {@link EventEmitter.on} instead.
44
- */
45
21
  addListener(event, handler) {
46
22
  this.on(event, handler);
47
23
  return this;
48
24
  }
49
- /**
50
- * Emit an event and call any associated listeners.
51
- *
52
- * @param event - the event you'd like to emit
53
- * @param eventData - any data you'd like to emit with the event
54
- * @returns `true` if there are any listeners, `false` if there are not.
55
- */
56
25
  emit(event, eventData) {
57
26
  this.emitter.emit(event, eventData);
58
27
  return this.eventListenersCount(event) > 0;
59
28
  }
60
- /**
61
- * Like `on` but the listener will only be fired once and then it will be removed.
62
- * @param event - the event you'd like to listen to
63
- * @param handler - the handler function to run when the event occurs
64
- * @returns `this` to enable you to chain method calls.
65
- */
66
29
  once(event, handler) {
67
30
  const onceHandler = (eventData) => {
68
31
  handler(eventData);
@@ -70,21 +33,9 @@ class EventEmitter {
70
33
  };
71
34
  return this.on(event, onceHandler);
72
35
  }
73
- /**
74
- * Gets the number of listeners for a given event.
75
- *
76
- * @param event - the event to get the listener count for
77
- * @returns the number of listeners bound to the given event
78
- */
79
36
  listenerCount(event) {
80
37
  return this.eventListenersCount(event);
81
38
  }
82
- /**
83
- * Removes all listeners. If given an event argument, it will remove only
84
- * listeners for that event.
85
- * @param event - the event to remove listeners for.
86
- * @returns `this` to enable you to chain method calls.
87
- */
88
39
  removeAllListeners(event) {
89
40
  if (event) {
90
41
  this.eventsMap.delete(event);
@@ -14,11 +14,12 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { Protocol } from 'devtools-protocol';
17
- import { CDPSession } from './Connection';
18
- import { DOMWorld } from './DOMWorld';
19
- import { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
20
- import { Frame } from './FrameManager';
21
- import { ElementHandle, JSHandle } from './JSHandle';
17
+ import type { CDPSession } from './Connection';
18
+ import type { DOMWorld } from './DOMWorld';
19
+ import type { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
20
+ import type { Frame } from './FrameManager';
21
+ import type { ElementHandle } from './JSHandle';
22
+ import { JSHandle } from './JSHandle';
22
23
  export declare const EVALUATION_SCRIPT_URL = "pptr://__puppeteer_evaluation_script__";
23
24
  export declare class ExecutionContext {
24
25
  #private;
@@ -14,17 +14,17 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { Protocol } from 'devtools-protocol';
17
- import { CDPSession } from './Connection';
17
+ import type { CDPSession } from './Connection';
18
18
  import { DOMWorld } from './DOMWorld';
19
- import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
19
+ import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
20
20
  import { EventEmitter } from './EventEmitter';
21
21
  import { ExecutionContext } from './ExecutionContext';
22
- import { HTTPResponse } from './HTTPResponse';
23
- import { JSHandle } from './JSHandle';
24
- import { PuppeteerLifeCycleEvent } from './LifecycleWatcher';
22
+ import type { HTTPResponse } from './HTTPResponse';
23
+ import type { JSHandle } from './JSHandle';
24
+ import type { PuppeteerLifeCycleEvent } from './LifecycleWatcher';
25
25
  import { NetworkManager } from './NetworkManager';
26
- import { Page } from './Page';
27
- import { TimeoutSettings } from './TimeoutSettings';
26
+ import type { Page } from './Page';
27
+ import type { TimeoutSettings } from './TimeoutSettings';
28
28
  export declare const FrameManagerEmittedEvents: {
29
29
  FrameNavigated: symbol;
30
30
  FrameDetached: symbol;
@@ -45,7 +45,7 @@ export declare class FrameManager extends EventEmitter {
45
45
  navigateFrame(frame: Frame, url: string, options?: {
46
46
  referer?: string;
47
47
  timeout?: number;
48
- waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
48
+ waitUntil?: PuppeteerLifeCycleEvent;
49
49
  }): Promise<HTTPResponse | null>;
50
50
  page(): Page;
51
51
  mainFrame(): Frame;
@@ -71,7 +71,7 @@ export declare class Frame {
71
71
  goto(url: string, options?: {
72
72
  referer?: string;
73
73
  timeout?: number;
74
- waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
74
+ waitUntil?: PuppeteerLifeCycleEvent;
75
75
  }): Promise<HTTPResponse | null>;
76
76
  _client(): CDPSession;
77
77
  /**
@@ -80,13 +80,9 @@ export declare class Frame {
80
80
  executionContext(): Promise<ExecutionContext>;
81
81
  evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType>;
82
82
  evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>>;
83
- name(): string;
84
83
  url(): string;
85
- parentFrame(): Frame | null;
86
84
  childFrames(): Frame[];
87
- isDetached(): boolean;
88
85
  waitForFunction(pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
89
- title(): Promise<string>;
90
86
  _navigated(framePayload: Protocol.Page.Frame): void;
91
87
  _navigatedWithinDocument(url: string): void;
92
88
  _onLifecycleEvent(loaderId: string, name: string): void;