-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Open
Description
It turns out that node will disable the global require function on foo.mjs - that is just not defined there, unlike for foo.js. I guess mjs files are modules and require is not supposed to be used there. This ends up a problem for us since we have an assertion on it:
Lines 196 to 198 in a3d8979
| #if ASSERTIONS | |
| if (!(typeof process == 'object' && typeof require == 'function')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); | |
| #endif |
Removing that assertion is necessary to run an .mjs file in node with -sASSERTIONS.
We should probably just remove it?
This happens on binaryen CI which will manually builds an .mjs file by concatenating the emcc output with some extra code.