reflect path replacement on proxy as well

This commit is contained in:
Erin 2023-08-14 14:14:59 -04:00
parent f01d6c466e
commit c22c6db195

View file

@ -42,20 +42,29 @@ export const getScriptEntrypoints = (manifest: chrome.runtime.Manifest): Manifes
(script.js ?? []).map((path, i) => ({ (script.js ?? []).map((path, i) => ({
type: ManifestEntrypointKind.CONTENT_SCRIPT_JS, type: ManifestEntrypointKind.CONTENT_SCRIPT_JS,
path, path,
replacePath: (newPath: string) => script.js!.splice(i, 1, newPath), replacePath (newPath: string) {
this.path = newPath;
script.js!.splice(i, 1, newPath);
},
})) }))
), ),
...(manifest.manifest_version === 2 ...(manifest.manifest_version === 2
? (manifest.background?.scripts || []).map((path, i) => ({ ? (manifest.background?.scripts || []).map((path, i) => ({
type: ManifestEntrypointKind.BACKGROUND_SCRIPT, type: ManifestEntrypointKind.BACKGROUND_SCRIPT,
path, path,
replacePath: (newPath: string) => manifest.background!.scripts!.splice(i, 1, newPath), replacePath (newPath: string) {
this.path = newPath;
manifest.background!.scripts!.splice(i, 1, newPath);
},
})) }))
: (manifest.background?.service_worker : (manifest.background?.service_worker
? [{ ? [{
type: ManifestEntrypointKind.BACKGROUND_SERVICE_WORKER, type: ManifestEntrypointKind.BACKGROUND_SERVICE_WORKER,
path: manifest.background.service_worker, path: manifest.background.service_worker,
replacePath: (newPath: string) => manifest.background!.service_worker = newPath, replacePath (newPath: string) {
this.path = newPath;
manifest.background!.service_worker = newPath;
},
}] }]
: [])), : [])),
]; ];
@ -71,25 +80,37 @@ export const getAssetEntrypoints = (manifest: chrome.runtime.Manifest): Manifest
(script.css ?? []).map((path, i) => ({ (script.css ?? []).map((path, i) => ({
type: ManifestEntrypointKind.CONTENT_SCRIPT_CSS, type: ManifestEntrypointKind.CONTENT_SCRIPT_CSS,
path, path,
replacePath: (newPath: string) => script.css!.splice(i, 1, newPath), replacePath (newPath: string) {
this.path = newPath;
script.css!.splice(i, 1, newPath);
},
})) }))
), ),
...Object.entries(manifest.icons || {}).map(([iconSize, path]) => ({ ...Object.entries(manifest.icons || {}).map(([iconSize, path]) => ({
type: ManifestEntrypointKind.ICON, type: ManifestEntrypointKind.ICON,
path, path,
replacePath: (newPath: string) => manifest.icons![iconSize as unknown as number] = newPath, replacePath (newPath: string) {
this.path = newPath;
manifest.icons![iconSize as unknown as number] = newPath;
},
})), })),
...(manifest.manifest_version === 2 ...(manifest.manifest_version === 2
? (manifest.web_accessible_resources ?? []).map((path, i) => ({ ? (manifest.web_accessible_resources ?? []).map((path, i) => ({
type: ManifestEntrypointKind.WEB_ACCESSIBLE_RESOURCE_V2, type: ManifestEntrypointKind.WEB_ACCESSIBLE_RESOURCE_V2,
path, path,
replacePath: (newPath: string) => manifest.web_accessible_resources![i] = newPath, replacePath (newPath: string) {
this.path = newPath;
manifest.web_accessible_resources![i] = newPath;
},
})) }))
: (manifest.web_accessible_resources ?? []).flatMap(entry => : (manifest.web_accessible_resources ?? []).flatMap(entry =>
entry.resources.map((path, i) => ({ entry.resources.map((path, i) => ({
type: ManifestEntrypointKind.WEB_ACCESSIBLE_RESOURCE_V3, type: ManifestEntrypointKind.WEB_ACCESSIBLE_RESOURCE_V3,
path, path,
replacePath: (newPath: string) => entry.resources.splice(i, 1, newPath), replacePath (newPath: string) {
this.path = newPath;
entry.resources.splice(i, 1, newPath);
},
})) }))
)), )),
]; ];