@lvce-editor/extension-management-worker 4.15.0 → 4.17.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.
|
@@ -1725,11 +1725,41 @@ const getExtensionAbsolutePath = (id, isWeb, isBuiltin, path, relativePath, orig
|
|
|
1725
1725
|
return new URL('/remote' + path + '/' + relativePath, origin).href;
|
|
1726
1726
|
};
|
|
1727
1727
|
|
|
1728
|
+
const isMissingAssetDir = assetDir => {
|
|
1729
|
+
return typeof assetDir !== 'string' || assetDir.length === 0;
|
|
1730
|
+
};
|
|
1731
|
+
const isMissingPlatform = platform => {
|
|
1732
|
+
return typeof platform !== 'number' || platform === 0;
|
|
1733
|
+
};
|
|
1734
|
+
const isStaticHttpAssetDir = assetDir => {
|
|
1735
|
+
return assetDir.startsWith('/') || assetDir.startsWith('http');
|
|
1736
|
+
};
|
|
1737
|
+
const isHttpLocation = () => {
|
|
1738
|
+
return Reflect.has(globalThis, 'location') && globalThis.location.protocol.startsWith('http');
|
|
1739
|
+
};
|
|
1740
|
+
const getRuntimeContext = async (assetDir, platform) => {
|
|
1741
|
+
const resolvedAssetDir = isMissingAssetDir(assetDir) ? await invoke$3('Layout.getAssetDir') : assetDir;
|
|
1742
|
+
const resolvedPlatform = isMissingPlatform(platform) ? await invoke$3('Layout.getPlatform') : platform;
|
|
1743
|
+
if (isHttpLocation() && isStaticHttpAssetDir(resolvedAssetDir)) {
|
|
1744
|
+
return {
|
|
1745
|
+
assetDir: resolvedAssetDir,
|
|
1746
|
+
platform: Web
|
|
1747
|
+
};
|
|
1748
|
+
}
|
|
1749
|
+
return {
|
|
1750
|
+
assetDir: resolvedAssetDir,
|
|
1751
|
+
platform: resolvedPlatform
|
|
1752
|
+
};
|
|
1753
|
+
};
|
|
1754
|
+
|
|
1755
|
+
const getResponseErrorMessage = response => {
|
|
1756
|
+
return response.statusText || String(response.status) || 'Request failed';
|
|
1757
|
+
};
|
|
1728
1758
|
const getJson$1 = async url => {
|
|
1729
1759
|
try {
|
|
1730
1760
|
const response = await fetch(url);
|
|
1731
1761
|
if (!response.ok) {
|
|
1732
|
-
throw new Error(response
|
|
1762
|
+
throw new Error(getResponseErrorMessage(response));
|
|
1733
1763
|
}
|
|
1734
1764
|
const json = await response.json();
|
|
1735
1765
|
return json;
|
|
@@ -1875,17 +1905,15 @@ const getExtensionsWithWorkspaceState = async extensions => {
|
|
|
1875
1905
|
return withWorkspaceDisabledState(extensions, workspaceDisabledIds);
|
|
1876
1906
|
};
|
|
1877
1907
|
const getAllExtensionsWithState = async (extensionsState, assetDir, platform) => {
|
|
1878
|
-
|
|
1879
|
-
assetDir
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
string(assetDir);
|
|
1885
|
-
number(platform);
|
|
1908
|
+
const {
|
|
1909
|
+
assetDir: resolvedAssetDir,
|
|
1910
|
+
platform: resolvedPlatform
|
|
1911
|
+
} = await getRuntimeContext(assetDir, platform);
|
|
1912
|
+
string(resolvedAssetDir);
|
|
1913
|
+
number(resolvedPlatform);
|
|
1886
1914
|
const meta = extensionsState.webExtensions;
|
|
1887
|
-
if (
|
|
1888
|
-
const webExtensions = await getWebExtensions(
|
|
1915
|
+
if (resolvedPlatform === Web) {
|
|
1916
|
+
const webExtensions = await getWebExtensions(resolvedAssetDir);
|
|
1889
1917
|
return getExtensionsWithWorkspaceState([...webExtensions, ...meta]);
|
|
1890
1918
|
}
|
|
1891
1919
|
const local = await invoke$2('ExtensionManagement.getAllExtensions');
|
|
@@ -1936,10 +1964,14 @@ const activateByEvent = async (event, assetDir, platform) => {
|
|
|
1936
1964
|
hasActivatedExtensions: Object.keys(activatingExtensions).length > 0
|
|
1937
1965
|
};
|
|
1938
1966
|
}
|
|
1939
|
-
const
|
|
1967
|
+
const {
|
|
1968
|
+
assetDir: resolvedAssetDir,
|
|
1969
|
+
platform: resolvedPlatform
|
|
1970
|
+
} = await getRuntimeContext(assetDir, platform);
|
|
1971
|
+
const extensions = await getAllExtensions(resolvedAssetDir, resolvedPlatform);
|
|
1940
1972
|
const matchingExtensions = extensions.filter(extension => matchesEvent(extension, event));
|
|
1941
1973
|
for (const extension of matchingExtensions) {
|
|
1942
|
-
await activateExtension(extension, event,
|
|
1974
|
+
await activateExtension(extension, event, resolvedAssetDir, resolvedPlatform);
|
|
1943
1975
|
}
|
|
1944
1976
|
return {
|
|
1945
1977
|
error: undefined,
|
|
@@ -2292,9 +2324,9 @@ const executeRpcResolveCompletionItemProvider = async (rpc, textDocument, args)
|
|
|
2292
2324
|
};
|
|
2293
2325
|
const executeCompletionProvider = async (extensionsState, textDocument, ...args) => {
|
|
2294
2326
|
const {
|
|
2327
|
+
assetDir,
|
|
2295
2328
|
platform
|
|
2296
|
-
} = extensionsState;
|
|
2297
|
-
const assetDir = '';
|
|
2329
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2298
2330
|
const extensions = await getMatchingExtensions$3(extensionsState, textDocument, assetDir, platform);
|
|
2299
2331
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2300
2332
|
const results = await Promise.all(rpcs.map(rpc => executeRpcCompletionProvider(rpc, textDocument, args)));
|
|
@@ -2302,9 +2334,9 @@ const executeCompletionProvider = async (extensionsState, textDocument, ...args)
|
|
|
2302
2334
|
};
|
|
2303
2335
|
const executeResolveCompletionItemProvider = async (extensionsState, textDocument, ...args) => {
|
|
2304
2336
|
const {
|
|
2337
|
+
assetDir,
|
|
2305
2338
|
platform
|
|
2306
|
-
} = extensionsState;
|
|
2307
|
-
const assetDir = '';
|
|
2339
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2308
2340
|
const extensions = await getMatchingExtensions$3(extensionsState, textDocument, assetDir, platform);
|
|
2309
2341
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2310
2342
|
const results = await Promise.all(rpcs.map(rpc => executeRpcResolveCompletionItemProvider(rpc, textDocument, args)));
|
|
@@ -2325,9 +2357,9 @@ const executeRpcDiagnosticProvider = async (rpc, textDocument, args) => {
|
|
|
2325
2357
|
};
|
|
2326
2358
|
const executeDiagnosticProvider = async (extensionsState, textDocument, ...args) => {
|
|
2327
2359
|
const {
|
|
2360
|
+
assetDir,
|
|
2328
2361
|
platform
|
|
2329
|
-
} = extensionsState;
|
|
2330
|
-
const assetDir = '';
|
|
2362
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2331
2363
|
const extensions = await getMatchingExtensions$2(extensionsState, textDocument, assetDir, platform);
|
|
2332
2364
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2333
2365
|
const results = await Promise.all(rpcs.map(rpc => executeRpcDiagnosticProvider(rpc, textDocument, args)));
|
|
@@ -2348,9 +2380,9 @@ const executeRpcFormattingProvider = async (rpc, textDocument, args) => {
|
|
|
2348
2380
|
};
|
|
2349
2381
|
const executeFormattingProvider = async (extensionsState, textDocument, ...args) => {
|
|
2350
2382
|
const {
|
|
2383
|
+
assetDir,
|
|
2351
2384
|
platform
|
|
2352
|
-
} = extensionsState;
|
|
2353
|
-
const assetDir = '';
|
|
2385
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2354
2386
|
const extensions = await getMatchingExtensions$1(extensionsState, textDocument, assetDir, platform);
|
|
2355
2387
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2356
2388
|
const results = await Promise.all(rpcs.map(rpc => executeRpcFormattingProvider(rpc, textDocument, args)));
|
|
@@ -2371,9 +2403,9 @@ const executeRpcHoverProvider = async (rpc, textDocument, args) => {
|
|
|
2371
2403
|
};
|
|
2372
2404
|
const executeHoverProvider = async (extensionsState, textDocument, ...args) => {
|
|
2373
2405
|
const {
|
|
2406
|
+
assetDir,
|
|
2374
2407
|
platform
|
|
2375
|
-
} = extensionsState;
|
|
2376
|
-
const assetDir = '';
|
|
2408
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2377
2409
|
const extensions = await getMatchingExtensions(extensionsState, textDocument, assetDir, platform);
|
|
2378
2410
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2379
2411
|
const results = await Promise.all(rpcs.map(rpc => executeRpcHoverProvider(rpc, textDocument, args)));
|
|
@@ -2418,16 +2450,20 @@ const getExtensionForView = async (viewId, assetDir, platform) => {
|
|
|
2418
2450
|
return extension;
|
|
2419
2451
|
};
|
|
2420
2452
|
const getRpcForView = async (viewId, assetDir, platform) => {
|
|
2421
|
-
const
|
|
2453
|
+
const {
|
|
2454
|
+
assetDir: resolvedAssetDir,
|
|
2455
|
+
platform: resolvedPlatform
|
|
2456
|
+
} = await getRuntimeContext(assetDir, platform);
|
|
2457
|
+
const extension = await getExtensionForView(viewId, resolvedAssetDir, resolvedPlatform);
|
|
2422
2458
|
const existingRpc = get$3(getExtensionId$1(extension));
|
|
2423
2459
|
if (existingRpc) {
|
|
2424
2460
|
return existingRpc;
|
|
2425
2461
|
}
|
|
2426
|
-
const activationResult = await activateByEvent(`onView:${viewId}`,
|
|
2462
|
+
const activationResult = await activateByEvent(`onView:${viewId}`, resolvedAssetDir, resolvedPlatform);
|
|
2427
2463
|
if (activationResult.error) {
|
|
2428
2464
|
throw activationResult.error;
|
|
2429
2465
|
}
|
|
2430
|
-
return getRpc$1(extension,
|
|
2466
|
+
return getRpc$1(extension, resolvedAssetDir, resolvedPlatform);
|
|
2431
2467
|
};
|
|
2432
2468
|
const getRpcForInstance = async (viewId, uid, assetDir, platform) => {
|
|
2433
2469
|
const instance = get$1(uid);
|
|
@@ -2479,6 +2515,13 @@ const getViewMenuEntries = async (viewId, uid, menuId, assetDir, platform) => {
|
|
|
2479
2515
|
}
|
|
2480
2516
|
return instance.rpc.invoke('ExtensionApi.getViewMenuEntries', uid, menuId);
|
|
2481
2517
|
};
|
|
2518
|
+
const getViewActions = async (viewId, uid, assetDir, platform) => {
|
|
2519
|
+
const instance = get$1(uid);
|
|
2520
|
+
if (!instance || instance.status === 'error') {
|
|
2521
|
+
return [];
|
|
2522
|
+
}
|
|
2523
|
+
return instance.rpc.invoke('ExtensionApi.getViewActions', uid);
|
|
2524
|
+
};
|
|
2482
2525
|
const requestViewRerender = async uid => {
|
|
2483
2526
|
await invoke$3('Viewlet.executeViewletCommand', uid, 'rerender');
|
|
2484
2527
|
};
|
|
@@ -2968,8 +3011,12 @@ const getViewsFromExtensionWorkers = async (extensions, assetDir, platform) => {
|
|
|
2968
3011
|
return results.flat();
|
|
2969
3012
|
};
|
|
2970
3013
|
const getViews = async (assetDir, platform) => {
|
|
2971
|
-
const
|
|
2972
|
-
|
|
3014
|
+
const {
|
|
3015
|
+
assetDir: resolvedAssetDir,
|
|
3016
|
+
platform: resolvedPlatform
|
|
3017
|
+
} = await getRuntimeContext(assetDir, platform);
|
|
3018
|
+
const extensions = await getAllExtensions(resolvedAssetDir, resolvedPlatform);
|
|
3019
|
+
return getViewsFromExtensionWorkers(extensions, resolvedAssetDir, resolvedPlatform);
|
|
2973
3020
|
};
|
|
2974
3021
|
|
|
2975
3022
|
const StatusBarWorker = 200;
|
|
@@ -3149,6 +3196,7 @@ const commandMap = {
|
|
|
3149
3196
|
'Extensions.getRpcInfo': getRpcInfo,
|
|
3150
3197
|
'Extensions.getRuntimeStatus': getRuntimeStatus,
|
|
3151
3198
|
'Extensions.getStatusBarItems': getStatusBarItems,
|
|
3199
|
+
'Extensions.getViewActions': getViewActions,
|
|
3152
3200
|
'Extensions.getViewMenuEntries': getViewMenuEntries,
|
|
3153
3201
|
'Extensions.getViews': getViews,
|
|
3154
3202
|
'Extensions.handleMessagePort': handleMessagePort,
|