@lvce-editor/test-with-playwright 12.1.0 → 13.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 +95 -91
  2. package/package.json +3 -3
package/dist/main.js CHANGED
@@ -370,6 +370,9 @@ const parseCliArgs = argv => {
370
370
  if (parsed['server-path']) {
371
371
  result.serverPath = parsed['server-path'];
372
372
  }
373
+ if (parsed['trace-focus']) {
374
+ result.traceFocus = true;
375
+ }
373
376
  return result;
374
377
  };
375
378
 
@@ -850,56 +853,14 @@ const IpcParentWithNodeWorker$1 = {
850
853
  wrap: wrap$1
851
854
  };
852
855
 
853
- const Two = '2.0';
854
- const create$4 = (method, params) => {
855
- return {
856
- jsonrpc: Two,
857
- method,
858
- params
859
- };
860
- };
856
+ const Two$1 = '2.0';
861
857
  const callbacks = Object.create(null);
862
- const set = (id, fn) => {
863
- callbacks[id] = fn;
864
- };
865
858
  const get = id => {
866
859
  return callbacks[id];
867
860
  };
868
861
  const remove = id => {
869
862
  delete callbacks[id];
870
863
  };
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
864
  class JsonRpcError extends Error {
904
865
  constructor(message) {
905
866
  super(message);
@@ -1095,7 +1056,7 @@ const getErrorProperty = (error, prettyError) => {
1095
1056
  };
1096
1057
  const create$1 = (id, error) => {
1097
1058
  return {
1098
- jsonrpc: Two,
1059
+ jsonrpc: Two$1,
1099
1060
  id,
1100
1061
  error
1101
1062
  };
@@ -1108,7 +1069,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
1108
1069
  };
1109
1070
  const create = (message, result) => {
1110
1071
  return {
1111
- jsonrpc: Two,
1072
+ jsonrpc: Two$1,
1112
1073
  id: message.id,
1113
1074
  result: result ?? null
1114
1075
  };
@@ -1119,7 +1080,7 @@ const getSuccessResponse = (message, result) => {
1119
1080
  };
1120
1081
  const getErrorResponseSimple = (id, error) => {
1121
1082
  return {
1122
- jsonrpc: Two,
1083
+ jsonrpc: Two$1,
1123
1084
  id,
1124
1085
  error: {
1125
1086
  code: Custom,
@@ -1206,29 +1167,6 @@ const handleJsonRpcMessage = async (...args) => {
1206
1167
  }
1207
1168
  throw new JsonRpcError('unexpected message');
1208
1169
  };
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
1170
 
1233
1171
  class CommandNotFoundError extends Error {
1234
1172
  constructor(command) {
@@ -1251,24 +1189,87 @@ const execute = (command, ...args) => {
1251
1189
  return fn(...args);
1252
1190
  };
1253
1191
 
1192
+ const Two = '2.0';
1193
+ const create$s = (method, params) => {
1194
+ return {
1195
+ jsonrpc: Two,
1196
+ method,
1197
+ params
1198
+ };
1199
+ };
1200
+ const create$r = (id, method, params) => {
1201
+ const message = {
1202
+ id,
1203
+ jsonrpc: Two,
1204
+ method,
1205
+ params
1206
+ };
1207
+ return message;
1208
+ };
1209
+ let id = 0;
1210
+ const create$q = () => {
1211
+ return ++id;
1212
+ };
1213
+
1214
+ /* eslint-disable n/no-unsupported-features/es-syntax */
1215
+
1216
+ const registerPromise = map => {
1217
+ const id = create$q();
1218
+ const {
1219
+ promise,
1220
+ resolve
1221
+ } = Promise.withResolvers();
1222
+ map[id] = resolve;
1223
+ return {
1224
+ id,
1225
+ promise
1226
+ };
1227
+ };
1228
+
1229
+ // @ts-ignore
1230
+ const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer) => {
1231
+ const {
1232
+ id,
1233
+ promise
1234
+ } = registerPromise(callbacks);
1235
+ const message = create$r(id, method, params);
1236
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
1237
+ ipc.sendAndTransfer(message);
1238
+ } else {
1239
+ ipc.send(message);
1240
+ }
1241
+ const responseMessage = await promise;
1242
+ return unwrapJsonRpcResult(responseMessage);
1243
+ };
1254
1244
  const createRpc = ipc => {
1245
+ const callbacks = Object.create(null);
1246
+ ipc._resolve = (id, response) => {
1247
+ const fn = callbacks[id];
1248
+ if (!fn) {
1249
+ console.warn(`callback ${id} may already be disposed`);
1250
+ return;
1251
+ }
1252
+ fn(response);
1253
+ delete callbacks[id];
1254
+ };
1255
1255
  const rpc = {
1256
+ async dispose() {
1257
+ await ipc?.dispose();
1258
+ },
1259
+ invoke(method, ...params) {
1260
+ return invokeHelper(callbacks, ipc, method, params, false);
1261
+ },
1262
+ invokeAndTransfer(method, ...params) {
1263
+ return invokeHelper(callbacks, ipc, method, params, true);
1264
+ },
1256
1265
  // @ts-ignore
1257
1266
  ipc,
1258
1267
  /**
1259
1268
  * @deprecated
1260
1269
  */
1261
1270
  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();
1271
+ const message = create$s(method, params);
1272
+ ipc.send(message);
1272
1273
  }
1273
1274
  };
1274
1275
  return rpc;
@@ -1285,7 +1286,7 @@ const logError = () => {
1285
1286
  const handleMessage = event => {
1286
1287
  const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
1287
1288
  const actualExecute = event?.target?.execute || execute;
1288
- return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError, actualRequiresSocket);
1289
+ return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError, actualRequiresSocket);
1289
1290
  };
1290
1291
  const handleIpc = ipc => {
1291
1292
  if ('addEventListener' in ipc) {
@@ -1295,22 +1296,22 @@ const handleIpc = ipc => {
1295
1296
  ipc.on('message', handleMessage);
1296
1297
  }
1297
1298
  };
1298
- const create$6 = async ({
1299
- commandMap,
1299
+ const create$5 = async ({
1300
1300
  argv,
1301
+ commandMap,
1302
+ env,
1301
1303
  execArgv,
1302
1304
  path,
1303
- stdio,
1304
- env
1305
+ stdio
1305
1306
  }) => {
1306
1307
  // TODO create a commandMap per rpc instance
1307
1308
  register(commandMap);
1308
1309
  const rawIpc = await IpcParentWithNodeWorker$1.create({
1309
1310
  argv,
1311
+ env,
1310
1312
  execArgv,
1311
1313
  path,
1312
- stdio,
1313
- env
1314
+ stdio
1314
1315
  });
1315
1316
  const ipc = IpcParentWithNodeWorker$1.wrap(rawIpc);
1316
1317
  handleIpc(ipc);
@@ -1324,7 +1325,7 @@ const create$6 = async ({
1324
1325
  };
1325
1326
  const NodeWorkerRpcParent = {
1326
1327
  __proto__: null,
1327
- create: create$6
1328
+ create: create$5
1328
1329
  };
1329
1330
 
1330
1331
  const RunAllTests = 'RunAllTests';
@@ -1337,7 +1338,8 @@ const runAllTests = async ({
1337
1338
  serverPath,
1338
1339
  testPath,
1339
1340
  testWorkerUri,
1340
- timeout
1341
+ timeout,
1342
+ traceFocus
1341
1343
  }) => {
1342
1344
  // TODO use `using` once supported
1343
1345
  const path = fileURLToPath(testWorkerUri);
@@ -1347,7 +1349,7 @@ const runAllTests = async ({
1347
1349
  path,
1348
1350
  stdio: 'inherit'
1349
1351
  });
1350
- await rpc.invoke(RunAllTests, onlyExtension, testPath, cwd, headless, timeout, serverPath);
1352
+ await rpc.invoke(RunAllTests, onlyExtension, testPath, cwd, headless, timeout, serverPath, traceFocus);
1351
1353
  await rpc.dispose();
1352
1354
  };
1353
1355
 
@@ -1365,7 +1367,8 @@ const handleCliArgs = async ({
1365
1367
  headless,
1366
1368
  onlyExtension,
1367
1369
  serverPath,
1368
- testPath
1370
+ testPath,
1371
+ traceFocus
1369
1372
  } = options;
1370
1373
  const timeout = 30_000;
1371
1374
  const testWorkerUri = getTestWorkerUrl();
@@ -1378,7 +1381,8 @@ const handleCliArgs = async ({
1378
1381
  serverPath,
1379
1382
  testPath,
1380
1383
  testWorkerUri,
1381
- timeout
1384
+ timeout,
1385
+ traceFocus
1382
1386
  });
1383
1387
  };
1384
1388
 
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": "13.0.0",
4
4
  "description": "CLI tool for running Playwright tests",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,8 +12,8 @@
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": "13.0.0",
16
+ "@lvce-editor/test-worker": "^11.7.0"
17
17
  },
18
18
  "engines": {
19
19
  "node": ">=22"