@lvce-editor/extension-management-worker 4.0.0 → 4.2.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.
@@ -1,7 +1,3 @@
1
- const activateByEvent = async () => {
2
- // TODO
3
- };
4
-
5
1
  class AssertionError extends Error {
6
2
  constructor(message) {
7
3
  super(message);
@@ -1216,7 +1212,7 @@ const createMockRpc = ({
1216
1212
  };
1217
1213
 
1218
1214
  const rpcs$2 = Object.create(null);
1219
- const set$7 = (id, rpc) => {
1215
+ const set$8 = (id, rpc) => {
1220
1216
  rpcs$2[id] = rpc;
1221
1217
  };
1222
1218
  const get$4 = id => {
@@ -1249,7 +1245,7 @@ const create$1 = rpcId => {
1249
1245
  const mockRpc = createMockRpc({
1250
1246
  commandMap
1251
1247
  });
1252
- set$7(rpcId, mockRpc);
1248
+ set$8(rpcId, mockRpc);
1253
1249
  // @ts-ignore
1254
1250
  mockRpc[Symbol.dispose] = () => {
1255
1251
  remove(rpcId);
@@ -1258,7 +1254,7 @@ const create$1 = rpcId => {
1258
1254
  return mockRpc;
1259
1255
  },
1260
1256
  set(rpc) {
1261
- set$7(rpcId, rpc);
1257
+ set$8(rpcId, rpc);
1262
1258
  }
1263
1259
  };
1264
1260
  };
@@ -1275,25 +1271,25 @@ const SharedProcess = 1492;
1275
1271
 
1276
1272
  const {
1277
1273
  dispose,
1278
- invoke: invoke$4,
1274
+ invoke: invoke$5,
1279
1275
  invokeAndTransfer: invokeAndTransfer$2,
1280
1276
  registerMockRpc,
1281
- set: set$6
1277
+ set: set$7
1282
1278
  } = create$1(ExtensionHostWorker);
1283
1279
  const executeReferenceProvider = async (id, offset) => {
1284
1280
  // @ts-ignore
1285
- return invoke$4('ExtensionHostReference.executeReferenceProvider', id, offset);
1281
+ return invoke$5('ExtensionHostReference.executeReferenceProvider', id, offset);
1286
1282
  };
1287
1283
  const executeFileReferenceProvider = async id => {
1288
1284
  // @ts-ignore
1289
- return invoke$4('ExtensionHostReference.executeFileReferenceProvider', id);
1285
+ return invoke$5('ExtensionHostReference.executeFileReferenceProvider', id);
1290
1286
  };
1291
1287
  const getRuntimeStatus$2 = async extensionId => {
1292
1288
  // @ts-ignore
1293
- return invoke$4('ExtensionHost.getRuntimeStatus', extensionId);
1289
+ return invoke$5('ExtensionHost.getRuntimeStatus', extensionId);
1294
1290
  };
1295
1291
  const getEnabledOutputProviderIds = async () => {
1296
- const channels = await invoke$4('Output.getEnabledProviders');
1292
+ const channels = await invoke$5('Output.getEnabledProviders');
1297
1293
  return channels;
1298
1294
  };
1299
1295
 
@@ -1304,30 +1300,30 @@ const ExtensionHost = {
1304
1300
  executeReferenceProvider,
1305
1301
  getEnabledOutputProviderIds,
1306
1302
  getRuntimeStatus: getRuntimeStatus$2,
1307
- invoke: invoke$4,
1303
+ invoke: invoke$5,
1308
1304
  invokeAndTransfer: invokeAndTransfer$2,
1309
1305
  registerMockRpc,
1310
- set: set$6
1306
+ set: set$7
1311
1307
  };
1312
1308
 
1313
1309
  const {
1314
- invoke: invoke$3,
1315
- set: set$5
1310
+ invoke: invoke$4,
1311
+ set: set$6
1316
1312
  } = create$1(FileSystemWorker);
1317
1313
  const readFile = async uri => {
1318
- return invoke$3('FileSystem.readFile', uri);
1314
+ return invoke$4('FileSystem.readFile', uri);
1319
1315
  };
1320
1316
  const writeFile = async (uri, content) => {
1321
- return invoke$3('FileSystem.writeFile', uri, content);
1317
+ return invoke$4('FileSystem.writeFile', uri, content);
1322
1318
  };
1323
1319
  const exists = async uri => {
1324
- return invoke$3('FileSystem.exists', uri);
1320
+ return invoke$4('FileSystem.exists', uri);
1325
1321
  };
1326
1322
 
1327
1323
  const {
1328
- invoke: invoke$2,
1324
+ invoke: invoke$3,
1329
1325
  invokeAndTransfer: invokeAndTransfer$1,
1330
- set: set$4
1326
+ set: set$5
1331
1327
  } = create$1(RendererWorker);
1332
1328
  const sendMessagePortToIconThemeWorker = async (port, rpcId) => {
1333
1329
  const command = 'IconTheme.handleMessagePort';
@@ -1347,8 +1343,8 @@ const sendMessagePortToSharedProcess = async port => {
1347
1343
  };
1348
1344
 
1349
1345
  const {
1350
- invoke: invoke$1,
1351
- set: set$3
1346
+ invoke: invoke$2,
1347
+ set: set$4
1352
1348
  } = create$1(SharedProcess);
1353
1349
 
1354
1350
  const create = () => {
@@ -1399,11 +1395,11 @@ let extensionsState = createInitialState();
1399
1395
  const get$3 = () => {
1400
1396
  return extensionsState;
1401
1397
  };
1402
- const set$2 = newState => {
1398
+ const set$3 = newState => {
1403
1399
  extensionsState = newState;
1404
1400
  };
1405
1401
  const update = newState => {
1406
- set$2({
1402
+ set$3({
1407
1403
  ...extensionsState,
1408
1404
  ...newState
1409
1405
  });
@@ -1452,7 +1448,7 @@ const baseName = path => {
1452
1448
  const slashIndex = path.lastIndexOf('/');
1453
1449
  return path.slice(slashIndex + 1);
1454
1450
  };
1455
- const getExtensionId = extension => {
1451
+ const getExtensionId$2 = extension => {
1456
1452
  if (extension && extension.id) {
1457
1453
  return extension.id;
1458
1454
  }
@@ -1540,7 +1536,7 @@ const activateExtension2 = async (extensionId, extension, absolutePath, extensio
1540
1536
  status: Activated
1541
1537
  });
1542
1538
  } catch (error) {
1543
- const id = getExtensionId(extension);
1539
+ const id = getExtensionId$2(extension);
1544
1540
  if (isImportError(error)) {
1545
1541
  const actualErrorMessage = await tryToGetActualImportErrorMessage(absolutePath, error);
1546
1542
  throw new Error(`Failed to activate extension ${id}: ${actualErrorMessage}`, {
@@ -1558,51 +1554,41 @@ const activateExtension2 = async (extensionId, extension, absolutePath, extensio
1558
1554
 
1559
1555
  const commandMapRef = {};
1560
1556
 
1561
- const getPortTuple = () => {
1562
- const {
1563
- port1,
1564
- port2
1565
- } = new MessageChannel();
1566
- return {
1567
- port1,
1568
- port2
1569
- };
1570
- };
1571
-
1572
1557
  const rpcs$1 = Object.create(null);
1573
1558
  const get$2 = extensionId => {
1574
1559
  return rpcs$1[extensionId];
1575
1560
  };
1576
- const set$1 = (extensionId, rpc) => {
1561
+ const getAll = () => {
1562
+ return Object.values(rpcs$1);
1563
+ };
1564
+ const set$2 = (extensionId, rpc) => {
1577
1565
  rpcs$1[extensionId] = rpc;
1578
1566
  };
1579
1567
 
1580
1568
  /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
1581
- const invoke = (method, ...params) => {
1582
- return invoke$2(method, ...params);
1569
+ const invoke$1 = (method, ...params) => {
1570
+ return invoke$3(method, ...params);
1583
1571
  };
1584
1572
  const invokeAndTransfer = (method, ...params) => {
1585
1573
  return invokeAndTransfer$1(method, ...params);
1586
1574
  };
1587
1575
 
1588
- const getOrCreateIsolatedExtensionHostWorker = async extensionId => {
1576
+ const createIsolatedExtensionHostWorker = async (extensionId, absolutePath, createRpc, invokeAndTransfer) => {
1577
+ return createRpc({
1578
+ commandMap: commandMapRef,
1579
+ isMessagePortOpen: true,
1580
+ send(port) {
1581
+ return invokeAndTransfer('LaunchIsolatedExtensionHostWorker.launchIsolatedExtensionHostWorker', port, extensionId, absolutePath);
1582
+ }
1583
+ });
1584
+ };
1585
+ const getOrCreateIsolatedExtensionHostWorker = async (extensionId, absolutePath) => {
1589
1586
  const existingRpc = get$2(extensionId);
1590
1587
  if (existingRpc) {
1591
1588
  return existingRpc;
1592
1589
  }
1593
- const {
1594
- port1,
1595
- port2
1596
- } = getPortTuple();
1597
- const rpcPromise = create$3({
1598
- commandMap: commandMapRef,
1599
- isMessagePortOpen: true,
1600
- messagePort: port2
1601
- });
1602
- port2.start();
1603
- await invokeAndTransfer('LaunchIsolatedExtensionHostWorker.launchIsolatedExtensionHostWorker', port1, extensionId);
1604
- const rpc = await rpcPromise;
1605
- set$1(extensionId, rpc);
1590
+ const rpc = await createIsolatedExtensionHostWorker(extensionId, absolutePath, create$7, invokeAndTransfer);
1591
+ set$2(extensionId, rpc);
1606
1592
  return rpc;
1607
1593
  };
1608
1594
 
@@ -1704,9 +1690,38 @@ const isExtensionIsolated = extension => {
1704
1690
  const activateExtension3 = async (extension, absolutePath, activationEvent, platform) => {
1705
1691
  handleRpcInfos(extension, platform);
1706
1692
  const extensionId = extension.id || interExtensionId(extension.uri);
1707
- const extensionHost = isExtensionIsolated(extension) ? await getOrCreateIsolatedExtensionHostWorker(extensionId) : undefined;
1708
- await importExtension(extensionId, absolutePath, activationEvent, extensionHost);
1709
- await activateExtension2(extensionId, extension, absolutePath, extensionHost);
1693
+ if (isExtensionIsolated(extension)) {
1694
+ await getOrCreateIsolatedExtensionHostWorker(extensionId, absolutePath);
1695
+ return;
1696
+ }
1697
+ await importExtension(extensionId, absolutePath, activationEvent);
1698
+ await activateExtension2(extensionId, extension, absolutePath);
1699
+ };
1700
+
1701
+ const getExtensionAbsolutePath = (id, isWeb, isBuiltin, path, relativePath, origin, platform, assetDir) => {
1702
+ if (path.startsWith('http')) {
1703
+ if (path.endsWith('/')) {
1704
+ return new URL(relativePath, path).toString();
1705
+ }
1706
+ return new URL(relativePath, path + '/').toString();
1707
+ }
1708
+ if (!path.startsWith('/')) {
1709
+ path = '/' + path;
1710
+ }
1711
+ if (isWeb) {
1712
+ return path + '/' + relativePath;
1713
+ }
1714
+ if (platform === Web) {
1715
+ return path + '/' + relativePath;
1716
+ }
1717
+ if (isBuiltin) {
1718
+ return `${assetDir}/extensions/${id}/${relativePath}`;
1719
+ }
1720
+ return new URL('/remote' + path + '/' + relativePath, origin).toString();
1721
+ };
1722
+
1723
+ const getDynamicWebExtensions = () => {
1724
+ return get$3().webExtensions;
1710
1725
  };
1711
1726
 
1712
1727
  const getJson$1 = async url => {
@@ -1722,6 +1737,74 @@ const getJson$1 = async url => {
1722
1737
  }
1723
1738
  };
1724
1739
 
1740
+ const getWebExtensionsUrl = assetDir => {
1741
+ return `${assetDir}/config/extensions.json`;
1742
+ };
1743
+
1744
+ const getWebExtensions = async assetDir => {
1745
+ try {
1746
+ return await getJson$1(getWebExtensionsUrl(assetDir));
1747
+ } catch {
1748
+ return [];
1749
+ }
1750
+ };
1751
+
1752
+ const getAllExtensions = async (assetDir, platform) => {
1753
+ if (typeof assetDir !== 'string') {
1754
+ assetDir = await invoke$3('Layout.getAssetDir');
1755
+ }
1756
+ if (!platform) {
1757
+ platform = await invoke$3('Layout.getPlatform');
1758
+ }
1759
+ string(assetDir);
1760
+ number(platform);
1761
+ const meta = getDynamicWebExtensions();
1762
+ if (platform === Web) {
1763
+ const webExtensions = await getWebExtensions(assetDir);
1764
+ return [...webExtensions, ...meta];
1765
+ }
1766
+ const local = await invoke$2('ExtensionManagement.getAllExtensions');
1767
+ return [...local, ...meta];
1768
+ };
1769
+
1770
+ const activatingExtensions = Object.create(null);
1771
+ const runningExtensions = Object.create(null);
1772
+ const matchesEvent = (extension, event) => {
1773
+ return isExtensionIsolated(extension) && Array.isArray(extension.activation) && extension.activation.includes(event);
1774
+ };
1775
+ const getExtensionId$1 = extension => {
1776
+ return extension.id;
1777
+ };
1778
+ const getAbsolutePath = (extension, assetDir, platform) => {
1779
+ return getExtensionAbsolutePath(extension.id, extension.isWeb, extension.builtin, extension.uri || extension.path, extension.browser, globalThis.location.origin, platform, assetDir);
1780
+ };
1781
+ const activateExtension = async (extension, event, assetDir, platform) => {
1782
+ const extensionId = getExtensionId$1(extension);
1783
+ if (runningExtensions[extensionId]) {
1784
+ return;
1785
+ }
1786
+ if (!Object.hasOwn(activatingExtensions, extensionId)) {
1787
+ const absolutePath = getAbsolutePath(extension, assetDir, platform);
1788
+ activatingExtensions[extensionId] = activateExtension3(extension, absolutePath, event, platform).then(() => {
1789
+ runningExtensions[extensionId] = true;
1790
+ }).finally(() => {
1791
+ delete activatingExtensions[extensionId];
1792
+ });
1793
+ }
1794
+ await activatingExtensions[extensionId];
1795
+ };
1796
+ const activateByEvent = async (event, assetDir, platform) => {
1797
+ if (event === 'none') {
1798
+ await Promise.all(Object.values(activatingExtensions));
1799
+ return;
1800
+ }
1801
+ const extensions = await getAllExtensions(assetDir, platform);
1802
+ const matchingExtensions = extensions.filter(extension => matchesEvent(extension, event));
1803
+ for (const extension of matchingExtensions) {
1804
+ await activateExtension(extension, event, assetDir, platform);
1805
+ }
1806
+ };
1807
+
1725
1808
  const getWebExtensionManifest = async (path, manifestPath) => {
1726
1809
  try {
1727
1810
  const manifest = await getJson$1(manifestPath);
@@ -1741,6 +1824,24 @@ const getWebManifestPath = path => {
1741
1824
  return manifestPath;
1742
1825
  };
1743
1826
 
1827
+ let rpc;
1828
+ const set$1 = value => {
1829
+ rpc = value;
1830
+ };
1831
+ const invoke = async (method, ...params) => {
1832
+ if (!rpc) {
1833
+ return undefined;
1834
+ }
1835
+ return rpc.invoke(method, ...params);
1836
+ };
1837
+
1838
+ const handleChange = async id => {
1839
+ await invoke('StatusBar.handleChange', id);
1840
+ };
1841
+
1842
+ const hasStatusBarItems = manifest => {
1843
+ return Array.isArray(manifest.statusBarItems) && manifest.statusBarItems.length > 0;
1844
+ };
1744
1845
  const addWebExtension = async path => {
1745
1846
  if (hasWebExtensionUri(path)) {
1746
1847
  return undefined;
@@ -1749,6 +1850,9 @@ const addWebExtension = async path => {
1749
1850
  const manifest = await getWebExtensionManifest(path, manifestPath);
1750
1851
  addWebExtension$1(manifest);
1751
1852
  clearCachedExtensions();
1853
+ if (hasStatusBarItems(manifest)) {
1854
+ await handleChange(manifest.id || path);
1855
+ }
1752
1856
  return manifest;
1753
1857
  };
1754
1858
 
@@ -1849,7 +1953,7 @@ const disableExtension2$1 = async (id, platform) => {
1849
1953
  ...oldState,
1850
1954
  disabledIds: [...oldState.disabledIds, id]
1851
1955
  };
1852
- set$2(newState);
1956
+ set$3(newState);
1853
1957
  } else if (isWeb) {
1854
1958
  const cached = await getJson(disabledExtensionsCacheKey);
1855
1959
  const oldDisabled = cached?.disabledExtensions || [];
@@ -1859,7 +1963,7 @@ const disableExtension2$1 = async (id, platform) => {
1859
1963
  };
1860
1964
  await setJson(disabledExtensionsCacheKey, newData);
1861
1965
  } else {
1862
- await invoke$1('ExtensionManagement.disable', id);
1966
+ await invoke$2('ExtensionManagement.disable', id);
1863
1967
  }
1864
1968
  };
1865
1969
  const enableExtension2$1 = async (id, platform) => {
@@ -1871,7 +1975,7 @@ const enableExtension2$1 = async (id, platform) => {
1871
1975
  ...oldState,
1872
1976
  disabledIds: oldState.disabledIds.filter(existing => existing !== id)
1873
1977
  };
1874
- set$2(newState);
1978
+ set$3(newState);
1875
1979
  } else if (isWeb) {
1876
1980
  const cached = await getJson(disabledExtensionsCacheKey);
1877
1981
  const oldDisabled = cached?.disabledExtensions || [];
@@ -1884,7 +1988,7 @@ const enableExtension2$1 = async (id, platform) => {
1884
1988
  };
1885
1989
 
1886
1990
  const invalidateExtensionsCache = async () => {
1887
- await invoke$2('ExtensionManagement.invalidateExtensionsCache');
1991
+ await invoke$3('ExtensionManagement.invalidateExtensionsCache');
1888
1992
  };
1889
1993
 
1890
1994
  const disableExtension2 = async (id, platform) => {
@@ -1908,7 +2012,7 @@ const enableExtension2 = async (id, platform) => {
1908
2012
  string(id);
1909
2013
  number(platform);
1910
2014
  if (platform === Remote || platform === Electron) {
1911
- const disabledExtensionsJsonPath = await invoke$2('WebView.compatSharedProcessInvoke', 'PlatformPaths.getDisabledExtensionsJsonUri');
2015
+ const disabledExtensionsJsonPath = await invoke$3('WebView.compatSharedProcessInvoke', 'PlatformPaths.getDisabledExtensionsJsonUri');
1912
2016
  const exists$1 = await exists(disabledExtensionsJsonPath);
1913
2017
  if (!exists$1) {
1914
2018
  return undefined;
@@ -1931,6 +2035,43 @@ const enableExtension = async (id, isTest) => {
1931
2035
  return enableExtension2(id, oldState.platform);
1932
2036
  };
1933
2037
 
2038
+ const getExtensionId = extension => {
2039
+ return extension.id || interExtensionId(extension.uri || extension.path || '');
2040
+ };
2041
+ const contributesCommand = (extension, id) => {
2042
+ return Array.isArray(extension.commands) && extension.commands.some(command => command.id === id);
2043
+ };
2044
+ const getContributingExtension = async (id, platform) => {
2045
+ const extensions = await getAllExtensions('', platform);
2046
+ return extensions.find(extension => isExtensionIsolated(extension) && contributesCommand(extension, id));
2047
+ };
2048
+ const getRpcForCommand = async (id, platform) => {
2049
+ const extension = await getContributingExtension(id, platform);
2050
+ if (!extension) {
2051
+ return undefined;
2052
+ }
2053
+ const extensionId = getExtensionId(extension);
2054
+ const existingRpc = get$2(extensionId);
2055
+ if (existingRpc) {
2056
+ return existingRpc;
2057
+ }
2058
+ await activateByEvent(`onCommand:${id}`, '', platform);
2059
+ return get$2(extensionId);
2060
+ };
2061
+ const executeRendererCommand = (id, args) => {
2062
+ return invoke$3(id, ...args);
2063
+ };
2064
+ const executeCommand = async (id, ...args) => {
2065
+ const {
2066
+ platform
2067
+ } = get$3();
2068
+ const rpc = await getRpcForCommand(id, platform);
2069
+ if (rpc) {
2070
+ return rpc.invoke('ExtensionApi.executeCommand', id, ...args);
2071
+ }
2072
+ return executeRendererCommand(id, args);
2073
+ };
2074
+
1934
2075
  /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
1935
2076
  const warn = (...args) => {
1936
2077
  console.warn(...args);
@@ -2072,7 +2213,7 @@ const getColorThemeCssCached = async (colorThemeId, platform, getData) => {
2072
2213
  };
2073
2214
 
2074
2215
  const readJson = url => {
2075
- return invoke$2('FileSystem.readJson', url);
2216
+ return invoke$3('FileSystem.readJson', url);
2076
2217
  };
2077
2218
 
2078
2219
  const join = (pathSeparator, ...parts) => {
@@ -2095,40 +2236,6 @@ const getColorThemeUri = (extensions, colorThemeId) => {
2095
2236
  return '';
2096
2237
  };
2097
2238
 
2098
- const getDynamicWebExtensions = () => {
2099
- return get$3().webExtensions;
2100
- };
2101
-
2102
- const getWebExtensionsUrl = assetDir => {
2103
- return `${assetDir}/config/extensions.json`;
2104
- };
2105
-
2106
- const getWebExtensions = async assetDir => {
2107
- try {
2108
- return await getJson$1(getWebExtensionsUrl(assetDir));
2109
- } catch {
2110
- return [];
2111
- }
2112
- };
2113
-
2114
- const getAllExtensions = async (assetDir, platform) => {
2115
- if (typeof assetDir !== 'string') {
2116
- assetDir = await invoke$2('Layout.getAssetDir');
2117
- }
2118
- if (!platform) {
2119
- platform = await invoke$2('Layout.getPlatform');
2120
- }
2121
- string(assetDir);
2122
- number(platform);
2123
- const meta = getDynamicWebExtensions();
2124
- if (platform === Web) {
2125
- const webExtensions = await getWebExtensions(assetDir);
2126
- return [...webExtensions, ...meta];
2127
- }
2128
- const local = await invoke$1('ExtensionManagement.getAllExtensions');
2129
- return [...local, ...meta];
2130
- };
2131
-
2132
2239
  const getColorThemeJson$2 = async (colorThemeId, assetDir, platform) => {
2133
2240
  const extensions = await getAllExtensions(assetDir, platform);
2134
2241
  const colorThemeUri = getColorThemeUri(extensions, colorThemeId);
@@ -2201,6 +2308,17 @@ const getExtension = async (id, assetDir, platform) => {
2201
2308
  return undefined;
2202
2309
  };
2203
2310
 
2311
+ const getPortTuple = () => {
2312
+ const {
2313
+ port1,
2314
+ port2
2315
+ } = new MessageChannel();
2316
+ return {
2317
+ port1,
2318
+ port2
2319
+ };
2320
+ };
2321
+
2204
2322
  const createWebViewIpc = async webView => {
2205
2323
  const {
2206
2324
  origin,
@@ -2241,7 +2359,7 @@ const getRemoteUrlForWebView = async (uri, options = {}) => {
2241
2359
  if (!webView) {
2242
2360
  throw new Error(`webview ${options.webViewId} not found`);
2243
2361
  }
2244
- const [rpc, blob] = await Promise.all([createWebViewIpc(webView), invoke('FileSystem.getBlob', uri)]);
2362
+ const [rpc, blob] = await Promise.all([createWebViewIpc(webView), invoke$1('FileSystem.getBlob', uri)]);
2245
2363
  const objectUrl = await rpc.invoke('createObjectUrl', blob);
2246
2364
  return objectUrl;
2247
2365
  };
@@ -2269,11 +2387,25 @@ const getRuntimeStatus = extensionId => {
2269
2387
  return getRuntimeStatus$1(extensionId) || emptyStatus;
2270
2388
  };
2271
2389
 
2272
- const handleMessagePort = async port => {
2273
- await create$8({
2390
+ const getItems = async rpc => {
2391
+ return rpc.invoke('ExtensionApi.getStatusBarItems');
2392
+ };
2393
+ const getStatusBarItems = async () => {
2394
+ const rpcs = getAll();
2395
+ const results = await Promise.all(rpcs.map(getItems));
2396
+ return results.flat();
2397
+ };
2398
+
2399
+ const StatusBarWorker = 200;
2400
+
2401
+ const handleMessagePort = async (port, rpcId) => {
2402
+ const rpc = await create$8({
2274
2403
  commandMap: commandMapRef,
2275
2404
  messagePort: port
2276
2405
  });
2406
+ if (rpcId === StatusBarWorker) {
2407
+ set$1(rpc);
2408
+ }
2277
2409
  };
2278
2410
 
2279
2411
  const getRpcRemote = async () => {
@@ -2305,7 +2437,7 @@ const getRpc = async platform => {
2305
2437
  const initializeSharedProcess = async platform => {
2306
2438
  const rpc = await getRpc(platform);
2307
2439
  if (rpc) {
2308
- set$3(rpc);
2440
+ set$4(rpc);
2309
2441
  }
2310
2442
  };
2311
2443
 
@@ -2386,6 +2518,7 @@ const commandMap = {
2386
2518
  'Extensions.disable2': disableExtension2,
2387
2519
  'Extensions.enable': enableExtension,
2388
2520
  'Extensions.enable2': enableExtension2,
2521
+ 'Extensions.executeCommand': executeCommand,
2389
2522
  'Extensions.getAllExtensions': getAllExtensions,
2390
2523
  'Extensions.getColorThemeCss': getColorThemeCss,
2391
2524
  'Extensions.getColorThemeCssFromJson': getColorThemeCssFromJson,
@@ -2397,12 +2530,14 @@ const commandMap = {
2397
2530
  'Extensions.getRemoteUrlForWebView': getRemoteUrlForWebView,
2398
2531
  'Extensions.getRpcInfo': getRpcInfo,
2399
2532
  'Extensions.getRuntimeStatus': getRuntimeStatus,
2533
+ 'Extensions.getStatusBarItems': getStatusBarItems,
2400
2534
  'Extensions.handleMessagePort': handleMessagePort,
2401
2535
  'Extensions.importExtension': importExtension,
2402
2536
  'Extensions.initialize': initialize,
2403
2537
  'Extensions.install': installExtension,
2404
2538
  'Extensions.invalidateExtensionsCache': invalidateExtensionsCache,
2405
- 'Extensions.uninstall': uninstallExtension
2539
+ 'Extensions.uninstall': uninstallExtension,
2540
+ 'StatusBar.handleChange': handleChange
2406
2541
  };
2407
2542
 
2408
2543
  const initializeExtensionHostWorker = async () => {
@@ -2412,7 +2547,7 @@ const initializeExtensionHostWorker = async () => {
2412
2547
  await sendMessagePortToExtensionHostWorker(port, 0);
2413
2548
  }
2414
2549
  });
2415
- set$6(rpc);
2550
+ set$7(rpc);
2416
2551
  };
2417
2552
 
2418
2553
  const initializeFileSystemWorker = async () => {
@@ -2422,7 +2557,7 @@ const initializeFileSystemWorker = async () => {
2422
2557
  await sendMessagePortToFileSystemWorker(port, 0);
2423
2558
  }
2424
2559
  });
2425
- set$5(rpc);
2560
+ set$6(rpc);
2426
2561
  };
2427
2562
 
2428
2563
  const initializeIframeWorker = async () => {
@@ -2439,7 +2574,7 @@ const initializeRendererWorker = async () => {
2439
2574
  const rpc = await create$2({
2440
2575
  commandMap: commandMap
2441
2576
  });
2442
- set$4(rpc);
2577
+ set$5(rpc);
2443
2578
  };
2444
2579
 
2445
2580
  const listen = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-management-worker",
3
- "version": "4.0.0",
3
+ "version": "4.2.0",
4
4
  "description": "Webworker for the Extension Management functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"