mirror of
https://github.com/tobspr/shapez.io.git
synced 2025-12-13 18:21:51 +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",
|
end: "typehints:end",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
loader: path.resolve(__dirname, "mod.js"),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -66,24 +66,27 @@ export class ModLoader {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const module = modules(key);
|
const module = modules(key);
|
||||||
for (const member in module) {
|
for (const member in module) {
|
||||||
if (member === "default") {
|
if (member === "default" || member === "$s") {
|
||||||
|
// Setter
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (exports[member]) {
|
if (exports[member]) {
|
||||||
throw new Error("Duplicate export of " + member);
|
throw new Error("Duplicate export of " + member);
|
||||||
}
|
}
|
||||||
|
|
||||||
Object.defineProperty(exports, member, {
|
Object.defineProperty(exports, member, {
|
||||||
get() {
|
get() {
|
||||||
return module[member];
|
return module[member];
|
||||||
},
|
},
|
||||||
set(v) {
|
set(v) {
|
||||||
module[member] = v;
|
module["$s"](member, v);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
window.shapez = exports;
|
window.shapez = exports;
|
||||||
|
console.log(shapez);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user