@lvce-editor/extension-management-worker 4.48.0 → 4.49.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.
|
@@ -64,7 +64,7 @@ const Object$1 = 1;
|
|
|
64
64
|
const Number = 2;
|
|
65
65
|
const Array$1 = 3;
|
|
66
66
|
const String$1 = 4;
|
|
67
|
-
const Boolean
|
|
67
|
+
const Boolean = 5;
|
|
68
68
|
const Function = 6;
|
|
69
69
|
const Null = 7;
|
|
70
70
|
const Unknown = 8;
|
|
@@ -85,7 +85,7 @@ const getType = value => {
|
|
|
85
85
|
}
|
|
86
86
|
return Object$1;
|
|
87
87
|
case 'boolean':
|
|
88
|
-
return Boolean
|
|
88
|
+
return Boolean;
|
|
89
89
|
default:
|
|
90
90
|
return Unknown;
|
|
91
91
|
}
|
|
@@ -546,7 +546,7 @@ const waitForWebSocketToBeOpen = webSocket => {
|
|
|
546
546
|
open: Open
|
|
547
547
|
});
|
|
548
548
|
};
|
|
549
|
-
const create$
|
|
549
|
+
const create$c = async ({
|
|
550
550
|
webSocket
|
|
551
551
|
}) => {
|
|
552
552
|
const firstWebSocketEvent = await waitForWebSocketToBeOpen(webSocket);
|
|
@@ -583,7 +583,7 @@ const wrap = webSocket => {
|
|
|
583
583
|
};
|
|
584
584
|
const IpcParentWithWebSocket$1 = {
|
|
585
585
|
__proto__: null,
|
|
586
|
-
create: create$
|
|
586
|
+
create: create$c,
|
|
587
587
|
wrap
|
|
588
588
|
};
|
|
589
589
|
|
|
@@ -863,7 +863,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
|
|
|
863
863
|
const errorProperty = getErrorProperty(error, prettyError);
|
|
864
864
|
return create$1$1(id, errorProperty);
|
|
865
865
|
};
|
|
866
|
-
const create$
|
|
866
|
+
const create$b = (message, result) => {
|
|
867
867
|
return {
|
|
868
868
|
id: message.id,
|
|
869
869
|
jsonrpc: Two$1,
|
|
@@ -872,7 +872,7 @@ const create$c = (message, result) => {
|
|
|
872
872
|
};
|
|
873
873
|
const getSuccessResponse = (message, result) => {
|
|
874
874
|
const resultProperty = result ?? null;
|
|
875
|
-
return create$
|
|
875
|
+
return create$b(message, resultProperty);
|
|
876
876
|
};
|
|
877
877
|
const getErrorResponseSimple = (id, error) => {
|
|
878
878
|
return {
|
|
@@ -966,7 +966,7 @@ const handleJsonRpcMessage = async (...args) => {
|
|
|
966
966
|
|
|
967
967
|
const Two = '2.0';
|
|
968
968
|
|
|
969
|
-
const create$
|
|
969
|
+
const create$a = (method, params) => {
|
|
970
970
|
return {
|
|
971
971
|
jsonrpc: Two,
|
|
972
972
|
method,
|
|
@@ -974,7 +974,7 @@ const create$b = (method, params) => {
|
|
|
974
974
|
};
|
|
975
975
|
};
|
|
976
976
|
|
|
977
|
-
const create$
|
|
977
|
+
const create$9 = (id, method, params) => {
|
|
978
978
|
const message = {
|
|
979
979
|
id,
|
|
980
980
|
jsonrpc: Two,
|
|
@@ -985,12 +985,12 @@ const create$a = (id, method, params) => {
|
|
|
985
985
|
};
|
|
986
986
|
|
|
987
987
|
let id = 0;
|
|
988
|
-
const create$
|
|
988
|
+
const create$8 = () => {
|
|
989
989
|
return ++id;
|
|
990
990
|
};
|
|
991
991
|
|
|
992
992
|
const registerPromise = map => {
|
|
993
|
-
const id = create$
|
|
993
|
+
const id = create$8();
|
|
994
994
|
const {
|
|
995
995
|
promise,
|
|
996
996
|
resolve
|
|
@@ -1007,7 +1007,7 @@ const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer)
|
|
|
1007
1007
|
id,
|
|
1008
1008
|
promise
|
|
1009
1009
|
} = registerPromise(callbacks);
|
|
1010
|
-
const message = create$
|
|
1010
|
+
const message = create$9(id, method, params);
|
|
1011
1011
|
if (useSendAndTransfer && ipc.sendAndTransfer) {
|
|
1012
1012
|
ipc.sendAndTransfer(message);
|
|
1013
1013
|
} else {
|
|
@@ -1043,7 +1043,7 @@ const createRpc = ipc => {
|
|
|
1043
1043
|
* @deprecated
|
|
1044
1044
|
*/
|
|
1045
1045
|
send(method, ...params) {
|
|
1046
|
-
const message = create$
|
|
1046
|
+
const message = create$a(method, params);
|
|
1047
1047
|
ipc.send(message);
|
|
1048
1048
|
}
|
|
1049
1049
|
};
|
|
@@ -1083,7 +1083,7 @@ const listen$1 = async (module, options) => {
|
|
|
1083
1083
|
return ipc;
|
|
1084
1084
|
};
|
|
1085
1085
|
|
|
1086
|
-
const create$
|
|
1086
|
+
const create$7 = async ({
|
|
1087
1087
|
commandMap,
|
|
1088
1088
|
isMessagePortOpen = true,
|
|
1089
1089
|
messagePort
|
|
@@ -1101,7 +1101,7 @@ const create$8 = async ({
|
|
|
1101
1101
|
return rpc;
|
|
1102
1102
|
};
|
|
1103
1103
|
|
|
1104
|
-
const create$
|
|
1104
|
+
const create$6 = async ({
|
|
1105
1105
|
commandMap,
|
|
1106
1106
|
isMessagePortOpen,
|
|
1107
1107
|
send
|
|
@@ -1111,7 +1111,7 @@ const create$7 = async ({
|
|
|
1111
1111
|
port2
|
|
1112
1112
|
} = new MessageChannel();
|
|
1113
1113
|
await send(port1);
|
|
1114
|
-
return create$
|
|
1114
|
+
return create$7({
|
|
1115
1115
|
commandMap,
|
|
1116
1116
|
isMessagePortOpen,
|
|
1117
1117
|
messagePort: port2
|
|
@@ -1146,13 +1146,13 @@ const createSharedLazyRpc = factory => {
|
|
|
1146
1146
|
};
|
|
1147
1147
|
};
|
|
1148
1148
|
|
|
1149
|
-
const create$
|
|
1149
|
+
const create$5 = async ({
|
|
1150
1150
|
commandMap,
|
|
1151
1151
|
isMessagePortOpen,
|
|
1152
1152
|
send
|
|
1153
1153
|
}) => {
|
|
1154
1154
|
return createSharedLazyRpc(() => {
|
|
1155
|
-
return create$
|
|
1155
|
+
return create$6({
|
|
1156
1156
|
commandMap,
|
|
1157
1157
|
isMessagePortOpen,
|
|
1158
1158
|
send
|
|
@@ -1180,7 +1180,7 @@ const getProtocol = () => {
|
|
|
1180
1180
|
return location.protocol;
|
|
1181
1181
|
};
|
|
1182
1182
|
|
|
1183
|
-
const create$
|
|
1183
|
+
const create$4 = async ({
|
|
1184
1184
|
commandMap,
|
|
1185
1185
|
webSocket
|
|
1186
1186
|
}) => {
|
|
@@ -1212,7 +1212,7 @@ const connect = async ({
|
|
|
1212
1212
|
}) => {
|
|
1213
1213
|
const webSocket = new WebSocket(wsUrl);
|
|
1214
1214
|
try {
|
|
1215
|
-
const rpc = await create$
|
|
1215
|
+
const rpc = await create$4({
|
|
1216
1216
|
commandMap,
|
|
1217
1217
|
webSocket
|
|
1218
1218
|
});
|
|
@@ -1225,7 +1225,7 @@ const connect = async ({
|
|
|
1225
1225
|
throw error;
|
|
1226
1226
|
}
|
|
1227
1227
|
};
|
|
1228
|
-
const create$
|
|
1228
|
+
const create$3 = async ({
|
|
1229
1229
|
commandMap,
|
|
1230
1230
|
onClose,
|
|
1231
1231
|
type
|
|
@@ -1254,7 +1254,7 @@ const create$4 = async ({
|
|
|
1254
1254
|
return connection.rpc;
|
|
1255
1255
|
};
|
|
1256
1256
|
|
|
1257
|
-
const create$
|
|
1257
|
+
const create$2 = async ({
|
|
1258
1258
|
commandMap,
|
|
1259
1259
|
isMessagePortOpen,
|
|
1260
1260
|
messagePort
|
|
@@ -1271,7 +1271,7 @@ const create$3 = async ({
|
|
|
1271
1271
|
return rpc;
|
|
1272
1272
|
};
|
|
1273
1273
|
|
|
1274
|
-
const create$
|
|
1274
|
+
const create$1 = async ({
|
|
1275
1275
|
commandMap
|
|
1276
1276
|
}) => {
|
|
1277
1277
|
// TODO create a commandMap per rpc instance
|
|
@@ -1303,7 +1303,7 @@ const createMockRpc = ({
|
|
|
1303
1303
|
};
|
|
1304
1304
|
|
|
1305
1305
|
const rpcs$2 = Object.create(null);
|
|
1306
|
-
const set$
|
|
1306
|
+
const set$a = (id, rpc) => {
|
|
1307
1307
|
rpcs$2[id] = rpc;
|
|
1308
1308
|
};
|
|
1309
1309
|
const get$6 = id => {
|
|
@@ -1314,7 +1314,7 @@ const remove$2 = id => {
|
|
|
1314
1314
|
};
|
|
1315
1315
|
|
|
1316
1316
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
1317
|
-
const create
|
|
1317
|
+
const create = rpcId => {
|
|
1318
1318
|
return {
|
|
1319
1319
|
async dispose() {
|
|
1320
1320
|
const rpc = get$6(rpcId);
|
|
@@ -1336,7 +1336,7 @@ const create$1 = rpcId => {
|
|
|
1336
1336
|
const mockRpc = createMockRpc({
|
|
1337
1337
|
commandMap
|
|
1338
1338
|
});
|
|
1339
|
-
set$
|
|
1339
|
+
set$a(rpcId, mockRpc);
|
|
1340
1340
|
// @ts-ignore
|
|
1341
1341
|
mockRpc[Symbol.dispose] = () => {
|
|
1342
1342
|
remove$2(rpcId);
|
|
@@ -1345,15 +1345,15 @@ const create$1 = rpcId => {
|
|
|
1345
1345
|
return mockRpc;
|
|
1346
1346
|
},
|
|
1347
1347
|
set(rpc) {
|
|
1348
|
-
set$
|
|
1348
|
+
set$a(rpcId, rpc);
|
|
1349
1349
|
}
|
|
1350
1350
|
};
|
|
1351
1351
|
};
|
|
1352
1352
|
|
|
1353
1353
|
const {
|
|
1354
|
-
invoke: invoke$
|
|
1355
|
-
set: set$
|
|
1356
|
-
} = create
|
|
1354
|
+
invoke: invoke$5,
|
|
1355
|
+
set: set$9
|
|
1356
|
+
} = create(6010);
|
|
1357
1357
|
|
|
1358
1358
|
const Web = 1;
|
|
1359
1359
|
const Electron = 2;
|
|
@@ -1361,57 +1361,19 @@ const Remote = 3;
|
|
|
1361
1361
|
const Test = 4;
|
|
1362
1362
|
|
|
1363
1363
|
const ErrorWorker = 3308;
|
|
1364
|
-
const ExtensionHostWorker = 44;
|
|
1365
1364
|
const FileSystemWorker = 209;
|
|
1366
1365
|
const RendererWorker = 1;
|
|
1367
1366
|
const SharedProcess = 1492;
|
|
1368
1367
|
|
|
1369
1368
|
const {
|
|
1370
|
-
invoke: invoke$5,
|
|
1371
|
-
set: set$9
|
|
1372
|
-
} = create$1(ErrorWorker);
|
|
1373
|
-
|
|
1374
|
-
const {
|
|
1375
|
-
dispose,
|
|
1376
|
-
invoke: invoke$4,
|
|
1377
|
-
invokeAndTransfer: invokeAndTransfer$2,
|
|
1378
|
-
registerMockRpc,
|
|
1379
|
-
set: set$8
|
|
1380
|
-
} = create$1(ExtensionHostWorker);
|
|
1381
|
-
const executeReferenceProvider = async (id, offset) => {
|
|
1382
|
-
// @ts-ignore
|
|
1383
|
-
return invoke$4('ExtensionHostReference.executeReferenceProvider', id, offset);
|
|
1384
|
-
};
|
|
1385
|
-
const executeFileReferenceProvider = async id => {
|
|
1386
|
-
// @ts-ignore
|
|
1387
|
-
return invoke$4('ExtensionHostReference.executeFileReferenceProvider', id);
|
|
1388
|
-
};
|
|
1389
|
-
const getRuntimeStatus$2 = async extensionId => {
|
|
1390
|
-
// @ts-ignore
|
|
1391
|
-
return invoke$4('ExtensionHost.getRuntimeStatus', extensionId);
|
|
1392
|
-
};
|
|
1393
|
-
const getEnabledOutputProviderIds = async () => {
|
|
1394
|
-
const channels = await invoke$4('Output.getEnabledProviders');
|
|
1395
|
-
return channels;
|
|
1396
|
-
};
|
|
1397
|
-
|
|
1398
|
-
const ExtensionHost = {
|
|
1399
|
-
__proto__: null,
|
|
1400
|
-
dispose,
|
|
1401
|
-
executeFileReferenceProvider,
|
|
1402
|
-
executeReferenceProvider,
|
|
1403
|
-
getEnabledOutputProviderIds,
|
|
1404
|
-
getRuntimeStatus: getRuntimeStatus$2,
|
|
1405
1369
|
invoke: invoke$4,
|
|
1406
|
-
invokeAndTransfer: invokeAndTransfer$2,
|
|
1407
|
-
registerMockRpc,
|
|
1408
1370
|
set: set$8
|
|
1409
|
-
};
|
|
1371
|
+
} = create(ErrorWorker);
|
|
1410
1372
|
|
|
1411
1373
|
const {
|
|
1412
1374
|
invoke: invoke$3,
|
|
1413
1375
|
set: set$7
|
|
1414
|
-
} = create
|
|
1376
|
+
} = create(FileSystemWorker);
|
|
1415
1377
|
const readFile$1 = async uri => {
|
|
1416
1378
|
return invoke$3('FileSystem.readFile', uri);
|
|
1417
1379
|
};
|
|
@@ -1429,7 +1391,7 @@ const {
|
|
|
1429
1391
|
invoke: invoke$2,
|
|
1430
1392
|
invokeAndTransfer: invokeAndTransfer$1,
|
|
1431
1393
|
set: set$6
|
|
1432
|
-
} = create
|
|
1394
|
+
} = create(RendererWorker);
|
|
1433
1395
|
const sendMessagePortToAuthWorker = async (port, rpcId) => {
|
|
1434
1396
|
const command = 'HandleMessagePort.handleMessagePort';
|
|
1435
1397
|
await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToAuthWorker', port, command, rpcId);
|
|
@@ -1446,10 +1408,6 @@ const sendMessagePortToFileSystemWorker$1 = async (port, rpcId) => {
|
|
|
1446
1408
|
const command = 'FileSystem.handleMessagePort';
|
|
1447
1409
|
await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
|
|
1448
1410
|
};
|
|
1449
|
-
const sendMessagePortToExtensionHostWorker = async (port, rpcId = 0) => {
|
|
1450
|
-
const command = 'HandleMessagePort.handleMessagePort2';
|
|
1451
|
-
await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
|
|
1452
|
-
};
|
|
1453
1411
|
const sendMessagePortToSharedProcess = async port => {
|
|
1454
1412
|
const command = 'HandleElectronMessagePort.handleElectronMessagePort';
|
|
1455
1413
|
await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToSharedProcess', port, command, 0);
|
|
@@ -1458,22 +1416,9 @@ const sendMessagePortToSharedProcess = async port => {
|
|
|
1458
1416
|
const {
|
|
1459
1417
|
invoke: invoke$1,
|
|
1460
1418
|
set: set$5
|
|
1461
|
-
} = create
|
|
1462
|
-
|
|
1463
|
-
const create = () => {
|
|
1464
|
-
return {
|
|
1465
|
-
finished: false
|
|
1466
|
-
};
|
|
1467
|
-
};
|
|
1468
|
-
const cancel = token => {
|
|
1469
|
-
token.finished = true;
|
|
1470
|
-
};
|
|
1471
|
-
const isCanceled = token => {
|
|
1472
|
-
return token.finished;
|
|
1473
|
-
};
|
|
1419
|
+
} = create(SharedProcess);
|
|
1474
1420
|
|
|
1475
1421
|
const None = 0;
|
|
1476
|
-
const Importing = 1;
|
|
1477
1422
|
const Activating = 2;
|
|
1478
1423
|
const Activated = 3;
|
|
1479
1424
|
const Error$1 = 4;
|
|
@@ -1581,119 +1526,6 @@ const getErrorMessage = error => {
|
|
|
1581
1526
|
return String(error);
|
|
1582
1527
|
};
|
|
1583
1528
|
|
|
1584
|
-
const baseName = path => {
|
|
1585
|
-
const slashIndex = path.lastIndexOf('/');
|
|
1586
|
-
return path.slice(slashIndex + 1);
|
|
1587
|
-
};
|
|
1588
|
-
const getExtensionId$4 = extension => {
|
|
1589
|
-
if (extension && extension.id) {
|
|
1590
|
-
return extension.id;
|
|
1591
|
-
}
|
|
1592
|
-
if (extension && extension.path) {
|
|
1593
|
-
return baseName(extension.path);
|
|
1594
|
-
}
|
|
1595
|
-
return '<unknown>';
|
|
1596
|
-
};
|
|
1597
|
-
|
|
1598
|
-
const isImportErrorChrome = error => {
|
|
1599
|
-
return Boolean(error && error instanceof Error && error.message.startsWith('Failed to fetch dynamically imported module'));
|
|
1600
|
-
};
|
|
1601
|
-
|
|
1602
|
-
const isImportErrorFirefox = error => {
|
|
1603
|
-
return Boolean(error && error instanceof TypeError && error.message === 'error loading dynamically imported module');
|
|
1604
|
-
};
|
|
1605
|
-
|
|
1606
|
-
const isSyntaxError = error => {
|
|
1607
|
-
return error instanceof SyntaxError;
|
|
1608
|
-
};
|
|
1609
|
-
|
|
1610
|
-
const isImportError = error => {
|
|
1611
|
-
return isImportErrorChrome(error) || isImportErrorFirefox(error) || isSyntaxError(error);
|
|
1612
|
-
};
|
|
1613
|
-
|
|
1614
|
-
const sleep = duration => {
|
|
1615
|
-
const {
|
|
1616
|
-
promise,
|
|
1617
|
-
resolve
|
|
1618
|
-
} = Promise.withResolvers();
|
|
1619
|
-
setTimeout(resolve, duration);
|
|
1620
|
-
return promise;
|
|
1621
|
-
};
|
|
1622
|
-
|
|
1623
|
-
const NotFound = 404;
|
|
1624
|
-
|
|
1625
|
-
const tryToGetActualImportErrorMessage = async (url, error) => {
|
|
1626
|
-
let response;
|
|
1627
|
-
try {
|
|
1628
|
-
response = await fetch(url);
|
|
1629
|
-
} catch (error) {
|
|
1630
|
-
return `Failed to import ${url}: ${error}`;
|
|
1631
|
-
}
|
|
1632
|
-
if (response.ok) {
|
|
1633
|
-
return `Failed to import ${url}: ${error}`;
|
|
1634
|
-
}
|
|
1635
|
-
switch (response.status) {
|
|
1636
|
-
case NotFound:
|
|
1637
|
-
return `Failed to import ${url}: Not found (404)`;
|
|
1638
|
-
default:
|
|
1639
|
-
return `Failed to import ${url}: ${error}`;
|
|
1640
|
-
}
|
|
1641
|
-
};
|
|
1642
|
-
|
|
1643
|
-
// TODO make activation timeout configurable or remove it.
|
|
1644
|
-
// some extension might do workspace indexing which could take some time
|
|
1645
|
-
const activationTimeout = 10_000;
|
|
1646
|
-
const rejectAfterTimeout = async (timeout, token) => {
|
|
1647
|
-
await sleep(timeout);
|
|
1648
|
-
if (isCanceled(token)) {
|
|
1649
|
-
return;
|
|
1650
|
-
}
|
|
1651
|
-
throw new Error(`Activation timeout of ${timeout}ms exceeded`);
|
|
1652
|
-
};
|
|
1653
|
-
const activate = async (extensionId, extension, extensionHost) => {
|
|
1654
|
-
await extensionHost.invoke('ExtensionHost.activateExtension3', extensionId, extension);
|
|
1655
|
-
};
|
|
1656
|
-
const activateExtension2 = async (extensionId, extension, absolutePath, extensionHost = ExtensionHost) => {
|
|
1657
|
-
string(extensionId);
|
|
1658
|
-
object(extension);
|
|
1659
|
-
string(absolutePath);
|
|
1660
|
-
const token = create();
|
|
1661
|
-
try {
|
|
1662
|
-
const startTime = performance.now();
|
|
1663
|
-
updateRuntimeStatus(extensionId, {
|
|
1664
|
-
activationStartTime: startTime,
|
|
1665
|
-
status: Activating
|
|
1666
|
-
});
|
|
1667
|
-
await Promise.race([activate(extensionId, extension, extensionHost), rejectAfterTimeout(activationTimeout, token)]);
|
|
1668
|
-
const endTime = performance.now();
|
|
1669
|
-
const time = endTime - startTime;
|
|
1670
|
-
updateRuntimeStatus(extensionId, {
|
|
1671
|
-
activationEndTime: endTime,
|
|
1672
|
-
activationTime: time,
|
|
1673
|
-
status: Activated
|
|
1674
|
-
});
|
|
1675
|
-
} catch (error) {
|
|
1676
|
-
const id = getExtensionId$4(extension);
|
|
1677
|
-
let activationError = error;
|
|
1678
|
-
if (isImportError(error)) {
|
|
1679
|
-
const actualErrorMessage = await tryToGetActualImportErrorMessage(absolutePath, error);
|
|
1680
|
-
activationError = new Error(`Failed to activate extension ${id}: ${actualErrorMessage}`, {
|
|
1681
|
-
cause: error
|
|
1682
|
-
});
|
|
1683
|
-
}
|
|
1684
|
-
updateRuntimeStatus(extensionId, {
|
|
1685
|
-
error: getErrorMessage(activationError),
|
|
1686
|
-
status: Error$1
|
|
1687
|
-
});
|
|
1688
|
-
if (activationError !== error) {
|
|
1689
|
-
throw activationError;
|
|
1690
|
-
}
|
|
1691
|
-
throw new VError(activationError, `Failed to activate extension ${id}`);
|
|
1692
|
-
} finally {
|
|
1693
|
-
cancel(token);
|
|
1694
|
-
}
|
|
1695
|
-
};
|
|
1696
|
-
|
|
1697
1529
|
const commandMapRef = {};
|
|
1698
1530
|
|
|
1699
1531
|
const extensionIds = new Set();
|
|
@@ -1896,7 +1728,7 @@ const createIsolatedExtensionHostWorker = async (extensionId, absolutePath, work
|
|
|
1896
1728
|
return bindCommandMap(rpc, commandMap);
|
|
1897
1729
|
};
|
|
1898
1730
|
const createWorker = (extensionId, absolutePath, workerName, contentSecurityPolicy) => {
|
|
1899
|
-
return createIsolatedExtensionHostWorker(extensionId, absolutePath, workerName, contentSecurityPolicy, create$
|
|
1731
|
+
return createIsolatedExtensionHostWorker(extensionId, absolutePath, workerName, contentSecurityPolicy, create$6, invokeAndTransfer);
|
|
1900
1732
|
};
|
|
1901
1733
|
const createAndStoreRpc = async (extensionId, absolutePath, workerName, contentSecurityPolicy, create) => {
|
|
1902
1734
|
const rpc = await create(extensionId, absolutePath, workerName, contentSecurityPolicy);
|
|
@@ -2009,48 +1841,6 @@ const handleRpcInfos = (extension, platform) => {
|
|
|
2009
1841
|
}
|
|
2010
1842
|
};
|
|
2011
1843
|
|
|
2012
|
-
const importExtension = async (extensionId, absolutePath, activationEvent, extensionHost = ExtensionHost) => {
|
|
2013
|
-
try {
|
|
2014
|
-
string(absolutePath);
|
|
2015
|
-
const startTime = performance.now();
|
|
2016
|
-
setRuntimeStatus({
|
|
2017
|
-
activationEndTime: 0,
|
|
2018
|
-
activationEvent: activationEvent,
|
|
2019
|
-
activationStartTime: performance.now(),
|
|
2020
|
-
activationTime: 0,
|
|
2021
|
-
id: extensionId,
|
|
2022
|
-
importEndTime: 0,
|
|
2023
|
-
importStartTime: startTime,
|
|
2024
|
-
importTime: 0,
|
|
2025
|
-
status: Importing
|
|
2026
|
-
});
|
|
2027
|
-
try {
|
|
2028
|
-
await extensionHost.invoke('ExtensionHost.importExtension2', extensionId, absolutePath);
|
|
2029
|
-
const endTime = performance.now();
|
|
2030
|
-
const time = endTime - startTime;
|
|
2031
|
-
updateRuntimeStatus(extensionId, {
|
|
2032
|
-
importEndTime: endTime,
|
|
2033
|
-
importTime: time
|
|
2034
|
-
});
|
|
2035
|
-
} catch (error) {
|
|
2036
|
-
let importError = error;
|
|
2037
|
-
if (isImportError(error)) {
|
|
2038
|
-
const actualErrorMessage = await tryToGetActualImportErrorMessage(absolutePath, error);
|
|
2039
|
-
importError = new Error(actualErrorMessage, {
|
|
2040
|
-
cause: error
|
|
2041
|
-
});
|
|
2042
|
-
}
|
|
2043
|
-
updateRuntimeStatus(extensionId, {
|
|
2044
|
-
error: getErrorMessage(importError),
|
|
2045
|
-
status: Error$1
|
|
2046
|
-
});
|
|
2047
|
-
throw importError;
|
|
2048
|
-
}
|
|
2049
|
-
} catch (error) {
|
|
2050
|
-
throw new VError(error, `Failed to import extension ${extensionId}`);
|
|
2051
|
-
}
|
|
2052
|
-
};
|
|
2053
|
-
|
|
2054
1844
|
const NewLine = '\n';
|
|
2055
1845
|
const Slash = '/';
|
|
2056
1846
|
|
|
@@ -2064,15 +1854,13 @@ const isExtensionIsolated = extension => {
|
|
|
2064
1854
|
};
|
|
2065
1855
|
|
|
2066
1856
|
const activateExtension3 = async (extension, absolutePath, activationEvent, platform) => {
|
|
2067
|
-
handleRpcInfos(extension, platform);
|
|
2068
1857
|
const extensionId = extension.id || interExtensionId(extension.uri);
|
|
2069
|
-
if (isExtensionIsolated(extension)) {
|
|
2070
|
-
|
|
2071
|
-
await activateIsolatedExtension(extensionId, absolutePath, extension.workerName || '', contentSecurityPolicy, activationEvent);
|
|
2072
|
-
return;
|
|
1858
|
+
if (!isExtensionIsolated(extension)) {
|
|
1859
|
+
throw new Error(`Extension ${extensionId} does not use the isolated extension API`);
|
|
2073
1860
|
}
|
|
2074
|
-
|
|
2075
|
-
|
|
1861
|
+
handleRpcInfos(extension, platform);
|
|
1862
|
+
const contentSecurityPolicy = getContentSecurityPolicy(extension.contentSecurityPolicy);
|
|
1863
|
+
await activateIsolatedExtension(extensionId, absolutePath, extension.workerName || '', contentSecurityPolicy, activationEvent);
|
|
2076
1864
|
};
|
|
2077
1865
|
|
|
2078
1866
|
const getExtensionAbsolutePath = (id, isWeb, isBuiltin, path, relativePath, origin, platform, assetDir) => {
|
|
@@ -3409,7 +3197,7 @@ const saveViewInstanceState = async (viewId, uid, assetDir, platform) => {
|
|
|
3409
3197
|
};
|
|
3410
3198
|
|
|
3411
3199
|
const getAccessToken = (options = {}) => {
|
|
3412
|
-
return invoke$
|
|
3200
|
+
return invoke$5('Auth.getAccessToken', options);
|
|
3413
3201
|
};
|
|
3414
3202
|
|
|
3415
3203
|
const transparent = (color, factor) => {
|
|
@@ -3715,7 +3503,7 @@ const createWebViewIpc = async webView => {
|
|
|
3715
3503
|
port1,
|
|
3716
3504
|
port2
|
|
3717
3505
|
} = getPortTuple();
|
|
3718
|
-
const rpcPromise = create$
|
|
3506
|
+
const rpcPromise = create$2({
|
|
3719
3507
|
commandMap: {},
|
|
3720
3508
|
isMessagePortOpen: false,
|
|
3721
3509
|
messagePort: port2
|
|
@@ -3810,6 +3598,15 @@ const getRunningExtensionsFromState = (extensions, runtimeStatuses, assetDir, pl
|
|
|
3810
3598
|
}).toSorted((a, b) => b.activationTime - a.activationTime);
|
|
3811
3599
|
};
|
|
3812
3600
|
|
|
3601
|
+
const sleep = duration => {
|
|
3602
|
+
const {
|
|
3603
|
+
promise,
|
|
3604
|
+
resolve
|
|
3605
|
+
} = Promise.withResolvers();
|
|
3606
|
+
setTimeout(resolve, duration);
|
|
3607
|
+
return promise;
|
|
3608
|
+
};
|
|
3609
|
+
|
|
3813
3610
|
const invokePing = async rpc => {
|
|
3814
3611
|
try {
|
|
3815
3612
|
await rpc.invoke('ExtensionApi.ping');
|
|
@@ -3987,7 +3784,7 @@ const handleFileChanges = async (changes = {}) => {
|
|
|
3987
3784
|
};
|
|
3988
3785
|
|
|
3989
3786
|
const handleMessagePort = async (port, rpcId) => {
|
|
3990
|
-
await create$
|
|
3787
|
+
await create$7({
|
|
3991
3788
|
commandMap: commandMapRef,
|
|
3992
3789
|
messagePort: port
|
|
3993
3790
|
});
|
|
@@ -3995,8 +3792,8 @@ const handleMessagePort = async (port, rpcId) => {
|
|
|
3995
3792
|
|
|
3996
3793
|
const prefix = '[Extension] Uncaught Error: ';
|
|
3997
3794
|
const handleUncaughtExtensionError = async error => {
|
|
3998
|
-
const prettyError = await invoke$
|
|
3999
|
-
await invoke$
|
|
3795
|
+
const prettyError = await invoke$4('Errors.prepare', error);
|
|
3796
|
+
await invoke$4('Errors.print', prettyError, prefix);
|
|
4000
3797
|
};
|
|
4001
3798
|
|
|
4002
3799
|
const handleViewContextChange = async (uid, viewId, context) => {
|
|
@@ -4004,14 +3801,14 @@ const handleViewContextChange = async (uid, viewId, context) => {
|
|
|
4004
3801
|
};
|
|
4005
3802
|
|
|
4006
3803
|
const getRpcRemote = async () => {
|
|
4007
|
-
const rpc = await create$
|
|
3804
|
+
const rpc = await create$3({
|
|
4008
3805
|
commandMap: commandMapRef,
|
|
4009
3806
|
type: 'shared-process'
|
|
4010
3807
|
});
|
|
4011
3808
|
return rpc;
|
|
4012
3809
|
};
|
|
4013
3810
|
const getRpcElectron = async () => {
|
|
4014
|
-
const rpc = create$
|
|
3811
|
+
const rpc = create$6({
|
|
4015
3812
|
commandMap: commandMapRef,
|
|
4016
3813
|
async send(port) {
|
|
4017
3814
|
await sendMessagePortToSharedProcess(port);
|
|
@@ -4138,8 +3935,6 @@ const wrapCommand = command => {
|
|
|
4138
3935
|
const commandMap = {
|
|
4139
3936
|
'ExtensionApi.readFile': readFile,
|
|
4140
3937
|
'ExtensionHostQuickPick.showQuickPick': showQuickPick,
|
|
4141
|
-
'Extensions.activate2': activateExtension2,
|
|
4142
|
-
'Extensions.activate3': activateExtension3,
|
|
4143
3938
|
'Extensions.activateByEvent': activateByEvent,
|
|
4144
3939
|
'Extensions.addExtension': addExtension,
|
|
4145
3940
|
'Extensions.addWebExtension': addWebExtension,
|
|
@@ -4196,7 +3991,6 @@ const commandMap = {
|
|
|
4196
3991
|
'Extensions.handleMessagePort': handleMessagePort,
|
|
4197
3992
|
'Extensions.handleUncaughtExtensionError': handleUncaughtExtensionError,
|
|
4198
3993
|
'Extensions.handleViewContextChange': handleViewContextChange,
|
|
4199
|
-
'Extensions.importExtension': importExtension,
|
|
4200
3994
|
'Extensions.initialize': initialize,
|
|
4201
3995
|
'Extensions.install': installExtension,
|
|
4202
3996
|
'Extensions.invalidateExtensionsCache': invalidateExtensionsCache,
|
|
@@ -4212,37 +4006,27 @@ const commandMap = {
|
|
|
4212
4006
|
};
|
|
4213
4007
|
|
|
4214
4008
|
const initializeAuthWorker = async () => {
|
|
4215
|
-
const rpc = await create$
|
|
4009
|
+
const rpc = await create$5({
|
|
4216
4010
|
commandMap: commandMapRef,
|
|
4217
4011
|
async send(port) {
|
|
4218
4012
|
await sendMessagePortToAuthWorker(port, 0);
|
|
4219
4013
|
}
|
|
4220
4014
|
});
|
|
4221
|
-
set$
|
|
4015
|
+
set$9(rpc);
|
|
4222
4016
|
};
|
|
4223
4017
|
|
|
4224
4018
|
const initializeErrorWorker = async () => {
|
|
4225
|
-
const rpc = await create$
|
|
4019
|
+
const rpc = await create$5({
|
|
4226
4020
|
commandMap: commandMapRef,
|
|
4227
4021
|
async send(port) {
|
|
4228
4022
|
await sendMessagePortToErrorWorker(port, 0);
|
|
4229
4023
|
}
|
|
4230
4024
|
});
|
|
4231
|
-
set$9(rpc);
|
|
4232
|
-
};
|
|
4233
|
-
|
|
4234
|
-
const initializeExtensionHostWorker = async () => {
|
|
4235
|
-
const rpc = await create$6({
|
|
4236
|
-
commandMap: commandMapRef,
|
|
4237
|
-
async send(port) {
|
|
4238
|
-
await sendMessagePortToExtensionHostWorker(port, 0);
|
|
4239
|
-
}
|
|
4240
|
-
});
|
|
4241
4025
|
set$8(rpc);
|
|
4242
4026
|
};
|
|
4243
4027
|
|
|
4244
4028
|
const initializeFileSystemWorker = async () => {
|
|
4245
|
-
const rpc = await create$
|
|
4029
|
+
const rpc = await create$5({
|
|
4246
4030
|
commandMap: commandMapRef,
|
|
4247
4031
|
async send(port) {
|
|
4248
4032
|
await sendMessagePortToFileSystemWorker$1(port, 0);
|
|
@@ -4252,7 +4036,7 @@ const initializeFileSystemWorker = async () => {
|
|
|
4252
4036
|
};
|
|
4253
4037
|
|
|
4254
4038
|
const initializeIframeWorker = async () => {
|
|
4255
|
-
const rpc = await create$
|
|
4039
|
+
const rpc = await create$5({
|
|
4256
4040
|
commandMap: {},
|
|
4257
4041
|
async send(port) {
|
|
4258
4042
|
await sendMessagePortToIconThemeWorker(port, 0);
|
|
@@ -4262,7 +4046,7 @@ const initializeIframeWorker = async () => {
|
|
|
4262
4046
|
};
|
|
4263
4047
|
|
|
4264
4048
|
const initializeRendererWorker = async () => {
|
|
4265
|
-
const rpc = await create$
|
|
4049
|
+
const rpc = await create$1({
|
|
4266
4050
|
commandMap: commandMap
|
|
4267
4051
|
});
|
|
4268
4052
|
set$6(rpc);
|
|
@@ -4270,7 +4054,7 @@ const initializeRendererWorker = async () => {
|
|
|
4270
4054
|
|
|
4271
4055
|
const listen = async () => {
|
|
4272
4056
|
Object.assign(commandMapRef, commandMap);
|
|
4273
|
-
await Promise.all([initializeRendererWorker(), initializeAuthWorker(), initializeErrorWorker(), initializeFileSystemWorker(), initializeIframeWorker()
|
|
4057
|
+
await Promise.all([initializeRendererWorker(), initializeAuthWorker(), initializeErrorWorker(), initializeFileSystemWorker(), initializeIframeWorker()]);
|
|
4274
4058
|
};
|
|
4275
4059
|
|
|
4276
4060
|
const main = async () => {
|