@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.
- package/dist/main.js +101 -91
- 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
|
-
|
|
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,
|
|
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$
|
|
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$
|
|
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": "
|
|
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": "
|
|
16
|
-
"@lvce-editor/test-worker": "^11.
|
|
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": ">=
|
|
19
|
+
"node": ">=24"
|
|
20
20
|
},
|
|
21
21
|
"types": "api.d.ts"
|
|
22
22
|
}
|