@lvce-editor/extension-management-worker 4.4.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
|
-
|
|
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).
|
|
1706
|
+
return new URL(relativePath, path).href;
|
|
1705
1707
|
}
|
|
1706
|
-
return new URL(relativePath, path + '/').
|
|
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).
|
|
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] =
|
|
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
|
-
|
|
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).
|
|
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]:
|
|
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
|
-
|
|
2355
|
-
|
|
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
|
}
|
|
@@ -2637,6 +2651,9 @@ const installExtension = async () => {
|
|
|
2637
2651
|
};
|
|
2638
2652
|
|
|
2639
2653
|
const getRemoteUrl = uri => {
|
|
2654
|
+
if (uri.startsWith('http://') || uri.startsWith('https://')) {
|
|
2655
|
+
return uri;
|
|
2656
|
+
}
|
|
2640
2657
|
if (uri.startsWith('/')) {
|
|
2641
2658
|
return `/remote${uri}`;
|
|
2642
2659
|
}
|