@remotion/renderer 4.0.405 → 4.0.407

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 (181) hide show
  1. package/dist/assets/apply-tone-frequency.d.ts +1 -2
  2. package/dist/assets/convert-assets-to-file-urls.d.ts +1 -2
  3. package/dist/assets/download-and-map-assets-to-file.d.ts +2 -3
  4. package/dist/assets/download-and-map-assets-to-file.js +1 -0
  5. package/dist/assets/download-file.d.ts +1 -0
  6. package/dist/assets/download-file.js +16 -1
  7. package/dist/assets/download-map.d.ts +1 -0
  8. package/dist/assets/download-map.js +2 -0
  9. package/dist/assets/get-audio-channels.d.ts +2 -3
  10. package/dist/assets/inline-audio-mixing.d.ts +1 -2
  11. package/dist/browser/Browser.d.ts +5 -5
  12. package/dist/browser/Browser.js +65 -74
  13. package/dist/browser/BrowserFetcher.d.ts +3 -5
  14. package/dist/browser/BrowserFetcher.js +1 -0
  15. package/dist/browser/BrowserPage.d.ts +4 -4
  16. package/dist/browser/BrowserPage.js +223 -218
  17. package/dist/browser/BrowserRunner.d.ts +1 -2
  18. package/dist/browser/Connection.js +99 -112
  19. package/dist/browser/ConsoleMessage.d.ts +1 -1
  20. package/dist/browser/ConsoleMessage.js +9 -16
  21. package/dist/browser/DOMWorld.d.ts +1 -1
  22. package/dist/browser/DOMWorld.js +75 -89
  23. package/dist/browser/Errors.js +2 -4
  24. package/dist/browser/EventEmitter.js +2 -1
  25. package/dist/browser/ExecutionContext.js +117 -120
  26. package/dist/browser/FrameManager.js +249 -244
  27. package/dist/browser/HTTPRequest.js +11 -22
  28. package/dist/browser/HTTPResponse.js +3 -16
  29. package/dist/browser/JSHandle.js +17 -30
  30. package/dist/browser/LifecycleWatcher.js +122 -128
  31. package/dist/browser/NetworkEventManager.js +31 -40
  32. package/dist/browser/NetworkManager.js +210 -203
  33. package/dist/browser/NodeWebSocketTransport.js +3 -0
  34. package/dist/browser/Target.d.ts +1 -1
  35. package/dist/browser/Target.js +32 -39
  36. package/dist/browser/TaskQueue.js +5 -18
  37. package/dist/browser/TimeoutSettings.js +12 -25
  38. package/dist/browser/browser-download-progress-bar.d.ts +1 -2
  39. package/dist/browser/handle-failed-resource.d.ts +1 -2
  40. package/dist/browser/handle-failed-resource.js +4 -3
  41. package/dist/call-ffmpeg.d.ts +4 -5
  42. package/dist/can-concat-seamlessly.d.ts +2 -4
  43. package/dist/can-use-parallel-encoding.d.ts +1 -2
  44. package/dist/check-version-requirements.d.ts +1 -2
  45. package/dist/client.d.ts +181 -181
  46. package/dist/codec-supports-media.d.ts +3 -4
  47. package/dist/collect-assets.d.ts +1 -1
  48. package/dist/combine-audio.d.ts +2 -4
  49. package/dist/combine-chunks.d.ts +1 -2
  50. package/dist/combine-video-streams.d.ts +2 -4
  51. package/dist/compositor/compositor.d.ts +2 -3
  52. package/dist/compositor/get-executable-path.d.ts +3 -3
  53. package/dist/compress-audio.d.ts +2 -4
  54. package/dist/create-audio.d.ts +2 -4
  55. package/dist/create-silent-audio.d.ts +1 -2
  56. package/dist/crf.d.ts +4 -6
  57. package/dist/cycle-browser-tabs.d.ts +1 -2
  58. package/dist/ensure-browser.d.ts +44 -1
  59. package/dist/error-handling/handle-javascript-exception.d.ts +1 -1
  60. package/dist/error-handling/handle-javascript-exception.js +7 -1
  61. package/dist/error-handling/symbolicateable-error.d.ts +1 -1
  62. package/dist/error-handling/symbolicateable-error.js +4 -0
  63. package/dist/error-handling.js +1 -1
  64. package/dist/esm/client.mjs +7 -2
  65. package/dist/esm/index.mjs +28 -4
  66. package/dist/extract-audio.d.ts +2 -3
  67. package/dist/ffmpeg-args.d.ts +6 -12
  68. package/dist/get-browser-instance.d.ts +4 -6
  69. package/dist/get-codec-name.d.ts +3 -6
  70. package/dist/get-compositions.d.ts +1 -1
  71. package/dist/get-concurrency.d.ts +1 -1
  72. package/dist/get-extension-from-codec.d.ts +2 -3
  73. package/dist/get-frame-padded-index.d.ts +1 -2
  74. package/dist/get-local-browser-executable.d.ts +2 -4
  75. package/dist/get-prores-profile-name.d.ts +1 -3
  76. package/dist/get-silent-parts.d.ts +4 -5
  77. package/dist/get-video-metadata.d.ts +3 -4
  78. package/dist/get-video-threads-flag.d.ts +1 -2
  79. package/dist/goto-page-or-throw.d.ts +1 -1
  80. package/dist/guess-extension-for-media.d.ts +2 -3
  81. package/dist/image-format.d.ts +2 -3
  82. package/dist/index.d.ts +173 -172
  83. package/dist/index.js +16 -16
  84. package/dist/is-audio-codec.d.ts +1 -2
  85. package/dist/log-level.d.ts +1 -1
  86. package/dist/logger.d.ts +6 -6
  87. package/dist/make-page.d.ts +2 -4
  88. package/dist/memory/from-proc-meminfo.d.ts +1 -2
  89. package/dist/memory/get-available-memory.d.ts +1 -2
  90. package/dist/mime-types.js +2 -1
  91. package/dist/mux-video-and-audio.d.ts +2 -3
  92. package/dist/offthread-video-server.d.ts +1 -2
  93. package/dist/offthread-video-server.js +4 -6
  94. package/dist/open-browser.d.ts +1 -1
  95. package/dist/open-browser.js +6 -5
  96. package/dist/options/api-key.js +3 -1
  97. package/dist/options/audio-bitrate.js +9 -1
  98. package/dist/options/audio-codec.d.ts +10 -13
  99. package/dist/options/beep-on-finish.js +1 -1
  100. package/dist/options/binaries-directory.js +9 -1
  101. package/dist/options/chrome-mode.d.ts +3 -3
  102. package/dist/options/chrome-mode.js +6 -1
  103. package/dist/options/color-space.d.ts +5 -9
  104. package/dist/options/color-space.js +7 -1
  105. package/dist/options/crf.js +1 -1
  106. package/dist/options/cross-site-isolation.js +2 -1
  107. package/dist/options/dark-mode.js +2 -1
  108. package/dist/options/delete-after.js +11 -1
  109. package/dist/options/disallow-parallel-encoding.js +1 -1
  110. package/dist/options/enable-lambda-insights.js +2 -1
  111. package/dist/options/enable-multiprocess-on-linux.js +13 -1
  112. package/dist/options/encoding-buffer-size.js +3 -1
  113. package/dist/options/encoding-max-rate.js +3 -1
  114. package/dist/options/enforce-audio.js +1 -1
  115. package/dist/options/folder-expiry.js +4 -1
  116. package/dist/options/for-seamless-aac-concatenation.js +3 -1
  117. package/dist/options/gl.d.ts +6 -6
  118. package/dist/options/gl.js +28 -2
  119. package/dist/options/hardware-acceleration.d.ts +2 -2
  120. package/dist/options/headless.js +4 -1
  121. package/dist/options/image-sequence-pattern.js +5 -1
  122. package/dist/options/index.d.ts +25 -25
  123. package/dist/options/jpeg-quality.js +1 -1
  124. package/dist/options/latency-hint.js +10 -1
  125. package/dist/options/license-key.js +2 -1
  126. package/dist/options/log-level.d.ts +3 -4
  127. package/dist/options/log-level.js +16 -1
  128. package/dist/options/metadata.js +7 -2
  129. package/dist/options/mute.js +1 -1
  130. package/dist/options/number-of-gif-loops.js +13 -1
  131. package/dist/options/offthreadvideo-cache-size.js +11 -1
  132. package/dist/options/offthreadvideo-threads.js +2 -1
  133. package/dist/options/on-browser-download.js +2 -1
  134. package/dist/options/options-map.d.ts +93 -93
  135. package/dist/options/overwrite.js +5 -1
  136. package/dist/options/prefer-lossless.js +4 -1
  137. package/dist/options/public-dir.js +2 -1
  138. package/dist/options/public-license-key.js +3 -1
  139. package/dist/options/public-path.js +7 -1
  140. package/dist/options/repro.js +1 -1
  141. package/dist/options/scale.js +5 -1
  142. package/dist/options/timeout.js +4 -1
  143. package/dist/options/video-bitrate.js +7 -1
  144. package/dist/options/video-cache-size.js +8 -1
  145. package/dist/options/video-codec.d.ts +6 -6
  146. package/dist/options/video-codec.js +1 -1
  147. package/dist/options/webhook-custom-data.js +1 -1
  148. package/dist/options/x264-preset.d.ts +5 -6
  149. package/dist/options/x264-preset.js +23 -1
  150. package/dist/p-limit.d.ts +1 -1
  151. package/dist/pixel-format.d.ts +2 -3
  152. package/dist/pool.js +2 -0
  153. package/dist/port-config.d.ts +5 -6
  154. package/dist/prespawn-ffmpeg.js +5 -4
  155. package/dist/prestitcher-memory-usage.d.ts +1 -2
  156. package/dist/print-useful-error-message.d.ts +1 -2
  157. package/dist/prores-profile.d.ts +2 -4
  158. package/dist/puppeteer-evaluate.d.ts +2 -2
  159. package/dist/puppeteer-screenshot.d.ts +3 -4
  160. package/dist/pure.d.ts +5 -5
  161. package/dist/render-frame-and-retry-target-close.d.ts +8 -8
  162. package/dist/render-frame-with-option-to-reject.d.ts +4 -6
  163. package/dist/render-frame.d.ts +8 -8
  164. package/dist/render-has-audio.d.ts +2 -3
  165. package/dist/render-media.js +2 -1
  166. package/dist/replace-browser.d.ts +1 -2
  167. package/dist/repro.d.ts +1 -1
  168. package/dist/screenshot-task.d.ts +3 -4
  169. package/dist/seek-to-frame.d.ts +2 -3
  170. package/dist/serve-handler/index.d.ts +1 -1
  171. package/dist/serve-handler/range-parser.d.ts +2 -2
  172. package/dist/serve-static.d.ts +1 -2
  173. package/dist/set-props-and-env.js +3 -1
  174. package/dist/stringify-ffmpeg-filter.d.ts +1 -2
  175. package/dist/take-frame.d.ts +1 -2
  176. package/dist/test-gpu.d.ts +2 -4
  177. package/dist/validate-even-dimensions-with-codec.d.ts +2 -4
  178. package/dist/validate-ffmpeg-override.d.ts +1 -1
  179. package/dist/validate-number-of-gif-loops.d.ts +1 -2
  180. package/dist/validate-output-filename.d.ts +2 -4
  181. package/package.json +16 -14
