@lvce-editor/extension-management-worker 4.37.0 → 4.37.1
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.
|
@@ -613,7 +613,7 @@ const callbacks = Object.create(null);
|
|
|
613
613
|
const get$7 = id => {
|
|
614
614
|
return callbacks[id];
|
|
615
615
|
};
|
|
616
|
-
const remove$
|
|
616
|
+
const remove$3 = id => {
|
|
617
617
|
delete callbacks[id];
|
|
618
618
|
};
|
|
619
619
|
class JsonRpcError extends Error {
|
|
@@ -807,7 +807,7 @@ const resolve = (id, response) => {
|
|
|
807
807
|
return;
|
|
808
808
|
}
|
|
809
809
|
fn(response);
|
|
810
|
-
remove$
|
|
810
|
+
remove$3(id);
|
|
811
811
|
};
|
|
812
812
|
const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
|
|
813
813
|
const getErrorType = prettyError => {
|
|
@@ -1270,7 +1270,7 @@ const set$b = (id, rpc) => {
|
|
|
1270
1270
|
const get$6 = id => {
|
|
1271
1271
|
return rpcs$2[id];
|
|
1272
1272
|
};
|
|
1273
|
-
const remove$
|
|
1273
|
+
const remove$2 = id => {
|
|
1274
1274
|
delete rpcs$2[id];
|
|
1275
1275
|
};
|
|
1276
1276
|
|
|
@@ -1300,7 +1300,7 @@ const create$1 = rpcId => {
|
|
|
1300
1300
|
set$b(rpcId, mockRpc);
|
|
1301
1301
|
// @ts-ignore
|
|
1302
1302
|
mockRpc[Symbol.dispose] = () => {
|
|
1303
|
-
remove$
|
|
1303
|
+
remove$2(rpcId);
|
|
1304
1304
|
};
|
|
1305
1305
|
// @ts-ignore
|
|
1306
1306
|
return mockRpc;
|
|
@@ -1519,6 +1519,20 @@ const updateRuntimeStatus = (id, statusUpdate) => {
|
|
|
1519
1519
|
const getRuntimeStatus$1 = extensionId => {
|
|
1520
1520
|
return state.extensionsState.runtimeStatuses[extensionId];
|
|
1521
1521
|
};
|
|
1522
|
+
const omit = (record, id) => {
|
|
1523
|
+
const result = {
|
|
1524
|
+
...record
|
|
1525
|
+
};
|
|
1526
|
+
delete result[id];
|
|
1527
|
+
return result;
|
|
1528
|
+
};
|
|
1529
|
+
const resetExtensionRuntimeState = extensionId => {
|
|
1530
|
+
update({
|
|
1531
|
+
activatedExtensions: omit(state.extensionsState.activatedExtensions, extensionId),
|
|
1532
|
+
cachedActivationEvents: omit(state.extensionsState.cachedActivationEvents, extensionId),
|
|
1533
|
+
runtimeStatuses: omit(state.extensionsState.runtimeStatuses, extensionId)
|
|
1534
|
+
});
|
|
1535
|
+
};
|
|
1522
1536
|
|
|
1523
1537
|
const baseName = path => {
|
|
1524
1538
|
const slashIndex = path.lastIndexOf('/');
|
|
@@ -1730,6 +1744,11 @@ const getAll = () => {
|
|
|
1730
1744
|
const set$2 = (extensionId, rpc) => {
|
|
1731
1745
|
rpcs$1[extensionId] = rpc;
|
|
1732
1746
|
};
|
|
1747
|
+
const remove$1 = extensionId => {
|
|
1748
|
+
const rpc = rpcs$1[extensionId];
|
|
1749
|
+
delete rpcs$1[extensionId];
|
|
1750
|
+
return rpc;
|
|
1751
|
+
};
|
|
1733
1752
|
|
|
1734
1753
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
|
|
1735
1754
|
const invoke = (method, ...params) => {
|
|
@@ -2252,6 +2271,10 @@ const getAllExtensions = async (assetDir, platform) => {
|
|
|
2252
2271
|
|
|
2253
2272
|
const activatingExtensions = Object.create(null);
|
|
2254
2273
|
const runningExtensions = Object.create(null);
|
|
2274
|
+
const resetExtensionActivation = extensionId => {
|
|
2275
|
+
delete activatingExtensions[extensionId];
|
|
2276
|
+
delete runningExtensions[extensionId];
|
|
2277
|
+
};
|
|
2255
2278
|
const matchesEvent = (extension, event) => {
|
|
2256
2279
|
return !extension.disabled && isExtensionIsolated(extension) && Array.isArray(extension.activation) && extension.activation.includes(event);
|
|
2257
2280
|
};
|
|
@@ -2311,8 +2334,12 @@ const activateByEvent = async (event, assetDir, platform) => {
|
|
|
2311
2334
|
}
|
|
2312
2335
|
};
|
|
2313
2336
|
|
|
2314
|
-
const invalidateExtensionsCache = async () => {
|
|
2337
|
+
const invalidateExtensionsCache = async (extensionId, disabled) => {
|
|
2315
2338
|
try {
|
|
2339
|
+
if (extensionId) {
|
|
2340
|
+
await invoke$2('ExtensionManagement.handleExtensionsCacheInvalidated', extensionId, disabled);
|
|
2341
|
+
return;
|
|
2342
|
+
}
|
|
2316
2343
|
await invoke$2('ExtensionManagement.handleExtensionsCacheInvalidated');
|
|
2317
2344
|
} catch {
|
|
2318
2345
|
// Older renderer workers do not expose the cache invalidation notification.
|
|
@@ -2420,6 +2447,26 @@ const createWebViewWorkerRpc = async (rpcInfo, port) => {
|
|
|
2420
2447
|
});
|
|
2421
2448
|
};
|
|
2422
2449
|
|
|
2450
|
+
const disposeIsolatedExtensionHostWorker = async (extensionId, invoke$1 = invoke) => {
|
|
2451
|
+
const rpc = remove$1(extensionId);
|
|
2452
|
+
if (!rpc) {
|
|
2453
|
+
return false;
|
|
2454
|
+
}
|
|
2455
|
+
resetExtensionActivation(extensionId);
|
|
2456
|
+
resetExtensionRuntimeState(extensionId);
|
|
2457
|
+
try {
|
|
2458
|
+
await invoke$1('LaunchIsolatedExtensionHostWorker.disposeIsolatedExtensionHostWorker', extensionId);
|
|
2459
|
+
} catch {
|
|
2460
|
+
// Older renderer workers only support disposing the extension RPC.
|
|
2461
|
+
}
|
|
2462
|
+
try {
|
|
2463
|
+
await rpc.dispose();
|
|
2464
|
+
} catch {
|
|
2465
|
+
// The extension is already disabled and removed from state.
|
|
2466
|
+
}
|
|
2467
|
+
return true;
|
|
2468
|
+
};
|
|
2469
|
+
|
|
2423
2470
|
const disableExtension2$1 = async (id, platform) => {
|
|
2424
2471
|
const isTest = platform === Test;
|
|
2425
2472
|
const isWeb = platform === Web;
|
|
@@ -2468,7 +2515,8 @@ const disableExtension2 = async (id, platform) => {
|
|
|
2468
2515
|
number(platform);
|
|
2469
2516
|
try {
|
|
2470
2517
|
await disableExtension2$1(id, platform);
|
|
2471
|
-
await
|
|
2518
|
+
await disposeIsolatedExtensionHostWorker(id);
|
|
2519
|
+
await invalidateExtensionsCache(id, true);
|
|
2472
2520
|
return undefined;
|
|
2473
2521
|
} catch (error) {
|
|
2474
2522
|
return error;
|
|
@@ -2483,7 +2531,8 @@ const disableExtension = async (id, isTest) => {
|
|
|
2483
2531
|
const disableWorkspaceExtension = async id => {
|
|
2484
2532
|
string(id);
|
|
2485
2533
|
await disableExtension$1(id);
|
|
2486
|
-
await
|
|
2534
|
+
await disposeIsolatedExtensionHostWorker(id);
|
|
2535
|
+
await invalidateExtensionsCache(id, true);
|
|
2487
2536
|
};
|
|
2488
2537
|
|
|
2489
2538
|
const enableExtension2 = async (id, platform) => {
|
|
@@ -2506,7 +2555,7 @@ const enableExtension2 = async (id, platform) => {
|
|
|
2506
2555
|
await writeFile(disabledExtensionsJsonPath, newContent);
|
|
2507
2556
|
}
|
|
2508
2557
|
await enableExtension2$1(id, platform);
|
|
2509
|
-
await invalidateExtensionsCache();
|
|
2558
|
+
await invalidateExtensionsCache(id, false);
|
|
2510
2559
|
};
|
|
2511
2560
|
|
|
2512
2561
|
const enableExtension = async (id, isTest) => {
|
|
@@ -2517,7 +2566,7 @@ const enableExtension = async (id, isTest) => {
|
|
|
2517
2566
|
const enableWorkspaceExtension = async id => {
|
|
2518
2567
|
string(id);
|
|
2519
2568
|
await enableExtension$1(id);
|
|
2520
|
-
await invalidateExtensionsCache();
|
|
2569
|
+
await invalidateExtensionsCache(id, false);
|
|
2521
2570
|
};
|
|
2522
2571
|
|
|
2523
2572
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
|