mirror of
https://github.com/denoland/deno.git
synced 2024-10-30 09:08:00 -04:00
a65ce33fab
This commit adds CJS/ESM interoperability when running in --compat mode. Before executing files, they are analyzed and all CommonJS modules are transformed on the fly to a ES modules. This is done by utilizing analyze_cjs() functionality from deno_ast. After discovering exports and reexports, an ES module is rendered and saved in memory for later use. There's a caveat that all files ending with ".js" extension are considered as CommonJS modules (unless there's a related "package.json" with "type": "module"). |
||
---|---|---|
.. | ||
imported.js | ||
main.mjs | ||
reexports.js | ||
reexports2.js |