@@ -1,16 +1,4 @@
1
1
  "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- 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");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
- var _Page_instances, _Page_client, _Page_target, _Page_timeoutSettings, _Page_frameManager, _Page_pageBindings, _Page_onConsole, _Page_initialize, _Page_onTargetCrashed, _Page_onLogEntryAdded, _Page_onConsoleAPI, _Page_onBindingCalled, _Page_addConsoleMessage;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.Page = void 0;
16
4
  /**
@@ -51,7 +39,10 @@ const shouldHideWarning = (log) => {
51
39
  const format = (eventType, args) => {
52
40
  var _a, _b, _c, _d, _e, _f, _g, _h;
53
41
  const previewString = args
54
- .filter((a) => { var _a; return !(a.type === 'symbol' && ((_a = a.description) === null || _a === void 0 ? void 0 : _a.includes(`__remotion_`))); })
42
+ .filter((a) => {
43
+ var _a;
44
+ return !(a.type === 'symbol' && ((_a = a.description) === null || _a === void 0 ? void 0 : _a.includes(`__remotion_`)));
45
+ })
55
46
  .map((a) => (0, format_logs_1.formatRemoteObject)(a))
56
47
  .filter(Boolean)
57
48
  .join(' ');
@@ -75,6 +66,7 @@ const format = (eventType, args) => {
75
66
  return { previewString, logLevelFromRemotionLog, logLevelFromEvent, tag };
76
67
  };
77
68
  class Page extends EventEmitter_1.EventEmitter {
69
+ id;
78
70
  static async _create({ client, target, defaultViewport, browser, sourceMapGetter, logLevel, indent, pageIndex, onBrowserLog, onLog, }) {
79
71
  const page = new Page({
80
72
  client,
@@ -87,80 +79,29 @@ class Page extends EventEmitter_1.EventEmitter {
87
79
  onBrowserLog,
88
80
  onLog,
89
81
  });
90
- await __classPrivateFieldGet(page, _Page_instances, "m", _Page_initialize).call(page);
82
+ await page.#initialize();
91
83
  await page.setViewport(defaultViewport);
92
84
  return page;
93
85
  }
86
+ closed = false;
87
+ #client;
88
+ #target;
89
+ #timeoutSettings = new TimeoutSettings_1.TimeoutSettings();
90
+ #frameManager;
91
+ #pageBindings = new Map();
92
+ browser;
93
+ screenshotTaskQueue;
94
+ sourceMapGetter;
95
+ logLevel;
96
+ indent;
97
+ pageIndex;
98
+ onBrowserLog;
99
+ onLog;
94
100
  constructor({ client, target, browser, sourceMapGetter, logLevel, indent, pageIndex, onBrowserLog, onLog, }) {
95
101
  super();
96
- _Page_instances.add(this);
97
- this.closed = false;
98
- _Page_client.set(this, void 0);
99
- _Page_target.set(this, void 0);
100
- _Page_timeoutSettings.set(this, new TimeoutSettings_1.TimeoutSettings());
101
- _Page_frameManager.set(this, void 0);
102
- _Page_pageBindings.set(this, new Map());
103
- _Page_onConsole.set(this, (log) => {
104
- var _a, _b, _c;
105
- const stackTrace = log.stackTrace();
106
- const { url, columnNumber, lineNumber } = (_a = stackTrace[0]) !== null && _a !== void 0 ? _a : {};
107
- const logLevel = this.logLevel;
108
- const indent = this.indent;
109
- if (shouldHideWarning(log)) {
110
- return;
111
- }
112
- (_b = this.onBrowserLog) === null || _b === void 0 ? void 0 : _b.call(this, {
113
- stackTrace,
114
- text: log.text,
115
- type: log.type,
116
- });
117
- if ((url === null || url === void 0 ? void 0 : url.endsWith(no_react_1.NoReactInternals.bundleName)) &&
118
- lineNumber &&
119
- this.sourceMapGetter()) {
120
- const origPosition = (_c = this.sourceMapGetter()) === null || _c === void 0 ? void 0 : _c.originalPositionFor({
121
- column: columnNumber !== null && columnNumber !== void 0 ? columnNumber : 0,
122
- line: lineNumber,
123
- });
124
- const file = [
125
- origPosition === null || origPosition === void 0 ? void 0 : origPosition.source,
126
- origPosition === null || origPosition === void 0 ? void 0 : origPosition.line,
127
- origPosition === null || origPosition === void 0 ? void 0 : origPosition.column,
128
- ]
129
- .filter(truthy_1.truthy)
130
- .join(':');
131
- const isDelayRenderClear = log.previewString.includes(no_react_1.NoReactInternals.DELAY_RENDER_CLEAR_TOKEN);
132
- const tabInfo = `Tab ${this.pageIndex}`;
133
- const tagInfo = [origPosition === null || origPosition === void 0 ? void 0 : origPosition.name, isDelayRenderClear ? null : file]
134
- .filter(truthy_1.truthy)
135
- .join('@');
136
- const tag = [tabInfo, log.tag, log.tag ? null : tagInfo]
137
- .filter(truthy_1.truthy)
138
- .join(', ');
139
- this.onLog({
140
- logLevel: log.logLevel,
141
- tag,
142
- previewString: log.previewString,
143
- });
144
- }
145
- else if (log.type === 'error') {
146
- if (log.text.includes('Failed to load resource:')) {
147
- logger_1.Log.error({ logLevel, tag: url, indent },
148
- // Sometimes the log is like this:
149
- // Failed to load resource: the server responded with a status of 404 ()
150
- // We remove the empty parentheses.
151
- log.text.replace(/\(\)$/, ''));
152
- }
153
- else {
154
- logger_1.Log.error({ logLevel, tag: `console.${log.type}`, indent }, log.text);
155
- }
156
- }
157
- else {
158
- logger_1.Log.verbose({ logLevel, tag: `console.${log.type}`, indent }, log.text);
159
- }
160
- });
161
- __classPrivateFieldSet(this, _Page_client, client, "f");
162
- __classPrivateFieldSet(this, _Page_target, target, "f");
163
- __classPrivateFieldSet(this, _Page_frameManager, new FrameManager_1.FrameManager(client, this, indent, logLevel), "f");
102
+ this.#client = client;
103
+ this.#target = target;
104
+ this.#frameManager = new FrameManager_1.FrameManager(client, this, indent, logLevel);
164
105
  this.screenshotTaskQueue = new TaskQueue_1.TaskQueue();
165
106
  this.browser = browser;
166
107
  this.id = String(Math.random());
@@ -191,18 +132,89 @@ class Page extends EventEmitter_1.EventEmitter {
191
132
  }
192
133
  });
193
134
  client.on('Runtime.consoleAPICalled', (event) => {
194
- return __classPrivateFieldGet(this, _Page_instances, "m", _Page_onConsoleAPI).call(this, event);
135
+ return this.#onConsoleAPI(event);
195
136
  });
196
137
  client.on('Runtime.bindingCalled', (event) => {
197
- return __classPrivateFieldGet(this, _Page_instances, "m", _Page_onBindingCalled).call(this, event);
138
+ return this.#onBindingCalled(event);
198
139
  });
199
140
  client.on('Inspector.targetCrashed', () => {
200
- return __classPrivateFieldGet(this, _Page_instances, "m", _Page_onTargetCrashed).call(this);
141
+ return this.#onTargetCrashed();
201
142
  });
202
143
  client.on('Log.entryAdded', (event) => {
203
- return __classPrivateFieldGet(this, _Page_instances, "m", _Page_onLogEntryAdded).call(this, event);
144
+ return this.#onLogEntryAdded(event);
204
145
  });
205
146
  }
147
+ #onConsole = (log) => {
148
+ var _a, _b;
149
+ var _c;
150
+ const stackTrace = log.stackTrace();
151
+ const { url, columnNumber, lineNumber } = (_c = stackTrace[0]) !== null && _c !== void 0 ? _c : {};
152
+ const logLevel = this.logLevel;
153
+ const indent = this.indent;
154
+ if (shouldHideWarning(log)) {
155
+ return;
156
+ }
157
+ (_a = this.onBrowserLog) === null || _a === void 0 ? void 0 : _a.call(this, {
158
+ stackTrace,
159
+ text: log.text,
160
+ type: log.type,
161
+ });
162
+ if ((url === null || url === void 0 ? void 0 : url.endsWith(no_react_1.NoReactInternals.bundleName)) &&
163
+ lineNumber &&
164
+ this.sourceMapGetter()) {
165
+ const origPosition = (_b = this.sourceMapGetter()) === null || _b === void 0 ? void 0 : _b.originalPositionFor({
166
+ column: columnNumber !== null && columnNumber !== void 0 ? columnNumber : 0,
167
+ line: lineNumber,
168
+ });
169
+ const file = [
170
+ origPosition === null || origPosition === void 0 ? void 0 : origPosition.source,
171
+ origPosition === null || origPosition === void 0 ? void 0 : origPosition.line,
172
+ origPosition === null || origPosition === void 0 ? void 0 : origPosition.column,
173
+ ]
174
+ .filter(truthy_1.truthy)
175
+ .join(':');
176
+ const isDelayRenderClear = log.previewString.includes(no_react_1.NoReactInternals.DELAY_RENDER_CLEAR_TOKEN);
177
+ const tabInfo = `Tab ${this.pageIndex}`;
178
+ const tagInfo = [origPosition === null || origPosition === void 0 ? void 0 : origPosition.name, isDelayRenderClear ? null : file]
179
+ .filter(truthy_1.truthy)
180
+ .join('@');
181
+ const tag = [tabInfo, log.tag, log.tag ? null : tagInfo]
182
+ .filter(truthy_1.truthy)
183
+ .join(', ');
184
+ this.onLog({
185
+ logLevel: log.logLevel,
186
+ tag,
187
+ previewString: log.previewString,
188
+ });
189
+ }
190
+ else if (log.type === 'error') {
191
+ if (log.text.includes('Failed to load resource:')) {
192
+ logger_1.Log.error({ logLevel, tag: url, indent },
193
+ // Sometimes the log is like this:
194
+ // Failed to load resource: the server responded with a status of 404 ()
195
+ // We remove the empty parentheses.
196
+ log.text.replace(/\(\)$/, ''));
197
+ }
198
+ else {
199
+ logger_1.Log.error({ logLevel, tag: `console.${log.type}`, indent }, log.text);
200
+ }
201
+ }
202
+ else {
203
+ logger_1.Log.verbose({ logLevel, tag: `console.${log.type}`, indent }, log.text);
204
+ }
205
+ };
206
+ async #initialize() {
207
+ await Promise.all([
208
+ this.#frameManager.initialize(),
209
+ this.#client.send('Target.setAutoAttach', {
210
+ autoAttach: true,
211
+ waitForDebuggerOnStart: false,
212
+ flatten: true,
213
+ }),
214
+ this.#client.send('Performance.enable'),
215
+ this.#client.send('Log.enable'),
216
+ ]);
217
+ }
206
218
  /**
207
219
  * Listen to page events.
208
220
  */
