BrowserExtensionTemplate/tools/v2.ts
2022-08-16 12:42:28 +02:00

45 lines
No EOL
1.2 KiB
TypeScript

import * as fs from 'fs';
const manifest = JSON.parse(fs.readFileSync('./dist/manifest.json', 'utf8'));
manifest.manifest_version = 2
manifest.background.scripts = []
manifest.background.scripts.push(manifest.background.service_worker)
delete manifest.background.type
delete manifest.background.service_worker
manifest.background.persistent = true
if (manifest.host_permissions) {
manifest.permissions.push(manifest.host_permissions)
}
if (manifest.optional_host_permissions) {
manifest.permissions.push(manifest.optional_host_permissions)
}
delete manifest.host_permissions
delete manifest.optional_host_permissions
let newContentSecurityPolicy = ""
try {
for (const policy of manifest.content_security_policy) {
newContentSecurityPolicy += policy.key + "'" + policy.value + "'" + " "
}
} catch (e) {
newContentSecurityPolicy = "default-src 'self'"
}
manifest.content_security_policy = newContentSecurityPolicy
try {
manifest.web_accessible_resources = manifest.web_accessible_resources.resources
} catch (e) {
manifest.web_accessible_resources = []
}
if (manifest.action) {
manifest.browser_action = manifest.action
}
delete manifest.action
fs.writeFileSync('./dist/manifest.json', JSON.stringify(manifest, null, 2));