@jsenv/terminal-recorder 1.4.20 → 1.4.24

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.
@@ -836,8 +836,7 @@ function requireHe () {
836
836
  var freeExports = exports;
837
837
 
838
838
  // Detect free variable `module`.
839
- var freeModule = module &&
840
- module.exports == freeExports && module;
839
+ var freeModule = module.exports == freeExports && module;
841
840
 
842
841
  // Detect free variable `globalThis`, from Node.js or Browserified code,
843
842
  // and use it as `root`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/terminal-recorder",
3
- "version": "1.4.20",
3
+ "version": "1.4.24",
4
4
  "description": "Record terminal output as .svg, .gif, .webm, .mp4",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -39,10 +39,10 @@
39
39
  "dependencies": {
40
40
  "@jsenv/humanize": "1.2.8",
41
41
  "@jsenv/server": "15.3.3",
42
- "@playwright/browser-chromium": "1.49.0",
42
+ "@playwright/browser-chromium": "1.49.1",
43
43
  "ansi-regex": "6.1.0",
44
44
  "he": "1.2.0",
45
- "playwright": "1.49.0",
45
+ "playwright": "1.49.1",
46
46
  "string-width": "5.1.2",
47
47
  "strip-ansi": "7.1.0",
48
48
  "webm-to-mp4": "1.0.0"
@@ -1256,7 +1256,42 @@ window.__supervisor__ = (() => {
1256
1256
  }
1257
1257
  return exception;
1258
1258
  };
1259
- window.addEventListener("error", (errorEvent) => {
1259
+ const addEventListenerCalledLast = (
1260
+ object,
1261
+ eventNameListened,
1262
+ eventCallback,
1263
+ ) => {
1264
+ const eventCallbackSet = new Set();
1265
+ object.addEventListener(eventNameListened, (event) => {
1266
+ for (const callback of eventCallbackSet) {
1267
+ callback(event);
1268
+ }
1269
+ eventCallback(event);
1270
+ });
1271
+ const addEventListener = object.addEventListener;
1272
+ const removeEventListener = object.removeEventListener;
1273
+ object.addEventListener = function (eventName, callback) {
1274
+ if (eventName === eventNameListened) {
1275
+ eventCallbackSet.add(callback);
1276
+ return;
1277
+ }
1278
+ addEventListener.call(this, eventName, callback);
1279
+ };
1280
+ object.removeEventListener = function (eventName, callback) {
1281
+ if (eventName === eventNameListened) {
1282
+ eventCallbackSet.delete(callback);
1283
+ return;
1284
+ }
1285
+ removeEventListener.call(this, eventName, callback);
1286
+ };
1287
+ };
1288
+ addEventListenerCalledLast(window, "error", (errorEvent) => {
1289
+ if (errorEvent.defaultPrevented) {
1290
+ if (logs) {
1291
+ console.log("ignore prevented error event", errorEvent);
1292
+ }
1293
+ return;
1294
+ }
1260
1295
  if (!errorEvent.isTrusted) {
1261
1296
  // ignore custom error event (not sent by browser)
1262
1297
  if (logs) {
@@ -1279,7 +1314,7 @@ window.__supervisor__ = (() => {
1279
1314
  });
1280
1315
  supervisor.reportException(exception);
1281
1316
  });
1282
- window.addEventListener("unhandledrejection", (event) => {
1317
+ addEventListenerCalledLast(window, "unhandledrejection", (event) => {
1283
1318
  if (event.defaultPrevented) {
1284
1319
  return;
1285
1320
  }