@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
- if (typeof assetDir !== 'string') {
1879
- assetDir = await invoke$3('Layout.getAssetDir');
1880
- }
1881
- if (!platform) {
1882
- platform = await invoke$3('Layout.getPlatform');
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 (platform === Web) {
1888
- const webExtensions = await getWebExtensions(assetDir);
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 extensions = await getAllExtensions(assetDir, platform);
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, assetDir, platform);
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 extension = await getExtensionForView(viewId, assetDir, platform);
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}`, assetDir, platform);
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, assetDir, platform);
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 extensions = await getAllExtensions(assetDir, platform);
2972
- return getViewsFromExtensionWorkers(extensions, assetDir, platform);
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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-management-worker",
3
- "version": "4.15.0",
3
+ "version": "4.16.0",
4
4
  "description": "Webworker for the Extension Management functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"