@@ -224,10 +236,41 @@ class Page extends EventEmitter_1.EventEmitter {
224
236
  * @returns A target this page was created from.
225
237
  */
226
238
  target() {
227
- return __classPrivateFieldGet(this, _Page_target, "f");
239
+ return this.#target;
228
240
  }
229
241
  _client() {
230
- return __classPrivateFieldGet(this, _Page_client, "f");
242
+ return this.#client;
243
+ }
244
+ #onTargetCrashed() {
245
+ // This error message is being checked against in is-flaky-error.ts
246
+ this.emit('error', new Error('Page crashed!'));
247
+ }
248
+ #onLogEntryAdded(event) {
249
+ var _a;
250
+ const { level, text, args, source, url, lineNumber } = event.entry;
251
+ if (args) {
252
+ args.map((arg) => {
253
+ return (0, util_1.releaseObject)(this.#client, arg);
254
+ });
255
+ }
256
+ const { previewString, logLevelFromRemotionLog, logLevelFromEvent, tag } = format(level, args !== null && args !== void 0 ? args : []);
257
+ if (source !== 'worker') {
258
+ const message = new ConsoleMessage_1.ConsoleMessage({
259
+ type: level,
260
+ text,
261
+ args: [],
262
+ stackTraceLocations: [{ url, lineNumber }],
263
+ previewString,
264
+ logLevel: logLevelFromRemotionLog !== null && logLevelFromRemotionLog !== void 0 ? logLevelFromRemotionLog : logLevelFromEvent,
265
+ tag,
266
+ });
267
+ (_a = this.onBrowserLog) === null || _a === void 0 ? void 0 : _a.call(this, {
268
+ stackTrace: message.stackTrace(),
269
+ text: message.text,
270
+ type: message.type,
271
+ });
272
+ this.#onConsole(message);
273
+ }
231
274
  }
