Skip to content

Instantly share code, notes, and snippets.

@moeriki
Created July 31, 2024 14:33
Show Gist options
  • Save moeriki/335689d4eacb2cd500c564f6b231bd2b to your computer and use it in GitHub Desktop.
Save moeriki/335689d4eacb2cd500c564f6b231bd2b to your computer and use it in GitHub Desktop.
Global Pollution
<script>
const PROPERTIES = [
// { names: ['$', 'jQuery'], getVersion: (value) => value().jquery },
{ names: ['_'], getVersion: (value) => value.version },
];
for (let { names, getVersion } of PROPERTIES) {
for (let name of names) {
let scopedValue;
Reflect.defineProperty(globalThis, name, {
configurable: true,
enumerable: true,
// writable: true,
// value: undefined,
get: () => scopedValue,
set(value) {
console.warn(`GTP::set ${name}`, value);
debugger;
scopedValue = value;
},
});
}
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment