mirror of
https://github.com/tobspr/shapez.io.git
synced 2025-12-13 10:11:50 +00:00
Allowed setting of variables inside webpack modules
This commit is contained in:
parent
431453f1a2
commit
6aa36d3f89
3
gulp/mod.js
Normal file
3
gulp/mod.js
Normal file
@ -0,0 +1,3 @@
|
||||
module.exports = function (source, map) {
|
||||
return source + `\nexport let $s=(n,v)=>eval(n+"="+v)`;
|
||||
};
|
||||
@ -93,6 +93,9 @@ module.exports = ({ watch = false, standalone = false, chineseVersion = false, w
|
||||
end: "typehints:end",
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: path.resolve(__dirname, "mod.js"),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@ -66,24 +66,27 @@ export class ModLoader {
|
||||
// @ts-ignore
|
||||
const module = modules(key);
|
||||
for (const member in module) {
|
||||
if (member === "default") {
|
||||
if (member === "default" || member === "$s") {
|
||||
// Setter
|
||||
continue;
|
||||
}
|
||||
if (exports[member]) {
|
||||
throw new Error("Duplicate export of " + member);
|
||||
}
|
||||
|
||||
Object.defineProperty(exports, member, {
|
||||
get() {
|
||||
return module[member];
|
||||
},
|
||||
set(v) {
|
||||
module[member] = v;
|
||||
module["$s"](member, v);
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
window.shapez = exports;
|
||||
console.log(shapez);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user