232
275
  /**
233
276
  * @returns The page's main frame.
@@ -235,7 +278,7 @@ class Page extends EventEmitter_1.EventEmitter {
235
278
  * Page is guaranteed to have a main frame which persists during navigations.
236
279
  */
237
280
  mainFrame() {
238
- return __classPrivateFieldGet(this, _Page_frameManager, "f").mainFrame();
281
+ return this.#frameManager.mainFrame();
239
282
  }
240
283
  async setViewport(viewport) {
241
284
  const fromSurface = !process.env.DISABLE_FROM_SURFACE;
@@ -266,30 +309,109 @@ class Page extends EventEmitter_1.EventEmitter {
266
309
  y: 0,
267
310
  },
268
311
  };
269
- const { value } = await __classPrivateFieldGet(this, _Page_client, "f").send('Emulation.setDeviceMetricsOverride', request);
312
+ const { value } = await this.#client.send('Emulation.setDeviceMetricsOverride', request);
270
313
  return value;
271
314
  }
272
315
  setDefaultNavigationTimeout(timeout) {
273
- __classPrivateFieldGet(this, _Page_timeoutSettings, "f").setDefaultNavigationTimeout(timeout);
316
+ this.#timeoutSettings.setDefaultNavigationTimeout(timeout);
274
317
  }
275
318
  setDefaultTimeout(timeout) {
276
- __classPrivateFieldGet(this, _Page_timeoutSettings, "f").setDefaultTimeout(timeout);
319
+ this.#timeoutSettings.setDefaultTimeout(timeout);
277
320
  }
278
321
  async evaluateHandle(pageFunction, ...args) {
279
322
  const context = await this.mainFrame().executionContext();
280
323
  return context.evaluateHandle(pageFunction, ...args);
281
324
  }
325
+ #onConsoleAPI(event) {
326
+ if (event.executionContextId === 0) {
327
+ return;
328
+ }
329
+ const context = this.#frameManager.executionContextById(event.executionContextId, this.#client);
330
+ const values = event.args.map((arg) => {
331
+ return (0, JSHandle_1._createJSHandle)(context, arg);
332
+ });
333
+ this.#addConsoleMessage(event.type, values, event.stackTrace);
334
+ }
335
+ async #onBindingCalled(event) {
336
+ let payload;
337
+ try {
338
+ payload = JSON.parse(event.payload);
339
+ }
340
+ catch (_a) {
341
+ // The binding was either called by something in the page or it was
342
+ // called before our wrapper was initialized.
343
+ return;
344
+ }
345
+ const { type, name, seq, args } = payload;
346
+ if (type !== 'exposedFun' || !this.#pageBindings.has(name)) {
347
+ return;
348
+ }
349
+ let expression = null;
350
+ try {
351
+ const pageBinding = this.#pageBindings.get(name);
352
+ (0, assert_1.assert)(pageBinding);
353
+ const result = await pageBinding(...args);
354
+ expression = (0, util_1.pageBindingDeliverResultString)(name, seq, result);
355
+ }
356
+ catch (_error) {
357
+ if ((0, util_1.isErrorLike)(_error)) {
358
+ expression = (0, util_1.pageBindingDeliverErrorString)(name, seq, _error.message, _error.stack);
359
+ }
360
+ else {
361
+ expression = (0, util_1.pageBindingDeliverErrorValueString)(name, seq, _error);
362
+ }
363
+ }
364
+ await this.#client.send('Runtime.evaluate', {
365
+ expression,
366
+ contextId: event.executionContextId,
367
+ });
368
+ }
369
+ #addConsoleMessage(eventType, args, stackTrace) {
370
+ var _a, _b;
371
+ const textTokens = [];
372
+ for (const arg of args) {
373
+ const remoteObject = arg._remoteObject;
374
+ if (remoteObject.objectId) {
375
+ textTokens.push(arg.toString());
376
+ }
377
+ else {
378
+ textTokens.push((0, util_1.valueFromRemoteObject)(remoteObject));
379
+ }
380
+ }
381
+ const stackTraceLocations = [];
382
+ if (stackTrace) {
383
+ for (const callFrame of stackTrace.callFrames) {
384
+ stackTraceLocations.push({
385
+ url: callFrame.url,
386
+ lineNumber: callFrame.lineNumber,
387
+ columnNumber: callFrame.columnNumber,
388
+ });
389
+ }
390
+ }
391
+ const { previewString, logLevelFromRemotionLog, logLevelFromEvent, tag } = format(eventType, (_a = args.map((a) => a._remoteObject)) !== null && _a !== void 0 ? _a : []);
392
+ const logLevel = (_b = logLevelFromRemotionLog) !== null && _b !== void 0 ? _b : logLevelFromEvent;
393
+ const message = new ConsoleMessage_1.ConsoleMessage({
394
+ type: eventType,
395
+ text: textTokens.join(' '),
396
+ args,
397
+ stackTraceLocations,
398
+ previewString,
399
+ logLevel,
400
+ tag,
401
+ });
402
+ this.#onConsole(message);
403
+ }
282
404
  url() {
283
405
  return this.mainFrame().url();
284
406
  }
