// This is a stress test of some internals in How Bun does the module.exports assignment. // If it crashes or throws then this fails import("./runner.mjs").then(({ bench, run }) => { bench("Object.defineProperty(module, 'exports', { get() { return 42; } })", () => { Object.defineProperty(module, "exports", { get() { return 42; }, set() { throw new Error("bad"); }, configurable: true, }); if (module.exports !== 42) throw new Error("bad"); if (!Object.getOwnPropertyDescriptor(module, "exports").get) throw new Error("bad"); }); bench("Object.defineProperty(module.exports = {})", () => { Object.defineProperty(module, "exports", { value: { abc: 123 }, }); if (!module.exports.abc) throw new Error("bad"); if (Object.getOwnPropertyDescriptor(module, "exports").value !== module.exports) throw new Error("bad"); }); bench("module.exports = {}", () => { module.exports = { abc: 123 }; if (!module.exports.abc) throw new Error("bad"); if (Object.getOwnPropertyDescriptor(module, "exports").value !== module.exports) throw new Error("bad"); }); run().then(() => { module.exports = { a: 1, }; console.log( module?.exports, require.cache[module.id].exports, module?.exports === require.cache[module.id], __dirname, Object.keys(require(module.id)), require(module.id), ); module.exports = function lol() { return 42; }; console.log(module.exports, module.exports()); queueMicrotask(() => { console.log( module?.exports, require.cache[module.id].exports, module?.exports === require.cache[module.id]?.exports, __dirname, Object.keys(require(module.id)), require(module.id), ); }); }); }); d'>ciro/spawn-abort-signal-rebased Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/noop.js (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2022-06-03tempGravatar Jarred Sumner 2-16/+5
2022-06-03Move streams to it's own fileGravatar Jarred Sumner 7-1155/+1504
2022-06-03Update streams.test.jsGravatar Jarred Sumner 1-7/+49
2022-06-02Handle empty files/blobsGravatar Jarred Sumner 11-396/+54
2022-06-02Fix off by one & exceptionsGravatar Jarred Sumner 1-3/+6
2022-06-02Faster ReadableStreamGravatar Jarred Sumner 26-645/+716