@lvce-editor/extension-management-worker 4.5.0 → 4.6.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.
@@ -7,7 +7,7 @@ class AssertionError extends Error {
7
7
  const Object$1 = 1;
8
8
  const Number = 2;
9
9
  const Array$1 = 3;
10
- const String = 4;
10
+ const String$1 = 4;
11
11
  const Boolean$1 = 5;
12
12
  const Function = 6;
13
13
  const Null = 7;
@@ -19,7 +19,7 @@ const getType = value => {
19
19
  case 'function':
20
20
  return Function;
21
21
  case 'string':
22
- return String;
22
+ return String$1;
23
23
  case 'object':
24
24
  if (value === null) {
25
25
  return Null;
@@ -48,7 +48,7 @@ const number = value => {
48
48
  };
49
49
  const string = value => {
50
50
  const type = getType(value);
51
- if (type !== String) {
51
+ if (type !== String$1) {
52
52
  throw new AssertionError('expected value to be of type string');
53
53
  }
54
54
  };
@@ -1391,16 +1391,18 @@ const createEmptyRuntimeStatus = id => {
1391
1391
  status: None
1392
1392
  };
1393
1393
  };
1394
- let extensionsState = createInitialState();
1394
+ const state$1 = {
1395
+ extensionsState: createInitialState()
1396
+ };
1395
1397
  const get$3 = () => {
1396
- return extensionsState;
1398
+ return state$1.extensionsState;
1397
1399
  };
1398
1400
  const set$3 = newState => {
1399
- extensionsState = newState;
1401
+ state$1.extensionsState = newState;
1400
1402
  };
1401
1403
  const update = newState => {
1402
1404
  set$3({
1403
- ...extensionsState,
1405
+ ...state$1.extensionsState,
1404
1406
  ...newState
1405
1407
  });
1406
1408
  };
@@ -1410,11 +1412,11 @@ const setPlatform = platform => {
1410
1412
  });
1411
1413
  };
1412
1414
  const hasWebExtensionUri = uri => {
1413
- return extensionsState.webExtensions.some(extension => extension.uri === uri);
1415
+ return state$1.extensionsState.webExtensions.some(extension => extension.uri === uri);
1414
1416
  };
1415
1417
  const addWebExtension$1 = extension => {
1416
1418
  update({
1417
- webExtensions: [...extensionsState.webExtensions, extension]
1419
+ webExtensions: [...state$1.extensionsState.webExtensions, extension]
1418
1420
  });
1419
1421
  };
1420
1422
  const clearCachedExtensions = () => {
@@ -1425,7 +1427,7 @@ const clearCachedExtensions = () => {
1425
1427
  const setRuntimeStatus = status => {
1426
1428
  update({
1427
1429
  runtimeStatuses: {
1428
- ...extensionsState.runtimeStatuses,
1430
+ ...state$1.extensionsState.runtimeStatuses,
1429
1431
  [status.id]: {
1430
1432
  ...status
1431
1433
  }
@@ -1433,7 +1435,7 @@ const setRuntimeStatus = status => {
1433
1435
  });
1434
1436
  };
1435
1437
  const updateRuntimeStatus = (id, statusUpdate) => {
1436
- const previousStatus = extensionsState.runtimeStatuses[id] || createEmptyRuntimeStatus(id);
1438
+ const previousStatus = state$1.extensionsState.runtimeStatuses[id] || createEmptyRuntimeStatus(id);
1437
1439
  setRuntimeStatus({
1438
1440
  ...previousStatus,
1439
1441
  ...statusUpdate,
@@ -1441,7 +1443,7 @@ const updateRuntimeStatus = (id, statusUpdate) => {
1441
1443
  });
1442
1444
  };
1443
1445
  const getRuntimeStatus$1 = extensionId => {
1444
- return extensionsState.runtimeStatuses[extensionId];
1446
+ return state$1.extensionsState.runtimeStatuses[extensionId];
1445
1447
  };
1446
1448
 
1447
1449
  const baseName = path => {
@@ -1619,13 +1621,13 @@ const handleRpcInfos = (extension, platform) => {
1619
1621
  return;
1620
1622
  }
1621
1623
  const rpcs = extension.rpc;
1622
- const urlPrefix = getUrlPrefix(platform, extension.path);
1623
1624
  if (!rpcs) {
1624
1625
  return;
1625
1626
  }
1626
1627
  if (!Array.isArray(rpcs)) {
1627
1628
  return;
1628
1629
  }
1630
+ const urlPrefix = getUrlPrefix(platform, extension.path);
1629
1631
  for (const rpc of rpcs) {
1630
1632
  rpc.url = `${urlPrefix}/${rpc.url}`;
1631
1633
  add(rpc.id, rpc);
@@ -1701,9 +1703,9 @@ const activateExtension3 = async (extension, absolutePath, activationEvent, plat
1701
1703
  const getExtensionAbsolutePath = (id, isWeb, isBuiltin, path, relativePath, origin, platform, assetDir) => {
1702
1704
  if (path.startsWith('http')) {
1703
1705
  if (path.endsWith('/')) {
1704
- return new URL(relativePath, path).toString();
1706
+ return new URL(relativePath, path).href;
1705
1707
  }
1706
- return new URL(relativePath, path + '/').toString();
1708
+ return new URL(relativePath, path + '/').href;
1707
1709
  }
1708
1710
  if (!path.startsWith('/')) {
1709
1711
  path = '/' + path;
@@ -1717,7 +1719,7 @@ const getExtensionAbsolutePath = (id, isWeb, isBuiltin, path, relativePath, orig
1717
1719
  if (isBuiltin) {
1718
1720
  return `${assetDir}/extensions/${id}/${relativePath}`;
1719
1721
  }
1720
- return new URL('/remote' + path + '/' + relativePath, origin).toString();
1722
+ return new URL('/remote' + path + '/' + relativePath, origin).href;
1721
1723
  };
1722
1724
 
1723
1725
  const getJson$1 = async url => {
@@ -1780,6 +1782,15 @@ const getExtensionId$2 = extension => {
1780
1782
  const getAbsolutePath$1 = (extension, assetDir, platform) => {
1781
1783
  return getExtensionAbsolutePath(extension.id, extension.isWeb, extension.builtin, extension.path || extension.uri, extension.browser, globalThis.location.origin, platform, assetDir);
1782
1784
  };
1785
+ const doActivateExtension = async (extension, absolutePath, event, platform) => {
1786
+ const extensionId = getExtensionId$2(extension);
1787
+ try {
1788
+ await activateExtension3(extension, absolutePath, event, platform);
1789
+ runningExtensions[extensionId] = true;
1790
+ } finally {
1791
+ delete activatingExtensions[extensionId];
1792
+ }
1793
+ };
1783
1794
  const activateExtension = async (extension, event, assetDir, platform) => {
1784
1795
  const extensionId = getExtensionId$2(extension);
1785
1796
  if (runningExtensions[extensionId]) {
@@ -1787,11 +1798,7 @@ const activateExtension = async (extension, event, assetDir, platform) => {
1787
1798
  }
1788
1799
  if (!Object.hasOwn(activatingExtensions, extensionId)) {
1789
1800
  const absolutePath = getAbsolutePath$1(extension, assetDir, platform);
1790
- activatingExtensions[extensionId] = activateExtension3(extension, absolutePath, event, platform).then(() => {
1791
- runningExtensions[extensionId] = true;
1792
- }).finally(() => {
1793
- delete activatingExtensions[extensionId];
1794
- });
1801
+ activatingExtensions[extensionId] = doActivateExtension(extension, absolutePath, event, platform);
1795
1802
  }
1796
1803
  await activatingExtensions[extensionId];
1797
1804
  };
@@ -1826,15 +1833,17 @@ const getWebManifestPath = path => {
1826
1833
  return manifestPath;
1827
1834
  };
1828
1835
 
1829
- let rpc;
1836
+ const state = {
1837
+ rpc: undefined
1838
+ };
1830
1839
  const set$1 = value => {
1831
- rpc = value;
1840
+ state.rpc = value;
1832
1841
  };
1833
1842
  const invoke = async (method, ...params) => {
1834
- if (!rpc) {
1843
+ if (!state.rpc) {
1835
1844
  return undefined;
1836
1845
  }
1837
- return rpc.invoke(method, ...params);
1846
+ return state.rpc.invoke(method, ...params);
1838
1847
  };
1839
1848
 
1840
1849
  const handleChange = async id => {
@@ -1879,7 +1888,7 @@ const createWebViewWorkerRpc2 = async (rpcInfo, port) => {
1879
1888
  };
1880
1889
 
1881
1890
  const getExtensionHostSubWorkerUrl = () => {
1882
- return new URL('../../../../extension-host-sub-worker/src/extensionHostSubWorkerMain.js', import.meta.url).toString();
1891
+ return new URL('../../../../extension-host-sub-worker/src/extensionHostSubWorkerMain.js', import.meta.url).href;
1883
1892
  };
1884
1893
  const extensionHostSubWorkerUrl = getExtensionHostSubWorkerUrl();
1885
1894
 
@@ -1915,7 +1924,7 @@ const createResponseFromData = data => {
1915
1924
  const responseString = JSON.stringify(data);
1916
1925
  const response = new Response(responseString, {
1917
1926
  headers: {
1918
- [ContentLength]: `${responseString.length}`,
1927
+ [ContentLength]: String(responseString.length),
1919
1928
  [ContentType]: 'application/json'
1920
1929
  }
1921
1930
  });
@@ -2349,16 +2358,21 @@ const join = (pathSeparator, ...parts) => {
2349
2358
  return parts.join(pathSeparator);
2350
2359
  };
2351
2360
 
2361
+ const getColorThemeUriFromExtension = (extension, colorThemeId) => {
2362
+ if (!extension.colorThemes) {
2363
+ return '';
2364
+ }
2365
+ for (const colorTheme of extension.colorThemes) {
2366
+ if (colorTheme.id === colorThemeId) {
2367
+ return join('/', extension.uri, colorTheme.path);
2368
+ }
2369
+ }
2370
+ return '';
2371
+ };
2352
2372
  const getColorThemeUri = (extensions, colorThemeId) => {
2353
2373
  for (const extension of extensions) {
2354
- if (!extension.colorThemes) {
2355
- continue;
2356
- }
2357
- for (const colorTheme of extension.colorThemes) {
2358
- if (colorTheme.id !== colorThemeId) {
2359
- continue;
2360
- }
2361
- const absolutePath = join('/', extension.uri, colorTheme.path);
2374
+ const absolutePath = getColorThemeUriFromExtension(extension, colorThemeId);
2375
+ if (absolutePath) {
2362
2376
  return absolutePath;
2363
2377
  }
2364
2378
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-management-worker",
3
- "version": "4.5.0",
3
+ "version": "4.6.0",
4
4
  "description": "Webworker for the Extension Management functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"