diff --git a/Herebyfile.mjs b/Herebyfile.mjs
index 8447834a6338a..dac359b24de61 100644
--- a/Herebyfile.mjs
+++ b/Herebyfile.mjs
@@ -216,7 +216,7 @@ function createBundler(entrypoint, outfile, taskOptions = {}) {
// Monaco bundles us as ESM by wrapping our code with something that defines module.exports
// but then does not use it, instead using the `ts` variable. Ensure that if we think we're CJS
// that we still set `ts` to the module.exports object.
- options.footer = { js: `})(typeof module !== "undefined" && module.exports ? module : { exports: ts });\nif (typeof module !== "undefined" && module.exports) { ts = module.exports; }` };
+ options.footer = { js: `})({ get exports() { return ts; }, set exports(v) { ts = v; if (typeof module !== "undefined" && module.exports) { module.exports = v; } } })` };
// esbuild converts calls to "require" to "__require"; this function
// calls the real require if it exists, or throws if it does not (rather than
diff --git a/scripts/browserIntegrationTest.mjs b/scripts/browserIntegrationTest.mjs
index f1fab43f2213c..7b3021f979350 100644
--- a/scripts/browserIntegrationTest.mjs
+++ b/scripts/browserIntegrationTest.mjs
@@ -29,6 +29,7 @@ for (const browserType of browsers) {
await page.setContent(`
+
`);