285
407
  goto({ url, timeout, options = {}, }) {
286
- return __classPrivateFieldGet(this, _Page_frameManager, "f").mainFrame().goto(url, timeout, options);
408
+ return this.#frameManager.mainFrame().goto(url, timeout, options);
287
409
  }
288
410
  async bringToFront() {
289
- await __classPrivateFieldGet(this, _Page_client, "f").send('Page.bringToFront');
411
+ await this.#client.send('Page.bringToFront');
290
412
  }
291
413
  async setAutoDarkModeOverride() {
292
- const result = await __classPrivateFieldGet(this, _Page_client, "f").send('Emulation.setEmulatedMedia', {
414
+ const result = await this.#client.send('Emulation.setEmulatedMedia', {
293
415
  media: 'screen',
294
416
  features: [
295
417
  {
@@ -301,28 +423,28 @@ class Page extends EventEmitter_1.EventEmitter {
301
423
  console.log(result);
302
424
  }
303
425
  evaluate(pageFunction, ...args) {
304
- return __classPrivateFieldGet(this, _Page_frameManager, "f").mainFrame().evaluate(pageFunction, ...args);
426
+ return this.#frameManager.mainFrame().evaluate(pageFunction, ...args);
305
427
  }
306
428
  async evaluateOnNewDocument(pageFunction, ...args) {
307
429
  const source = (0, util_1.evaluationString)(pageFunction, ...args);
308
- await __classPrivateFieldGet(this, _Page_client, "f").send('Page.addScriptToEvaluateOnNewDocument', {
430
+ await this.#client.send('Page.addScriptToEvaluateOnNewDocument', {
309
431
  source,
310
432
  });
311
433
  }
312
434
  async close(options = { runBeforeUnload: undefined }) {
313
- const connection = __classPrivateFieldGet(this, _Page_client, "f").connection();
435
+ const connection = this.#client.connection();
314
436
  if (!connection) {
315
437
  return;
316
438
  }
317
439
  const runBeforeUnload = Boolean(options.runBeforeUnload);
318
440
  if (runBeforeUnload) {
319
- await __classPrivateFieldGet(this, _Page_client, "f").send('Page.close');
441
+ await this.#client.send('Page.close');
320
442
  }
321
443
  else {
322
444
  await connection.send('Target.closeTarget', {
323
- targetId: __classPrivateFieldGet(this, _Page_target, "f")._targetId,
445
+ targetId: this.#target._targetId,
324
446
  });
325
- await __classPrivateFieldGet(this, _Page_target, "f")._isClosedPromise;
447
+ await this.#target._isClosedPromise;
326
448
  }
327
449
  }
328
450
  setBrowserSourceMapGetter(context) {
@@ -330,120 +452,3 @@ class Page extends EventEmitter_1.EventEmitter {
330
452
  }
331
453
  }
332
454
  exports.Page = Page;
333
- _Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_frameManager = new WeakMap(), _Page_pageBindings = new WeakMap(), _Page_onConsole = new WeakMap(), _Page_instances = new WeakSet(), _Page_initialize = async function _Page_initialize() {
334
- await Promise.all([
335
- __classPrivateFieldGet(this, _Page_frameManager, "f").initialize(),
336
- __classPrivateFieldGet(this, _Page_client, "f").send('Target.setAutoAttach', {
337
- autoAttach: true,
338
- waitForDebuggerOnStart: false,
339
- flatten: true,
340
- }),
341
- __classPrivateFieldGet(this, _Page_client, "f").send('Performance.enable'),
342
- __classPrivateFieldGet(this, _Page_client, "f").send('Log.enable'),
343
- ]);
344
- }, _Page_onTargetCrashed = function _Page_onTargetCrashed() {
345
- // This error message is being checked against in is-flaky-error.ts
346
- this.emit('error', new Error('Page crashed!'));
347
- }, _Page_onLogEntryAdded = function _Page_onLogEntryAdded(event) {
348
- var _a;
349
- const { level, text, args, source, url, lineNumber } = event.entry;
350
- if (args) {
351
- args.map((arg) => {
352
- return (0, util_1.releaseObject)(__classPrivateFieldGet(this, _Page_client, "f"), arg);
353
- });
354
- }
355
- const { previewString, logLevelFromRemotionLog, logLevelFromEvent, tag } = format(level, args !== null && args !== void 0 ? args : []);
356
- if (source !== 'worker') {
357
- const message = new ConsoleMessage_1.ConsoleMessage({
358
- type: level,
359
- text,
360
- args: [],
361
- stackTraceLocations: [{ url, lineNumber }],
362
- previewString,
363
- logLevel: logLevelFromRemotionLog !== null && logLevelFromRemotionLog !== void 0 ? logLevelFromRemotionLog : logLevelFromEvent,
364
- tag,
365
- });
366
- (_a = this.onBrowserLog) === null || _a === void 0 ? void 0 : _a.call(this, {
367
- stackTrace: message.stackTrace(),
368
- text: message.text,
369
- type: message.type,
370
- });
371
- __classPrivateFieldGet(this, _Page_onConsole, "f").call(this, message);
372
- }
373
- }, _Page_onConsoleAPI = function _Page_onConsoleAPI(event) {
374
- if (event.executionContextId === 0) {
375
- return;
376
- }
377
- const context = __classPrivateFieldGet(this, _Page_frameManager, "f").executionContextById(event.executionContextId, __classPrivateFieldGet(this, _Page_client, "f"));
378
- const values = event.args.map((arg) => {
379
- return (0, JSHandle_1._createJSHandle)(context, arg);
380
- });
381
- __classPrivateFieldGet(this, _Page_instances, "m", _Page_addConsoleMessage).call(this, event.type, values, event.stackTrace);
382
- }, _Page_onBindingCalled = async function _Page_onBindingCalled(event) {
383
- let payload;
384
- try {
385
- payload = JSON.parse(event.payload);
386
- }
387
- catch (_a) {
388
- // The binding was either called by something in the page or it was
389
- // called before our wrapper was initialized.
390
- return;
391
- }
392
- const { type, name, seq, args } = payload;
393
- if (type !== 'exposedFun' || !__classPrivateFieldGet(this, _Page_pageBindings, "f").has(name)) {
394
- return;
395
- }
396
- let expression = null;
397
- try {
398
- const pageBinding = __classPrivateFieldGet(this, _Page_pageBindings, "f").get(name);
399
- (0, assert_1.assert)(pageBinding);
400
- const result = await pageBinding(...args);
401
- expression = (0, util_1.pageBindingDeliverResultString)(name, seq, result);
402
- }
403
- catch (_error) {
404
- if ((0, util_1.isErrorLike)(_error)) {
405
- expression = (0, util_1.pageBindingDeliverErrorString)(name, seq, _error.message, _error.stack);
406
- }
407
- else {
408
- expression = (0, util_1.pageBindingDeliverErrorValueString)(name, seq, _error);
409
- }
410
- }
411
- await __classPrivateFieldGet(this, _Page_client, "f").send('Runtime.evaluate', {
412
- expression,
413
- contextId: event.executionContextId,
414
- });
415
- }, _Page_addConsoleMessage = function _Page_addConsoleMessage(eventType, args, stackTrace) {
416
- var _a, _b;
417
- const textTokens = [];
418
- for (const arg of args) {
419
- const remoteObject = arg._remoteObject;
420
- if (remoteObject.objectId) {
421
- textTokens.push(arg.toString());
422
- }
423
- else {
424
- textTokens.push((0, util_1.valueFromRemoteObject)(remoteObject));
425
- }
426
- }
427
- const stackTraceLocations = [];
428
- if (stackTrace) {
429
- for (const callFrame of stackTrace.callFrames) {
430
- stackTraceLocations.push({
431
- url: callFrame.url,
432
- lineNumber: callFrame.lineNumber,
433
- columnNumber: callFrame.columnNumber,
434
- });
435
- }
436
- }
437
- const { previewString, logLevelFromRemotionLog, logLevelFromEvent, tag } = format(eventType, (_a = args.map((a) => a._remoteObject)) !== null && _a !== void 0 ? _a : []);
438
- const logLevel = (_b = logLevelFromRemotionLog) !== null && _b !== void 0 ? _b : logLevelFromEvent;
439
- const message = new ConsoleMessage_1.ConsoleMessage({
440
- type: eventType,
441
- text: textTokens.join(' '),
442
- args,
443
- stackTraceLocations,
444
- previewString,
445
- logLevel,
446
- tag,
447
- });
448
- __classPrivateFieldGet(this, _Page_onConsole, "f").call(this, message);
449
- };
@@ -13,13 +13,12 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { LogLevel } from '../log-level';
17
16
  import { Connection } from './Connection';
18
17
  export declare const makeBrowserRunner: ({ executablePath, processArguments, userDataDir, logLevel, indent, timeout, }: {
19
18
  executablePath: string;
20
19
  processArguments: string[];
21
20
  userDataDir: string;
22
- logLevel: LogLevel;
21
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
23
22
  indent: boolean;
24
23
  timeout: number;
25
24
  }) => Promise<{