@remotion/renderer 4.0.537 → 4.0.539

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