@lvce-editor/test-with-playwright 12.1.0 → 14.0.0

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 (2) hide show
  1. package/dist/main.js +101 -91
  2. package/package.json +4 -4
package/dist/main.js CHANGED
@@ -358,6 +358,9 @@ const parseArgv = /*@__PURE__*/getDefaultExportFromCjs(minimistExports);
358
358
  const parseCliArgs = argv => {
359
359
  const parsed = parseArgv(argv);
360
360
  const result = Object.create(null);
361
+ if (parsed.filter) {
362
+ result.filter = parsed.filter;
363
+ }
361
364
  if (parsed.headless) {
362
365
  result.headless = true;
363
366
  }
@@ -370,6 +373,9 @@ const parseCliArgs = argv => {
370
373
  if (parsed['server-path']) {
371
374
  result.serverPath = parsed['server-path'];
372
375
  }
376
+ if (parsed['trace-focus']) {
377
+ result.traceFocus = true;
378
+ }
373
379
  return result;
374
380
  };
375
381
 
@@ -850,56 +856,14 @@ const IpcParentWithNodeWorker$1 = {
850
856
  wrap: wrap$1
851
857
  };
852
858
 
853
- const Two = '2.0';
854
- const create$4 = (method, params) => {
855
- return {
856
- jsonrpc: Two,
857
- method,
858
- params
859
- };
860
- };
859
+ const Two$1 = '2.0';
861
860
  const callbacks = Object.create(null);
862
- const set = (id, fn) => {
863
- callbacks[id] = fn;
864
- };
865
861
  const get = id => {
866
862
  return callbacks[id];
867
863
  };
868
864
  const remove = id => {
869
865
  delete callbacks[id];
870
866
  };
871
- let id = 0;
872
- const create$3 = () => {
873
- return ++id;
874
- };
875
- const registerPromise = () => {
876
- const id = create$3();
877
- const {
878
- resolve,
879
- promise
880
- } = Promise.withResolvers();
881
- set(id, resolve);
882
- return {
883
- id,
884
- promise
885
- };
886
- };
887
- const create$2 = (method, params) => {
888
- const {
889
- id,
890
- promise
891
- } = registerPromise();
892
- const message = {
893
- jsonrpc: Two,
894
- method,
895
- params,
896
- id
897
- };
898
- return {
899
- message,
900
- promise
901
- };
902
- };
903
867
  class JsonRpcError extends Error {
904
868
  constructor(message) {
905
869
  super(message);
@@ -1095,7 +1059,7 @@ const getErrorProperty = (error, prettyError) => {
1095
1059
  };
1096
1060
  const create$1 = (id, error) => {
1097
1061
  return {
1098
- jsonrpc: Two,
1062
+ jsonrpc: Two$1,
1099
1063
  id,
1100
1064
  error
1101
1065
  };
@@ -1108,7 +1072,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
1108
1072
  };
1109
1073
  const create = (message, result) => {
1110
1074
  return {
1111
- jsonrpc: Two,
1075
+ jsonrpc: Two$1,
1112
1076
  id: message.id,
1113
1077
  result: result ?? null
1114
1078
  };
@@ -1119,7 +1083,7 @@ const getSuccessResponse = (message, result) => {
1119
1083
  };
1120
1084
  const getErrorResponseSimple = (id, error) => {
1121
1085
  return {
1122
- jsonrpc: Two,
1086
+ jsonrpc: Two$1,
1123
1087
  id,
1124
1088
  error: {
1125
1089
  code: Custom,
@@ -1206,29 +1170,6 @@ const handleJsonRpcMessage = async (...args) => {
1206
1170
  }
1207
1171
  throw new JsonRpcError('unexpected message');
1208
1172
  };
1209
- const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
1210
- const {
1211
- message,
1212
- promise
1213
- } = create$2(method, params);
1214
- if (useSendAndTransfer && ipc.sendAndTransfer) {
1215
- ipc.sendAndTransfer(message);
1216
- } else {
1217
- ipc.send(message);
1218
- }
1219
- const responseMessage = await promise;
1220
- return unwrapJsonRpcResult(responseMessage);
1221
- };
1222
- const send = (transport, method, ...params) => {
1223
- const message = create$4(method, params);
1224
- transport.send(message);
1225
- };
1226
- const invoke = (ipc, method, ...params) => {
1227
- return invokeHelper(ipc, method, params, false);
1228
- };
1229
- const invokeAndTransfer = (ipc, method, ...params) => {
1230
- return invokeHelper(ipc, method, params, true);
1231
- };
1232
1173
 
1233
1174
  class CommandNotFoundError extends Error {
1234
1175
  constructor(command) {
@@ -1251,24 +1192,87 @@ const execute = (command, ...args) => {
1251
1192
  return fn(...args);
1252
1193
  };
1253
1194
 
1195
+ const Two = '2.0';
1196
+ const create$s = (method, params) => {
1197
+ return {
1198
+ jsonrpc: Two,
1199
+ method,
1200
+ params
1201
+ };
1202
+ };
1203
+ const create$r = (id, method, params) => {
1204
+ const message = {
1205
+ id,
1206
+ jsonrpc: Two,
1207
+ method,
1208
+ params
1209
+ };
1210
+ return message;
1211
+ };
1212
+ let id = 0;
1213
+ const create$q = () => {
1214
+ return ++id;
1215
+ };
1216
+
1217
+ /* eslint-disable n/no-unsupported-features/es-syntax */
1218
+
1219
+ const registerPromise = map => {
1220
+ const id = create$q();
1221
+ const {
1222
+ promise,
1223
+ resolve
1224
+ } = Promise.withResolvers();
1225
+ map[id] = resolve;
1226
+ return {
1227
+ id,
1228
+ promise
1229
+ };
1230
+ };
1231
+
1232
+ // @ts-ignore
1233
+ const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer) => {
1234
+ const {
1235
+ id,
1236
+ promise
1237
+ } = registerPromise(callbacks);
1238
+ const message = create$r(id, method, params);
1239
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
1240
+ ipc.sendAndTransfer(message);
1241
+ } else {
1242
+ ipc.send(message);
1243
+ }
1244
+ const responseMessage = await promise;
1245
+ return unwrapJsonRpcResult(responseMessage);
1246
+ };
1254
1247
  const createRpc = ipc => {
1248
+ const callbacks = Object.create(null);
1249
+ ipc._resolve = (id, response) => {
1250
+ const fn = callbacks[id];
1251
+ if (!fn) {
1252
+ console.warn(`callback ${id} may already be disposed`);
1253
+ return;
1254
+ }
1255
+ fn(response);
1256
+ delete callbacks[id];
1257
+ };
1255
1258
  const rpc = {
1259
+ async dispose() {
1260
+ await ipc?.dispose();
1261
+ },
1262
+ invoke(method, ...params) {
1263
+ return invokeHelper(callbacks, ipc, method, params, false);
1264
+ },
1265
+ invokeAndTransfer(method, ...params) {
1266
+ return invokeHelper(callbacks, ipc, method, params, true);
1267
+ },
1256
1268
  // @ts-ignore
1257
1269
  ipc,
1258
1270
  /**
1259
1271
  * @deprecated
1260
1272
  */
1261
1273
  send(method, ...params) {
1262
- send(ipc, method, ...params);
1263
- },
1264
- invoke(method, ...params) {
1265
- return invoke(ipc, method, ...params);
1266
- },
1267
- invokeAndTransfer(method, ...params) {
1268
- return invokeAndTransfer(ipc, method, ...params);
1269
- },
1270
- async dispose() {
1271
- await ipc?.dispose();
1274
+ const message = create$s(method, params);
1275
+ ipc.send(message);
1272
1276
  }
1273
1277
  };
1274
1278
  return rpc;
@@ -1285,7 +1289,7 @@ const logError = () => {
1285
1289
  const handleMessage = event => {
1286
1290
  const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
1287
1291
  const actualExecute = event?.target?.execute || execute;
1288
- return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError, actualRequiresSocket);
1292
+ return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError, actualRequiresSocket);
1289
1293
  };
1290
1294
  const handleIpc = ipc => {
1291
1295
  if ('addEventListener' in ipc) {
@@ -1295,22 +1299,22 @@ const handleIpc = ipc => {
1295
1299
  ipc.on('message', handleMessage);
1296
1300
  }
1297
1301
  };
1298
- const create$6 = async ({
1299
- commandMap,
1302
+ const create$5 = async ({
1300
1303
  argv,
1304
+ commandMap,
1305
+ env,
1301
1306
  execArgv,
1302
1307
  path,
1303
- stdio,
1304
- env
1308
+ stdio
1305
1309
  }) => {
1306
1310
  // TODO create a commandMap per rpc instance
1307
1311
  register(commandMap);
1308
1312
  const rawIpc = await IpcParentWithNodeWorker$1.create({
1309
1313
  argv,
1314
+ env,
1310
1315
  execArgv,
1311
1316
  path,
1312
- stdio,
1313
- env
1317
+ stdio
1314
1318
  });
1315
1319
  const ipc = IpcParentWithNodeWorker$1.wrap(rawIpc);
1316
1320
  handleIpc(ipc);
@@ -1324,7 +1328,7 @@ const create$6 = async ({
1324
1328
  };
1325
1329
  const NodeWorkerRpcParent = {
1326
1330
  __proto__: null,
1327
- create: create$6
1331
+ create: create$5
1328
1332
  };
1329
1333
 
1330
1334
  const RunAllTests = 'RunAllTests';
@@ -1332,12 +1336,14 @@ const RunAllTests = 'RunAllTests';
1332
1336
  const runAllTests = async ({
1333
1337
  commandMap,
1334
1338
  cwd,
1339
+ filter,
1335
1340
  headless,
1336
1341
  onlyExtension,
1337
1342
  serverPath,
1338
1343
  testPath,
1339
1344
  testWorkerUri,
1340
- timeout
1345
+ timeout,
1346
+ traceFocus
1341
1347
  }) => {
1342
1348
  // TODO use `using` once supported
1343
1349
  const path = fileURLToPath(testWorkerUri);
@@ -1347,7 +1353,7 @@ const runAllTests = async ({
1347
1353
  path,
1348
1354
  stdio: 'inherit'
1349
1355
  });
1350
- await rpc.invoke(RunAllTests, onlyExtension, testPath, cwd, headless, timeout, serverPath);
1356
+ await rpc.invoke(RunAllTests, onlyExtension, testPath, cwd, headless, timeout, serverPath, traceFocus, filter);
1351
1357
  await rpc.dispose();
1352
1358
  };
1353
1359
 
@@ -1362,23 +1368,27 @@ const handleCliArgs = async ({
1362
1368
  env
1363
1369
  });
1364
1370
  const {
1371
+ filter,
1365
1372
  headless,
1366
1373
  onlyExtension,
1367
1374
  serverPath,
1368
- testPath
1375
+ testPath,
1376
+ traceFocus
1369
1377
  } = options;
1370
1378
  const timeout = 30_000;
1371
1379
  const testWorkerUri = getTestWorkerUrl();
1372
1380
  await runAllTests({
1373
1381
  commandMap,
1374
1382
  cwd,
1383
+ filter,
1375
1384
  headless,
1376
1385
  // @ts-ignore
1377
1386
  onlyExtension,
1378
1387
  serverPath,
1379
1388
  testPath,
1380
1389
  testWorkerUri,
1381
- timeout
1390
+ timeout,
1391
+ traceFocus
1382
1392
  });
1383
1393
  };
1384
1394
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/test-with-playwright",
3
- "version": "12.1.0",
3
+ "version": "14.0.0",
4
4
  "description": "CLI tool for running Playwright tests",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,11 +12,11 @@
12
12
  "main": "dist/main.js",
13
13
  "bin": "bin/test-with-playwright.js",
14
14
  "dependencies": {
15
- "@lvce-editor/test-with-playwright-worker": "12.1.0",
16
- "@lvce-editor/test-worker": "^11.0.0"
15
+ "@lvce-editor/test-with-playwright-worker": "14.0.0",
16
+ "@lvce-editor/test-worker": "^11.8.0"
17
17
  },
18
18
  "engines": {
19
- "node": ">=22"
19
+ "node": ">=24"
20
20
  },
21
21
  "types": "api.d.ts"
22
22
  }