update so edit extensions.json

This commit is contained in:
Andrew Pareles 2025-05-12 10:58:18 -07:00
parent 6f73804e94
commit a4046bc5a5

View file

@ -42,6 +42,9 @@ const extensionBlacklist = [
];
const isBlacklisted = (fsPath: string | undefined) => {
return extensionBlacklist.find(bItem => fsPath?.includes(bItem))
}
class ExtensionTransferService extends Disposable implements IExtensionTransferService {
_serviceBrand: undefined;
@ -89,25 +92,21 @@ class ExtensionTransferService extends Disposable implements IExtensionTransferS
await fileService.createFolder(toParent)
}
for (const extensionFolder of stat.children ?? []) {
if (extensionBlacklist.find(bItem => extensionFolder.resource.path.includes(bItem))) {
console.log('Skipping...', extensionFolder.resource.path)
continue
}
const from = extensionFolder.resource
const to = URI.joinPath(toParent, extensionFolder.name)
const toStat = await fileService.resolve(from)
if (toStat.isDirectory) {
await fileService.copy(from, to, true)
if (!isBlacklisted(extensionFolder.resource.fsPath)) {
await fileService.copy(from, to, true)
}
}
else if (toStat.isFile) {
if (extensionFolder.name === 'extensions.json') {
try {
const contentsStr = await fileService.readFile(from)
const json: any = JSON.parse(contentsStr.value.toString())
const j2 = json.filter((entry: { identifier?: { id?: string } }) =>
!extensionBlacklist.find(bItem => entry?.identifier?.id?.includes(bItem))
)
const j2 = json.filter((entry: { identifier?: { id?: string } }) => !isBlacklisted(entry?.identifier?.id))
const jsonStr = JSON.stringify(j2)
await fileService.writeFile(to, VSBuffer.fromString(jsonStr))
}
@ -145,8 +144,7 @@ class ExtensionTransferService extends Disposable implements IExtensionTransferS
try {
if (child.isDirectory) {
// if is blacklisted
if (extensionBlacklist.find(bItem => child.resource.path.includes(bItem))) {
if (isBlacklisted(child.resource.fsPath)) {
console.log('Deleting extension', child.resource.fsPath)
await fileService.del(child.resource, { recursive: true, useTrash: true })
}
@ -157,9 +155,7 @@ class ExtensionTransferService extends Disposable implements IExtensionTransferS
try {
const contentsStr = await fileService.readFile(child.resource)
const json: any = JSON.parse(contentsStr.value.toString())
const j2 = json.filter((entry: { identifier?: { id?: string } }) =>
!extensionBlacklist.find(bItem => entry?.identifier?.id?.includes(bItem))
)
const j2 = json.filter((entry: { identifier?: { id?: string } }) => !isBlacklisted(entry?.identifier?.id))
const jsonStr = JSON.stringify(j2)
await fileService.writeFile(child.resource, VSBuffer.fromString(jsonStr))
}