1
0
mirror of https://github.com/koloml/furbooru-tagging-assistant.git synced 2025-12-23 23:02:58 +00:00

AMD Loader: Ignore duplicated module definitions

This fixes an error appearing when chunk is mention multiple times for
different entry content scripts.
This commit is contained in:
2025-08-13 15:27:25 +04:00
parent 50238d8ef4
commit cf28d2d131

View File

@@ -2,7 +2,21 @@ import { amdLite } from "amd-lite";
const originalDefine = amdLite.define;
/**
* Set of already defined modules. Used for deduplication.
*/
const definedModules = new Set<string>();
amdLite.define = (name, dependencies, originalCallback) => {
// Chrome doesn't run the same content script multiple times, while Firefox does. Since each content script and their
// chunks are intended to be run only once, we should just ignore any attempts of running the same module more than
// once. Names of the modules are assumed to be unique.
if (definedModules.has(name)) {
return;
}
definedModules.add(name);
return originalDefine(name, dependencies, function () {
const callbackResult = originalCallback(...arguments);