@lvce-editor/shared-process 0.103.16 → 0.103.17
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.
- package/package.json +2 -2
- package/src/parts/BuiltinExtensionsPath/BuiltinExtensionsPath.js +1 -1
- package/src/parts/ExtensionManagement/ExtensionManagement.js +36 -15
- package/src/parts/ExtensionManifests/ExtensionManifests.js +5 -5
- package/src/parts/Platform/Platform.js +3 -3
- package/src/parts/PreloadUrl/PreloadUrl.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lvce-editor/shared-process",
|
|
3
|
-
"version": "0.103.
|
|
3
|
+
"version": "0.103.17",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@lvce-editor/assert": "1.9.0",
|
|
21
|
-
"@lvce-editor/extension-host-helper-process": "0.103.
|
|
21
|
+
"@lvce-editor/extension-host-helper-process": "0.103.17",
|
|
22
22
|
"@lvce-editor/ipc": "16.11.0",
|
|
23
23
|
"@lvce-editor/json-rpc": "8.6.0",
|
|
24
24
|
"@lvce-editor/jsonc-parser": "1.5.0",
|
|
@@ -3,6 +3,6 @@ import { fileURLToPath } from 'url'
|
|
|
3
3
|
|
|
4
4
|
export const getBuiltinExtensionsPath = () => {
|
|
5
5
|
const staticServerPath = fileURLToPath(import.meta.resolve('@lvce-editor/static-server'))
|
|
6
|
-
const builtinExtensionsPath = join(staticServerPath, '..', '..', 'static', '
|
|
6
|
+
const builtinExtensionsPath = join(staticServerPath, '..', '..', 'static', '77c1621', 'extensions')
|
|
7
7
|
return builtinExtensionsPath
|
|
8
8
|
}
|
|
@@ -13,12 +13,13 @@ import { VError } from '../VError/VError.js'
|
|
|
13
13
|
export const enable = async (id) => {
|
|
14
14
|
try {
|
|
15
15
|
const disabledExtensionsJsonPath = PlatformPaths.getDisabledExtensionsJsonPath()
|
|
16
|
-
const
|
|
17
|
-
if (!
|
|
16
|
+
const { disabledExtensionIds, enabledExtensionIds } = await getExtensionEnablement()
|
|
17
|
+
if (!disabledExtensionIds.includes(id) && enabledExtensionIds.includes(id)) {
|
|
18
18
|
return
|
|
19
19
|
}
|
|
20
|
-
const newDisabledExtensionIds =
|
|
21
|
-
const
|
|
20
|
+
const newDisabledExtensionIds = disabledExtensionIds.filter((extensionId) => extensionId !== id)
|
|
21
|
+
const newEnabledExtensionIds = enabledExtensionIds.includes(id) ? enabledExtensionIds : [...enabledExtensionIds, id]
|
|
22
|
+
const content = getNewExtensionEnablementContent(newDisabledExtensionIds, newEnabledExtensionIds)
|
|
22
23
|
await mkdir(dirname(disabledExtensionsJsonPath), { recursive: true })
|
|
23
24
|
await writeFile(disabledExtensionsJsonPath, content)
|
|
24
25
|
} catch (error) {
|
|
@@ -26,11 +27,12 @@ export const enable = async (id) => {
|
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
const
|
|
30
|
+
const getNewExtensionEnablementContent = (disabledExtensions, enabledExtensions) => {
|
|
30
31
|
const content =
|
|
31
32
|
JSON.stringify(
|
|
32
33
|
{
|
|
33
34
|
disabledExtensions,
|
|
35
|
+
enabledExtensions,
|
|
34
36
|
},
|
|
35
37
|
null,
|
|
36
38
|
2,
|
|
@@ -41,12 +43,13 @@ const getNewDisabledExtensionContent = (disabledExtensions) => {
|
|
|
41
43
|
export const disable = async (id) => {
|
|
42
44
|
try {
|
|
43
45
|
const disabledExtensionsJsonPath = PlatformPaths.getDisabledExtensionsJsonPath()
|
|
44
|
-
const
|
|
45
|
-
if (
|
|
46
|
+
const { disabledExtensionIds, enabledExtensionIds } = await getExtensionEnablement()
|
|
47
|
+
if (disabledExtensionIds.includes(id) && !enabledExtensionIds.includes(id)) {
|
|
46
48
|
return
|
|
47
49
|
}
|
|
48
|
-
const newDisabledExtensionIds = [...
|
|
49
|
-
const
|
|
50
|
+
const newDisabledExtensionIds = disabledExtensionIds.includes(id) ? disabledExtensionIds : [...disabledExtensionIds, id]
|
|
51
|
+
const newEnabledExtensionIds = enabledExtensionIds.filter((extensionId) => extensionId !== id)
|
|
52
|
+
const content = getNewExtensionEnablementContent(newDisabledExtensionIds, newEnabledExtensionIds)
|
|
50
53
|
await mkdir(dirname(disabledExtensionsJsonPath), { recursive: true })
|
|
51
54
|
await writeFile(disabledExtensionsJsonPath, content)
|
|
52
55
|
} catch (error) {
|
|
@@ -54,23 +57,41 @@ export const disable = async (id) => {
|
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
|
|
57
|
-
|
|
60
|
+
const getStringArray = (value) => {
|
|
61
|
+
if (!Array.isArray(value)) {
|
|
62
|
+
return []
|
|
63
|
+
}
|
|
64
|
+
return value.filter((extensionId) => typeof extensionId === 'string')
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export const getExtensionEnablement = async () => {
|
|
58
68
|
try {
|
|
59
69
|
const disabledExtensionsJsonPath = PlatformPaths.getDisabledExtensionsJsonPath()
|
|
60
70
|
if (!existsSync(disabledExtensionsJsonPath)) {
|
|
61
|
-
return
|
|
71
|
+
return {
|
|
72
|
+
disabledExtensionIds: [],
|
|
73
|
+
enabledExtensionIds: [],
|
|
74
|
+
}
|
|
62
75
|
}
|
|
63
76
|
const content = await readFile(disabledExtensionsJsonPath, 'utf8')
|
|
64
77
|
const parsed = JSON.parse(content)
|
|
65
|
-
|
|
66
|
-
|
|
78
|
+
return {
|
|
79
|
+
disabledExtensionIds: getStringArray(parsed?.disabledExtensions),
|
|
80
|
+
enabledExtensionIds: getStringArray(parsed?.enabledExtensions),
|
|
67
81
|
}
|
|
68
|
-
return parsed.disabledExtensions.filter((extensionId) => typeof extensionId === 'string')
|
|
69
82
|
} catch {
|
|
70
|
-
return
|
|
83
|
+
return {
|
|
84
|
+
disabledExtensionIds: [],
|
|
85
|
+
enabledExtensionIds: [],
|
|
86
|
+
}
|
|
71
87
|
}
|
|
72
88
|
}
|
|
73
89
|
|
|
90
|
+
export const getDisabledExtensionIds = async () => {
|
|
91
|
+
const { disabledExtensionIds } = await getExtensionEnablement()
|
|
92
|
+
return disabledExtensionIds
|
|
93
|
+
}
|
|
94
|
+
|
|
74
95
|
export const getBuiltinExtensions = () => {
|
|
75
96
|
return ExtensionManifests.getAll(
|
|
76
97
|
[
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as DeduplicateExtensions from '../DeduplicateExtensions/DeduplicateExtensions.js'
|
|
2
|
-
import {
|
|
2
|
+
import { getExtensionEnablement } from '../ExtensionManagement/ExtensionManagement.js'
|
|
3
3
|
import * as ExtensionManifestInputType from '../ExtensionManifestInputType/ExtensionManifestInputType.js'
|
|
4
4
|
import * as ExtensionManifestsGetFromFolder from './ExtensionManifestsFromFolder.js'
|
|
5
5
|
import * as ExtensionManifestsGetFromLinkedExtension from './ExtensionManifestsFromLinkedExtension.js'
|
|
@@ -30,11 +30,11 @@ const isBuiltin = (extension) => {
|
|
|
30
30
|
return extension && extension.id && extension.id.startsWith('builtin.')
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
const addExtensionDisabledStatus = (uniqueExtensions, disabledExtensionIds) => {
|
|
33
|
+
const addExtensionDisabledStatus = (uniqueExtensions, disabledExtensionIds, enabledExtensionIds) => {
|
|
34
34
|
return uniqueExtensions.map((extension) => {
|
|
35
35
|
return {
|
|
36
36
|
...extension,
|
|
37
|
-
disabled: extension.disabled === true
|
|
37
|
+
disabled: disabledExtensionIds.includes(extension.id) || (extension.disabled === true && !enabledExtensionIds.includes(extension.id)),
|
|
38
38
|
isBuiltin: isBuiltin(extension),
|
|
39
39
|
}
|
|
40
40
|
})
|
|
@@ -42,9 +42,9 @@ const addExtensionDisabledStatus = (uniqueExtensions, disabledExtensionIds) => {
|
|
|
42
42
|
|
|
43
43
|
export const getAll = async (inputs, builtinExtensionsPath = undefined) => {
|
|
44
44
|
const manifests = await Promise.all(inputs.map(get))
|
|
45
|
-
const
|
|
45
|
+
const { disabledExtensionIds, enabledExtensionIds } = await getExtensionEnablement()
|
|
46
46
|
const flatManifests = manifests.flat(1)
|
|
47
47
|
const uniqueExtensions = DeduplicateExtensions.deduplicateExtensions(flatManifests, builtinExtensionsPath)
|
|
48
|
-
const filteredExtensions = addExtensionDisabledStatus(uniqueExtensions,
|
|
48
|
+
const filteredExtensions = addExtensionDisabledStatus(uniqueExtensions, disabledExtensionIds, enabledExtensionIds)
|
|
49
49
|
return filteredExtensions
|
|
50
50
|
}
|
|
@@ -61,11 +61,11 @@ export const getSetupName = () => {
|
|
|
61
61
|
return 'Lvce-Setup'
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
export const version = '0.103.
|
|
64
|
+
export const version = '0.103.17'
|
|
65
65
|
|
|
66
|
-
export const commit = '
|
|
66
|
+
export const commit = '77c1621'
|
|
67
67
|
|
|
68
|
-
export const date = '2026-08-
|
|
68
|
+
export const date = '2026-08-16T18:32:49.000Z'
|
|
69
69
|
|
|
70
70
|
export const getVersion = () => {
|
|
71
71
|
return version
|
|
@@ -2,5 +2,5 @@ import { join } from 'node:path'
|
|
|
2
2
|
import * as Root from '../Root/Root.js'
|
|
3
3
|
|
|
4
4
|
export const getPreloadUrl = () => {
|
|
5
|
-
return join(Root.root, 'static', '
|
|
5
|
+
return join(Root.root, 'static', '77c1621', 'packages', 'preload', 'dist', 'index.js')
|
|
6
6
|
}
|