mirror of
https://github.com/koloml/philomena-tagging-assistant.git
synced 2026-05-09 15:12:21 +00:00
Reworked build step for the content scripts
Main changes: - Scripts are now built in 2 steps instead of building every script and style one at a time; - Scripts are built as AMD modules; - Dependencies are automatically injected into resulting manifest.json file.
This commit is contained in:
@@ -17,6 +17,38 @@ class ManifestProcessor {
|
||||
this.#manifestObject = parsedManifest;
|
||||
}
|
||||
|
||||
/**
|
||||
* Collect all the content scripts & stylesheets for single build action.
|
||||
*
|
||||
* @returns {Set<string>}
|
||||
*/
|
||||
collectContentScripts() {
|
||||
const contentScripts = this.#manifestObject.content_scripts;
|
||||
|
||||
if (!contentScripts) {
|
||||
console.info('No content scripts to collect.');
|
||||
return new Set();
|
||||
}
|
||||
|
||||
const entryPoints = new Set();
|
||||
|
||||
for (let entry of contentScripts) {
|
||||
if (entry.js) {
|
||||
for (let jsPath of entry.js) {
|
||||
entryPoints.add(jsPath);
|
||||
}
|
||||
}
|
||||
|
||||
if (entry.css) {
|
||||
for (let cssPath of entry.css) {
|
||||
entryPoints.add(cssPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return entryPoints;
|
||||
}
|
||||
|
||||
/**
|
||||
* Map over every content script defined in the manifest. If no content scripts defined, no calls will be made to the
|
||||
* callback.
|
||||
|
||||
Reference in New Issue
Block a user