@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,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 _FrameManager_instances, _FrameManager_page, _FrameManager_networkManager, _FrameManager_timeoutSettings, _FrameManager_frames, _FrameManager_contextIdToContext, _FrameManager_isolatedWorlds, _FrameManager_mainFrame, _FrameManager_client, _FrameManager_onAttachedToTarget, _FrameManager_onDetachedFromTarget, _FrameManager_onLifecycleEvent, _FrameManager_onFrameStartedLoading, _FrameManager_onFrameStoppedLoading, _FrameManager_handleFrameTree, _FrameManager_onFrameAttached, _FrameManager_onFrameNavigated, _FrameManager_onFrameNavigatedWithinDocument, _FrameManager_onFrameDetached, _FrameManager_onExecutionContextCreated, _FrameManager_onExecutionContextDestroyed, _FrameManager_onExecutionContextsCleared, _FrameManager_removeFramesRecursively, _Frame_parentFrame, _Frame_url, _Frame_detached, _Frame_client;
28
+ var _FrameManager_instances, _FrameManager_page, _FrameManager_networkManager, _FrameManager_timeoutSettings, _FrameManager_frames, _FrameManager_contextIdToContext, _FrameManager_isolatedWorlds, _FrameManager_mainFrame, _FrameManager_client, _FrameManager_onAttachedToTarget, _FrameManager_onDetachedFromTarget, _FrameManager_onLifecycleEvent, _FrameManager_onFrameStartedLoading, _FrameManager_onFrameStoppedLoading, _FrameManager_handleFrameTree, _FrameManager_onFrameAttached, _FrameManager_onFrameNavigated, _FrameManager_onFrameNavigatedWithinDocument, _FrameManager_onFrameDetached, _FrameManager_onExecutionContextCreated, _FrameManager_onExecutionContextDestroyed, _FrameManager_onExecutionContextsCleared, _FrameManager_removeFramesRecursively, _Frame_parentFrame, _Frame_url, _Frame_client;
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.Frame = exports.FrameManager = exports.FrameManagerEmittedEvents = void 0;
31
31
  const assert_1 = require("./assert");
@@ -147,7 +147,7 @@ class FrameManager extends EventEmitter_1.EventEmitter {
147
147
  return __classPrivateFieldGet(this, _FrameManager_networkManager, "f");
148
148
  }
