Rollup: Is it possible to prevent window.* pollution if a module has window.ejs = exports;

Viewed 21

I am trying to make an ES6 module out of EJS. I managed! However, the source has this:

if (typeof window != 'undefined') {
  window.ejs = exports;
}

This means that the resulting module ALSO has that. Barring running a regex on the source file, is there a neat way of preventing the module from polluting window?

I made a reproduction replit for it: https://replit.com/@mercmobily/prevent-namespace-pollution#ejs-es.js The source is node_modules/ejs/lib/ejs.js which ends with:

/* istanbul ignore if */
if (typeof window != 'undefined') {
  window.ejs = exports;
}

And obviously so does the resulting ES6 module. I am in talks to the author of EJS who is happy to make minor changes, but not drastic ones.

0 Answers
Related