@lvce-editor/extension-management-worker 4.15.0 → 4.16.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,6 +1725,33 @@ 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
|
+
|
|
1728
1755
|
const getJson$1 = async url => {
|
|
1729
1756
|
try {
|
|
1730
1757
|
const response = await fetch(url);
|
|
@@ -1875,17 +1902,15 @@ const getExtensionsWithWorkspaceState = async extensions => {
|
|
|
1875
1902
|
return withWorkspaceDisabledState(extensions, workspaceDisabledIds);
|
|
1876
1903
|
};
|
|
1877
1904
|
const getAllExtensionsWithState = async (extensionsState, assetDir, platform) => {
|
|
1878
|
-
|
|
1879
|
-
assetDir
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
string(assetDir);
|
|
1885
|
-
number(platform);
|
|
1905
|
+
const {
|
|
1906
|
+
assetDir: resolvedAssetDir,
|
|
1907
|
+
platform: resolvedPlatform
|
|
1908
|
+
} = await getRuntimeContext(assetDir, platform);
|
|
1909
|
+
string(resolvedAssetDir);
|
|
1910
|
+
number(resolvedPlatform);
|
|
1886
1911
|
const meta = extensionsState.webExtensions;
|
|
1887
|
-
if (
|
|
1888
|
-
const webExtensions = await getWebExtensions(
|
|
1912
|
+
if (resolvedPlatform === Web) {
|
|
1913
|
+
const webExtensions = await getWebExtensions(resolvedAssetDir);
|
|
1889
1914
|
return getExtensionsWithWorkspaceState([...webExtensions, ...meta]);
|
|
1890
1915
|
}
|
|
1891
1916
|
const local = await invoke$2('ExtensionManagement.getAllExtensions');
|
|
@@ -1936,10 +1961,14 @@ const activateByEvent = async (event, assetDir, platform) => {
|
|
|
1936
1961
|
hasActivatedExtensions: Object.keys(activatingExtensions).length > 0
|
|
1937
1962
|
};
|
|
1938
1963
|
}
|
|
1939
|
-
const
|
|
1964
|
+
const {
|
|
1965
|
+
assetDir: resolvedAssetDir,
|
|
1966
|
+
platform: resolvedPlatform
|
|
1967
|
+
} = await getRuntimeContext(assetDir, platform);
|
|
1968
|
+
const extensions = await getAllExtensions(resolvedAssetDir, resolvedPlatform);
|
|
1940
1969
|
const matchingExtensions = extensions.filter(extension => matchesEvent(extension, event));
|
|
1941
1970
|
for (const extension of matchingExtensions) {
|
|
1942
|
-
await activateExtension(extension, event,
|
|
1971
|
+
await activateExtension(extension, event, resolvedAssetDir, resolvedPlatform);
|
|
1943
1972
|
}
|
|
1944
1973
|
return {
|
|
1945
1974
|
error: undefined,
|
|
@@ -2292,9 +2321,9 @@ const executeRpcResolveCompletionItemProvider = async (rpc, textDocument, args)
|
|
|
2292
2321
|
};
|
|
2293
2322
|
const executeCompletionProvider = async (extensionsState, textDocument, ...args) => {
|
|
2294
2323
|
const {
|
|
2324
|
+
assetDir,
|
|
2295
2325
|
platform
|
|
2296
|
-
} = extensionsState;
|
|
2297
|
-
const assetDir = '';
|
|
2326
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2298
2327
|
const extensions = await getMatchingExtensions$3(extensionsState, textDocument, assetDir, platform);
|
|
2299
2328
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2300
2329
|
const results = await Promise.all(rpcs.map(rpc => executeRpcCompletionProvider(rpc, textDocument, args)));
|
|
@@ -2302,9 +2331,9 @@ const executeCompletionProvider = async (extensionsState, textDocument, ...args)
|
|
|
2302
2331
|
};
|
|
2303
2332
|
const executeResolveCompletionItemProvider = async (extensionsState, textDocument, ...args) => {
|
|
2304
2333
|
const {
|
|
2334
|
+
assetDir,
|
|
2305
2335
|
platform
|
|
2306
|
-
} = extensionsState;
|
|
2307
|
-
const assetDir = '';
|
|
2336
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2308
2337
|
const extensions = await getMatchingExtensions$3(extensionsState, textDocument, assetDir, platform);
|
|
2309
2338
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2310
2339
|
const results = await Promise.all(rpcs.map(rpc => executeRpcResolveCompletionItemProvider(rpc, textDocument, args)));
|
|
@@ -2325,9 +2354,9 @@ const executeRpcDiagnosticProvider = async (rpc, textDocument, args) => {
|
|
|
2325
2354
|
};
|
|
2326
2355
|
const executeDiagnosticProvider = async (extensionsState, textDocument, ...args) => {
|
|
2327
2356
|
const {
|
|
2357
|
+
assetDir,
|
|
2328
2358
|
platform
|
|
2329
|
-
} = extensionsState;
|
|
2330
|
-
const assetDir = '';
|
|
2359
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2331
2360
|
const extensions = await getMatchingExtensions$2(extensionsState, textDocument, assetDir, platform);
|
|
2332
2361
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2333
2362
|
const results = await Promise.all(rpcs.map(rpc => executeRpcDiagnosticProvider(rpc, textDocument, args)));
|
|
@@ -2348,9 +2377,9 @@ const executeRpcFormattingProvider = async (rpc, textDocument, args) => {
|
|
|
2348
2377
|
};
|
|
2349
2378
|
const executeFormattingProvider = async (extensionsState, textDocument, ...args) => {
|
|
2350
2379
|
const {
|
|
2380
|
+
assetDir,
|
|
2351
2381
|
platform
|
|
2352
|
-
} = extensionsState;
|
|
2353
|
-
const assetDir = '';
|
|
2382
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2354
2383
|
const extensions = await getMatchingExtensions$1(extensionsState, textDocument, assetDir, platform);
|
|
2355
2384
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2356
2385
|
const results = await Promise.all(rpcs.map(rpc => executeRpcFormattingProvider(rpc, textDocument, args)));
|
|
@@ -2371,9 +2400,9 @@ const executeRpcHoverProvider = async (rpc, textDocument, args) => {
|
|
|
2371
2400
|
};
|
|
2372
2401
|
const executeHoverProvider = async (extensionsState, textDocument, ...args) => {
|
|
2373
2402
|
const {
|
|
2403
|
+
assetDir,
|
|
2374
2404
|
platform
|
|
2375
|
-
} = extensionsState;
|
|
2376
|
-
const assetDir = '';
|
|
2405
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2377
2406
|
const extensions = await getMatchingExtensions(extensionsState, textDocument, assetDir, platform);
|
|
2378
2407
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2379
2408
|
const results = await Promise.all(rpcs.map(rpc => executeRpcHoverProvider(rpc, textDocument, args)));
|
|
@@ -2418,16 +2447,20 @@ const getExtensionForView = async (viewId, assetDir, platform) => {
|
|
|
2418
2447
|
return extension;
|
|
2419
2448
|
};
|
|
2420
2449
|
const getRpcForView = async (viewId, assetDir, platform) => {
|
|
2421
|
-
const
|
|
2450
|
+
const {
|
|
2451
|
+
assetDir: resolvedAssetDir,
|
|
2452
|
+
platform: resolvedPlatform
|
|
2453
|
+
} = await getRuntimeContext(assetDir, platform);
|
|
2454
|
+
const extension = await getExtensionForView(viewId, resolvedAssetDir, resolvedPlatform);
|
|
2422
2455
|
const existingRpc = get$3(getExtensionId$1(extension));
|
|
2423
2456
|
if (existingRpc) {
|
|
2424
2457
|
return existingRpc;
|
|
2425
2458
|
}
|
|
2426
|
-
const activationResult = await activateByEvent(`onView:${viewId}`,
|
|
2459
|
+
const activationResult = await activateByEvent(`onView:${viewId}`, resolvedAssetDir, resolvedPlatform);
|
|
2427
2460
|
if (activationResult.error) {
|
|
2428
2461
|
throw activationResult.error;
|
|
2429
2462
|
}
|
|
2430
|
-
return getRpc$1(extension,
|
|
2463
|
+
return getRpc$1(extension, resolvedAssetDir, resolvedPlatform);
|
|
2431
2464
|
};
|
|
2432
2465
|
const getRpcForInstance = async (viewId, uid, assetDir, platform) => {
|
|
2433
2466
|
const instance = get$1(uid);
|
|
@@ -2479,6 +2512,13 @@ const getViewMenuEntries = async (viewId, uid, menuId, assetDir, platform) => {
|
|
|
2479
2512
|
}
|
|
2480
2513
|
return instance.rpc.invoke('ExtensionApi.getViewMenuEntries', uid, menuId);
|
|
2481
2514
|
};
|
|
2515
|
+
const getViewActions = async (viewId, uid, assetDir, platform) => {
|
|
2516
|
+
const instance = get$1(uid);
|
|
2517
|
+
if (!instance || instance.status === 'error') {
|
|
2518
|
+
return [];
|
|
2519
|
+
}
|
|
2520
|
+
return instance.rpc.invoke('ExtensionApi.getViewActions', uid);
|
|
2521
|
+
};
|
|
2482
2522
|
const requestViewRerender = async uid => {
|
|
2483
2523
|
await invoke$3('Viewlet.executeViewletCommand', uid, 'rerender');
|
|
2484
2524
|
};
|
|
@@ -2968,8 +3008,12 @@ const getViewsFromExtensionWorkers = async (extensions, assetDir, platform) => {
|
|
|
2968
3008
|
return results.flat();
|
|
2969
3009
|
};
|
|
2970
3010
|
const getViews = async (assetDir, platform) => {
|
|
2971
|
-
const
|
|
2972
|
-
|
|
3011
|
+
const {
|
|
3012
|
+
assetDir: resolvedAssetDir,
|
|
3013
|
+
platform: resolvedPlatform
|
|
3014
|
+
} = await getRuntimeContext(assetDir, platform);
|
|
3015
|
+
const extensions = await getAllExtensions(resolvedAssetDir, resolvedPlatform);
|
|
3016
|
+
return getViewsFromExtensionWorkers(extensions, resolvedAssetDir, resolvedPlatform);
|
|
2973
3017
|
};
|
|
2974
3018
|
|
|
2975
3019
|
const StatusBarWorker = 200;
|
|
@@ -3149,6 +3193,7 @@ const commandMap = {
|
|
|
3149
3193
|
'Extensions.getRpcInfo': getRpcInfo,
|
|
3150
3194
|
'Extensions.getRuntimeStatus': getRuntimeStatus,
|
|
3151
3195
|
'Extensions.getStatusBarItems': getStatusBarItems,
|
|
3196
|
+
'Extensions.getViewActions': getViewActions,
|
|
3152
3197
|
'Extensions.getViewMenuEntries': getViewMenuEntries,
|
|
3153
3198
|
'Extensions.getViews': getViews,
|
|
3154
3199
|
'Extensions.handleMessagePort': handleMessagePort,
|