149
149
  async navigateFrame(frame, url, options = {}) {
150
- const { referer = __classPrivateFieldGet(this, _FrameManager_networkManager, "f").extraHTTPHeaders().referer, waitUntil = ['load'], timeout = __classPrivateFieldGet(this, _FrameManager_timeoutSettings, "f").navigationTimeout(), } = options;
150
+ const { referer = undefined, waitUntil = 'load', timeout = __classPrivateFieldGet(this, _FrameManager_timeoutSettings, "f").navigationTimeout(), } = options;
151
151
  const watcher = new LifecycleWatcher_1.LifecycleWatcher(this, frame, waitUntil, timeout);
152
152
  let error = await Promise.race([
153
153
  navigate(__classPrivateFieldGet(this, _FrameManager_client, "f"), url, referer, frame._id),
@@ -413,7 +413,6 @@ class Frame {
413
413
  constructor(frameManager, parentFrame, frameId, client) {
414
414
  _Frame_parentFrame.set(this, void 0);
415
415
  _Frame_url.set(this, '');
416
- _Frame_detached.set(this, false);
417
416
  _Frame_client.set(this, void 0);
418
417
  this._loaderId = '';
419
418
  this._hasStartedLoading = false;
@@ -422,7 +421,6 @@ class Frame {
422
421
  __classPrivateFieldSet(this, _Frame_parentFrame, parentFrame !== null && parentFrame !== void 0 ? parentFrame : null, "f");
423
422
  __classPrivateFieldSet(this, _Frame_url, '', "f");
424
423
  this._id = frameId;
425
- __classPrivateFieldSet(this, _Frame_detached, false, "f");
426
424
  this._loaderId = '';
427
425
  this._childFrames = new Set();
428
426
  if (__classPrivateFieldGet(this, _Frame_parentFrame, "f")) {
@@ -456,27 +454,15 @@ class Frame {
456
454
  evaluate(pageFunction, ...args) {
457
455
  return this._mainWorld.evaluate(pageFunction, ...args);
458
456
  }
459
- name() {
460
- return this._name || '';
461
- }
462
457
  url() {
463
458
  return __classPrivateFieldGet(this, _Frame_url, "f");
464
459
  }
465
- parentFrame() {
466
- return __classPrivateFieldGet(this, _Frame_parentFrame, "f");
467
- }
468
460
  childFrames() {
469
461
  return Array.from(this._childFrames);
470
462
  }
471
- isDetached() {
472
- return __classPrivateFieldGet(this, _Frame_detached, "f");
473
- }
474
463
  waitForFunction(pageFunction, ...args) {
475
464
  return this._mainWorld.waitForFunction(pageFunction, ...args);
476
465
  }
477
- title() {
478
- return this._secondaryWorld.title();
479
- }
480
466
  _navigated(framePayload) {
481
467
  this._name = framePayload.name;
482
468
  __classPrivateFieldSet(this, _Frame_url, `${framePayload.url}${framePayload.urlFragment || ''}`, "f");
@@ -492,14 +478,12 @@ class Frame {
492
478
  this._lifecycleEvents.add(name);
493
479
  }
494
480
  _onLoadingStopped() {
495
- this._lifecycleEvents.add('DOMContentLoaded');
496
481
  this._lifecycleEvents.add('load');
497
482
  }
498
483
  _onLoadingStarted() {
499
484
  this._hasStartedLoading = true;
500
485
  }
501
486
  _detach() {
502
- __classPrivateFieldSet(this, _Frame_detached, true, "f");
503
487
  this._mainWorld._detach();
504
488
  this._secondaryWorld._detach();
505
489
  if (__classPrivateFieldGet(this, _Frame_parentFrame, "f")) {
@@ -509,4 +493,4 @@ class Frame {
509
493
  }
510
494
  }
511
495
  exports.Frame = Frame;
512
- _Frame_parentFrame = new WeakMap(), _Frame_url = new WeakMap(), _Frame_detached = new WeakMap(), _Frame_client = new WeakMap();
496
+ _Frame_parentFrame = new WeakMap(), _Frame_url = new WeakMap(), _Frame_client = new WeakMap();
@@ -14,8 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { Protocol } from 'devtools-protocol';
17
- import { Frame } from './FrameManager';
18
- import { HTTPResponse } from './HTTPResponse';
17
+ import type { Frame } from './FrameManager';
18
+ import type { HTTPResponse } from './HTTPResponse';
19
19
  export declare class HTTPRequest {
20
20
  #private;
21
21
  _requestId: string;
@@ -17,6 +17,5 @@ import type { Protocol } from 'devtools-protocol';
17
17
  export declare class HTTPResponse {
18
18
  #private;
19
19
  constructor(responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null);
20
- _resolveBody(err: Error | null): void;
21
20
  status(): number;
22
21
  }
@@ -10,24 +10,17 @@ 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 _HTTPResponse_bodyLoadedPromiseFulfill, _HTTPResponse_status;
13
+ var _HTTPResponse_status;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.HTTPResponse = void 0;
16
16
  class HTTPResponse {
17
17
  constructor(responsePayload, extraInfo) {
18
- _HTTPResponse_bodyLoadedPromiseFulfill.set(this, () => undefined);
19
18
  _HTTPResponse_status.set(this, void 0);
20
19
  __classPrivateFieldSet(this, _HTTPResponse_status, extraInfo ? extraInfo.statusCode : responsePayload.status, "f");
21
20
  }
22
- _resolveBody(err) {
23
- if (err) {
24
- return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedPromiseFulfill, "f").call(this, err);
25
- }
26
- return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedPromiseFulfill, "f").call(this);
27
- }
28
21
  status() {
29
22
  return __classPrivateFieldGet(this, _HTTPResponse_status, "f");
30
23
  }
31
24
  }
32
25
  exports.HTTPResponse = HTTPResponse;
33
- _HTTPResponse_bodyLoadedPromiseFulfill = new WeakMap(), _HTTPResponse_status = new WeakMap();
26
+ _HTTPResponse_status = new WeakMap();
@@ -14,13 +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 { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
19
- import { ExecutionContext } from './ExecutionContext';
17
+ import type { CDPSession } from './Connection';
18
+ import type { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
19
+ import type { ExecutionContext } from './ExecutionContext';
20
20
  export declare function _createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle;
21
21
  export declare class JSHandle {
22
22
  #private;
23
- get _client(): CDPSession;
24
23
  get _disposed(): boolean;
25
24
  get _remoteObject(): Protocol.Runtime.RemoteObject;
26
25
  get _context(): ExecutionContext;
@@ -47,9 +47,6 @@ class JSHandle {
47
47
  __classPrivateFieldSet(this, _JSHandle_client, client, "f");
48
48
  __classPrivateFieldSet(this, _JSHandle_remoteObject, remoteObject, "f");
49
49
  }
50
- get _client() {
51
- return __classPrivateFieldGet(this, _JSHandle_client, "f");
52
- }
53
50
  get _disposed() {
54
51
  return __classPrivateFieldGet(this, _JSHandle_disposed, "f");
55
52
  }
@@ -13,105 +13,26 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { BrowserConnectOptions } from './BrowserConnector';
17
- import { Product } from './Product';
16
+ import type { BrowserConnectOptions } from './BrowserConnector';
17
+ import type { Product } from './Product';
18
18
  export interface BrowserLaunchArgumentOptions {
19
- /**
20
- * Whether to run the browser in headless mode.
21
- * @defaultValue true
22
- */
23
19
  headless?: boolean | 'chrome';
24
- /**
25
- * Path to a user data directory.
26
- * {@link https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/user_data_dir.md | see the Chromium docs}
27
- * for more info.
28
- */
29
20
  userDataDir?: string;
30
- /**
31
- * Whether to auto-open a DevTools panel for each tab. If this is set to
32
- * `true`, then `headless` will be forced to `false`.
33
- * @defaultValue `false`
34
- */
35
21
  devtools?: boolean;
36
- /**
37
- *
38
- */
39
22
  debuggingPort?: number;
40
- /**
41
- * Additional command line arguments to pass to the browser instance.
42
- */
43
23
  args: string[];
44
24
  }
45
25
  export declare type ChromeReleaseChannel = 'chrome' | 'chrome-beta' | 'chrome-canary' | 'chrome-dev';
46
26
  export interface LaunchOptions {
47
- /**
48
- * Chrome Release Channel
49
- */
50
- channel?: ChromeReleaseChannel;
51
- /**
52
- * Path to a browser executable to use instead of the bundled Chromium. Note
53
- * that Puppeteer is only guaranteed to work with the bundled Chromium, so use
54
- * this setting at your own risk.
55
- */
56
27
  executablePath?: string;
57
- /**
58
- * If `true`, do not use `puppeteer.defaultArgs()` when creating a browser. If
59
- * an array is provided, these args will be filtered out. Use this with care -
60
- * you probably want the default arguments Puppeteer uses.
61
- * @defaultValue false
62
- */
63
- ignoreDefaultArgs?: boolean | string[];
64
- /**
65
- * Close the browser process on `Ctrl+C`.
66
- * @defaultValue `true`
67
- */
68
28
  handleSIGINT?: boolean;
69
- /**
70
- * Close the browser process on `SIGTERM`.
71
- * @defaultValue `true`
72
- */
73
29
  handleSIGTERM?: boolean;
74
- /**
75
- * Close the browser process on `SIGHUP`.
76
- * @defaultValue `true`
77
- */
78
30
  handleSIGHUP?: boolean;
79
- /**
80
- * Maximum time in milliseconds to wait for the browser to start.
81
- * Pass `0` to disable the timeout.
82
- * @defaultValue 30000 (30 seconds).
83
- */
84
31
  timeout?: number;
85
- /**
86
- * If true, pipes the browser process stdout and stderr to `process.stdout`
87
- * and `process.stderr`.
88
- * @defaultValue false
89
- */
90
32
  dumpio?: boolean;
91
- /**
92
- * Specify environment variables that will be visible to the browser.
93
- * @defaultValue The contents of `process.env`.
94
- */
95
33
  env?: Record<string, string | undefined>;
96
- /**
97
- * Connect to a browser over a pipe instead of a WebSocket.
98
- * @defaultValue false
99
- */
100
34
  pipe?: boolean;
101
- /**
102
- * Which browser to launch.
103
- * @defaultValue `chrome`
104
- */
105
35
  product?: Product;
106
- /**
107
- * {@link https://searchfox.org/mozilla-release/source/modules/libpref/init/all.js | Additional preferences } that can be passed when launching with Firefox.
108
- */
109
36
  extraPrefsFirefox?: Record<string, unknown>;
110
- /**
111
- * Whether to wait for the initial page to be ready.
112
- * Useful when a user explicitly disables that (e.g. `--no-startup-window` for Chrome).
113
- * @defaultValue true
114
- */
115
- waitForInitialPage?: boolean;
116
37
  }
117
38
  export declare type PuppeteerNodeLaunchOptions = BrowserLaunchArgumentOptions & LaunchOptions & BrowserConnectOptions;
@@ -1,6 +1,6 @@
1
1
  import { Browser } from './Browser';
2
- import { PuppeteerNodeLaunchOptions } from './LaunchOptions';
3
- import { Product } from './Product';
2
+ import type { PuppeteerNodeLaunchOptions } from './LaunchOptions';
3
+ import type { Product } from './Product';
4
4
  export interface ProductLauncher {
5
5
  launch(object: PuppeteerNodeLaunchOptions): Promise<Browser>;
6
6
  executablePath: (path?: any) => string;
@@ -56,7 +56,7 @@ class ChromeLauncher {
56
56
  this._preferredRevision = preferredRevision;
57
57
  }
58
58
  async launch(options) {
59
- const { args = [], dumpio = false, channel, executablePath, pipe = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, defaultViewport, timeout = 30000, waitForInitialPage = true, debuggingPort, } = options;
59
+ const { args = [], dumpio = false, executablePath, pipe = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, defaultViewport, timeout = 30000, debuggingPort, } = options;
60
60
  const chromeArguments = args;
61
61
  if (!chromeArguments.some((argument) => {
62
62
  return argument.startsWith('--remote-debugging-');
@@ -83,12 +83,7 @@ class ChromeLauncher {
83
83
  (0, assert_1.assert)(typeof userDataDir === 'string', '`--user-data-dir` is malformed');
84
84
  isTempUserDataDir = false;
85
85
  let chromeExecutable = executablePath;
86
- if (channel) {
87
- // executablePath is detected by channel, so it should not be specified by user.
88
- (0, assert_1.assert)(!chromeExecutable, '`executablePath` must not be specified when `channel` is given.');
89
- chromeExecutable = executablePathForChannel(channel);
90
- }
91
- else if (!chromeExecutable) {
86
+ if (!chromeExecutable) {
92
87
  const { missingText, executablePath: exPath } = resolveExecutablePath(this);
93
88
  if (missingText) {
94
89
  throw new Error(missingText);
@@ -120,7 +115,6 @@ class ChromeLauncher {
120
115
  connection,
121
116
  contextIds: [],
122
117
  defaultViewport,
123
- process: runner.proc,
124
118
  closeCallback: runner.close.bind(runner),
125
119
  });
126
120
  }
@@ -128,23 +122,18 @@ class ChromeLauncher {
128
122
  runner.kill();
129
123
  throw error;
130
124
  }
131
- if (waitForInitialPage) {
132
- try {
133
- await browser.waitForTarget((t) => {
134
- return t.type() === 'page';
135
- }, { timeout });
136
- }
137
- catch (error) {
138
- await browser.close();
139
- throw error;
140
- }
125
+ try {
126
+ await browser.waitForTarget((t) => {
127
+ return t.type() === 'page';
128
+ }, { timeout });
129
+ }
130
+ catch (error) {
131
+ await browser.close();
132
+ throw error;
141
133
  }
142
134
  return browser;
143
135
  }
144
- executablePath(channel) {
145
- if (channel) {
146
- return executablePathForChannel(channel);
147
- }
136
+ executablePath() {
148
137
  const results = resolveExecutablePath(this);
149
138
  return results.executablePath;
150
139
  }
@@ -157,19 +146,9 @@ class FirefoxLauncher {
157
146
  this._preferredRevision = preferredRevision;
158
147
  }
159
148
  async launch(options) {
160
- const { ignoreDefaultArgs = false, args = [], dumpio = false, executablePath = null, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, defaultViewport, timeout = 30000, extraPrefsFirefox = {}, waitForInitialPage = true, debuggingPort = null, } = options;
149
+ const { dumpio = false, executablePath = null, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, defaultViewport, timeout = 30000, extraPrefsFirefox = {}, debuggingPort = null, } = options;
161
150
  const firefoxArguments = [];
162
- if (!ignoreDefaultArgs) {
163
- firefoxArguments.push(...this.defaultArgs(options));
164
- }
165
- else if (Array.isArray(ignoreDefaultArgs)) {
166
- firefoxArguments.push(...this.defaultArgs(options).filter((arg) => {
167
- return !ignoreDefaultArgs.includes(arg);
168
- }));
169
- }
170
- else {
171
- firefoxArguments.push(...args);
172
- }
151
+ firefoxArguments.push(...this.defaultArgs(options));
173
152
  if (!firefoxArguments.some((argument) => {
174
153
  return argument.startsWith('--remote-debugging-');
175
154
  })) {
@@ -234,7 +213,6 @@ class FirefoxLauncher {
234
213
  connection,
235
214
  contextIds: [],
236
215
  defaultViewport,
237
- process: runner.proc,
238
216
  closeCallback: runner.close.bind(runner),
239
217
  });
240
218
  }
@@ -242,16 +220,14 @@ class FirefoxLauncher {
242
220
  runner.kill();
243
221
  throw error;
244
222
  }
245
- if (waitForInitialPage) {
246
- try {
247
- await browser.waitForTarget((t) => {
248
- return t.type() === 'page';
249
- }, { timeout });
250
- }
251
- catch (error) {
252
- await browser.close();
253
- throw error;
254
- }
223
+ try {
224
+ await browser.waitForTarget((t) => {
225
+ return t.type() === 'page';
226
+ }, { timeout });
227
+ }
228
+ catch (error) {
229
+ await browser.close();
230
+ throw error;
255
231
  }
256
232
  return browser;
257
233
  }
@@ -494,80 +470,6 @@ class FirefoxLauncher {
494
470
  return temporaryProfilePath;
495
471
  }
496
472
  }
497
- function executablePathForChannel(channel) {
498
- const platform = os.platform();
499
- let chromePath;
500
- switch (platform) {
501
- case 'win32':
502
- switch (channel) {
503
- case 'chrome':
504
- chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome\\Application\\chrome.exe`;
505
- break;
506
- case 'chrome-beta':
507
- chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome Beta\\Application\\chrome.exe`;
508
- break;
509
- case 'chrome-canary':
510
- chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome SxS\\Application\\chrome.exe`;
511
- break;
512
- case 'chrome-dev':
513
- chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome Dev\\Application\\chrome.exe`;
514
- break;
515
- default:
516
- throw new Error('unknown chrome release channel');
517
- }
518
- break;
519
- case 'darwin':
520
- switch (channel) {
521
- case 'chrome':
522
- chromePath =
523
- '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
524
- break;
525
- case 'chrome-beta':
526
- chromePath =
527
- '/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta';
528
- break;
529
- case 'chrome-canary':
530
- chromePath =
531
- '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary';
532
- break;
533
- case 'chrome-dev':
534
- chromePath =
535
- '/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev';
536
- break;
537
- default:
538
- throw new Error('unknown chrome release channel');
539
- }
540
- break;
541
- case 'linux':
542
- switch (channel) {
543
- case 'chrome':
544
- chromePath = '/opt/google/chrome/chrome';
545
- break;
546
- case 'chrome-beta':
547
- chromePath = '/opt/google/chrome-beta/chrome';
548
- break;
549
- case 'chrome-dev':
550
- chromePath = '/opt/google/chrome-unstable/chrome';
551
- break;
552
- default:
553
- throw new Error('unknown chrome release channel');
554
- }
555
- break;
556
- default:
557
- throw new Error('unknown OS');
558
- }
559
- if (!chromePath) {
560
- throw new Error(`Unable to detect browser executable path for '${channel}' on ${platform}.`);
561
- }
562
- // Check if Chrome exists and is accessible.
563
- try {
564
- fs.accessSync(chromePath);
565
- }
566
- catch (error) {
567
- throw new Error(`Could not find Google Chrome executable for channel '${channel}' at '${chromePath}'.`);
568
- }
569
- return chromePath;
570
- }
571
473
  function resolveExecutablePath(launcher) {
572
474
  const { product, _preferredRevision } = launcher;
573
475
  const browserFetcher = new BrowserFetcher_1.BrowserFetcher({
@@ -14,12 +14,12 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { TimeoutError } from './Errors';
17
- import { Frame, FrameManager } from './FrameManager';
18
- import { HTTPResponse } from './HTTPResponse';
19
- export declare type PuppeteerLifeCycleEvent = 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2';
17
+ import type { Frame, FrameManager } from './FrameManager';
18
+ import type { HTTPResponse } from './HTTPResponse';
19
+ export declare type PuppeteerLifeCycleEvent = 'load';
20
20
  export declare class LifecycleWatcher {
21
21
  #private;
22
- constructor(frameManager: FrameManager, frame: Frame, waitUntil: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[], timeout: number);
22
+ constructor(frameManager: FrameManager, frame: Frame, waitUntil: PuppeteerLifeCycleEvent, timeout: number);
23
23
  navigationResponse(): HTTPResponse | null;
24
24
  sameDocumentNavigationPromise(): Promise<Error | undefined>;
25
25
  newDocumentNavigationPromise(): Promise<Error | undefined>;
@@ -34,12 +34,7 @@ const Errors_1 = require("./Errors");
34
34
  const FrameManager_1 = require("./FrameManager");
35
35
  const NetworkManager_1 = require("./NetworkManager");
36
36
  const util_1 = require("./util");
37
- const puppeteerToProtocolLifecycle = new Map([
38
- ['load', 'load'],
39
- ['domcontentloaded', 'DOMContentLoaded'],
40
- ['networkidle0', 'networkIdle'],
41
- ['networkidle2', 'networkAlmostIdle'],
42
- ]);
37
+ const puppeteerToProtocolLifecycle = new Map([['load', 'load']]);
43
38
  const noop = () => undefined;
44
39
  class LifecycleWatcher {
45
40
  constructor(frameManager, frame, waitUntil, timeout) {
@@ -71,17 +66,9 @@ class LifecycleWatcher {
71
66
  _LifecycleWatcher_hasSameDocumentNavigation.set(this, void 0);
72
67
  _LifecycleWatcher_newDocumentNavigation.set(this, void 0);
73
68
  _LifecycleWatcher_swapped.set(this, void 0);
74
- if (Array.isArray(waitUntil)) {
75
- waitUntil = waitUntil.slice();
76
- }
77
- else if (typeof waitUntil === 'string') {
78
- waitUntil = [waitUntil];
79
- }
80
- __classPrivateFieldSet(this, _LifecycleWatcher_expectedLifecycle, waitUntil.map((value) => {
81
- const protocolEvent = puppeteerToProtocolLifecycle.get(value);
82
- (0, assert_1.assert)(protocolEvent, 'Unknown value for options.waitUntil: ' + value);
83
- return protocolEvent;
84
- }), "f");
69
+ const protocolEvent = puppeteerToProtocolLifecycle.get(waitUntil);
70
+ (0, assert_1.assert)(protocolEvent, 'Unknown value for options.waitUntil: ' + waitUntil);
71
+ __classPrivateFieldSet(this, _LifecycleWatcher_expectedLifecycle, [waitUntil], "f");
85
72
  __classPrivateFieldSet(this, _LifecycleWatcher_frameManager, frameManager, "f");
86
73
  __classPrivateFieldSet(this, _LifecycleWatcher_frame, frame, "f");
87
74
  __classPrivateFieldSet(this, _LifecycleWatcher_timeout, timeout, "f");
@@ -1,5 +1,5 @@
1
1
  import type { Protocol } from 'devtools-protocol';
2
- import { HTTPRequest } from './HTTPRequest';
2
+ import type { HTTPRequest } from './HTTPRequest';
3
3
  declare type QueuedEventGroup = {
4
4
  responseReceivedEvent: Protocol.Network.ResponseReceivedEvent;
5
5
  loadingFinishedEvent?: Protocol.Network.LoadingFinishedEvent;
@@ -22,8 +22,6 @@ export declare class NetworkEventManager {
22
22
  storeRequestWillBeSent(networkRequestId: NetworkRequestId, event: Protocol.Network.RequestWillBeSentEvent): void;
23
23
  getRequestWillBeSent(networkRequestId: NetworkRequestId): Protocol.Network.RequestWillBeSentEvent | undefined;
24
24
  forgetRequestWillBeSent(networkRequestId: NetworkRequestId): void;
25
- getRequestPaused(networkRequestId: NetworkRequestId): Protocol.Fetch.RequestPausedEvent | undefined;
26
- forgetRequestPaused(networkRequestId: NetworkRequestId): void;
27
25
  storeRequestPaused(networkRequestId: NetworkRequestId, event: Protocol.Fetch.RequestPausedEvent): void;
28
26
  getRequest(networkRequestId: NetworkRequestId): HTTPRequest | undefined;
29
27
  storeRequest(networkRequestId: NetworkRequestId, request: HTTPRequest): void;
@@ -9,50 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.NetworkEventManager = void 0;
10
10
  class NetworkEventManager {
11
11
  constructor() {
12
- /*
13
- * There are four possible orders of events:
14
- * A. `_onRequestWillBeSent`
15
- * B. `_onRequestWillBeSent`, `_onRequestPaused`
16
- * C. `_onRequestPaused`, `_onRequestWillBeSent`
17
- * D. `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
18
- * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`
19
- * (see crbug.com/1196004)
20
- *
21
- * For `_onRequest` we need the event from `_onRequestWillBeSent` and
22
- * optionally the `interceptionId` from `_onRequestPaused`.
23
- *
24
- * If request interception is disabled, call `_onRequest` once per call to
25
- * `_onRequestWillBeSent`.
26
- * If request interception is enabled, call `_onRequest` once per call to
27
- * `_onRequestPaused` (once per `interceptionId`).
28
- *
29
- * Events are stored to allow for subsequent events to call `_onRequest`.
30
- *
31
- * Note that (chains of) redirect requests have the same `requestId` (!) as
32
- * the original request. We have to anticipate series of events like these:
33
- * A. `_onRequestWillBeSent`,
34
- * `_onRequestWillBeSent`, ...
35
- * B. `_onRequestWillBeSent`, `_onRequestPaused`,
36
- * `_onRequestWillBeSent`, `_onRequestPaused`, ...
37
- * C. `_onRequestWillBeSent`, `_onRequestPaused`,
38
- * `_onRequestPaused`, `_onRequestWillBeSent`, ...
39
- * D. `_onRequestPaused`, `_onRequestWillBeSent`,
40
- * `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
41
- * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`, ...
42
- * (see crbug.com/1196004)
43
- */
44
12
  _NetworkEventManager_requestWillBeSentMap.set(this, new Map());
45
13
  _NetworkEventManager_requestPausedMap.set(this, new Map());
46
14
  _NetworkEventManager_httpRequestsMap.set(this, new Map());
47
- /*
48
- * The below maps are used to reconcile Network.responseReceivedExtraInfo
49
- * events with their corresponding request. Each response and redirect
50
- * response gets an ExtraInfo event, and we don't know which will come first.
51
- * This means that we have to store a Response or an ExtraInfo for each
52
- * response, and emit the event when we get both of them. In addition, to
53
- * handle redirects, we have to make them Arrays to represent the chain of
54
- * events.
55
- */
56
15
  _NetworkEventManager_responseReceivedExtraInfoMap.set(this, new Map());
57
16
  _NetworkEventManager_queuedRedirectInfoMap.set(this, new Map());
58
17
  _NetworkEventManager_queuedEventGroupMap.set(this, new Map());
@@ -96,12 +55,6 @@ class NetworkEventManager {
96
55
  forgetRequestWillBeSent(networkRequestId) {
97
56
  __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").delete(networkRequestId);
98
57
  }
99
- getRequestPaused(networkRequestId) {
100
- return __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").get(networkRequestId);
101
- }
102
- forgetRequestPaused(networkRequestId) {
103
- __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").delete(networkRequestId);
104
- }
105
58
  storeRequestPaused(networkRequestId, event) {
106
59
  __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").set(networkRequestId, event);
107
60
  }
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping';
17
17
  import { EventEmitter } from './EventEmitter';
18
- import { Frame } from './FrameManager';
18
+ import type { Frame } from './FrameManager';
19
19
  export declare const NetworkManagerEmittedEvents: {
20
20
  readonly Request: symbol;
21
21
  };
@@ -29,8 +29,6 @@ export declare class NetworkManager extends EventEmitter {
29
29
  #private;
30
30
  constructor(client: CDPSession, frameManager: FrameManager);
31
31
  initialize(): Promise<void>;
32
- setExtraHTTPHeaders(extraHTTPHeaders: Record<string, string>): Promise<void>;
33
- extraHTTPHeaders(): Record<string, string>;
34
32
  numRequestsInProgress(): number;
35
33
  }
36
34
  export {};