Skip to content

Instantly share code, notes, and snippets.

@michalczukm
Forked from ArtemAvramenko/shamExports.ts
Last active August 26, 2015 20:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save michalczukm/62f94dcc65545faa5981 to your computer and use it in GitHub Desktop.
Save michalczukm/62f94dcc65545faa5981 to your computer and use it in GitHub Desktop.
Shams CommonJS modules
var module: { exports };
var exports = {
sham: (() => {
var sham = <{
(moduleName: string): void;
modules: { [moduleName: string]: { exports } };
}>(moduleName => {
exports = { sham };
module = sham.modules[moduleName] = { exports };
});
sham.modules = {};
return sham;
})()
};
var require = function (oldRequire: (moduleName: string) => any) {
return (moduleName: string) =>
exports.sham.modules[moduleName].exports || oldRequire(moduleName);
} (require);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment