@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.
- package/dist/main.js +95 -91
- 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
|
-
|
|
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,
|
|
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$
|
|
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$
|
|
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": "
|
|
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": "
|
|
16
|
-
"@lvce-editor/test-worker": "^11.
|
|
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"
|