It's using traceur and building the modules to CJS, the project uses
other non transpiled CJS modules.

The only thing traceur could do here is compile the imports into a
check for the named export `default` and use that if it exists.
If it doesn't then simply return the CJS module object.

Here is the output from traceur

https://github.com/briandipalma/global-compiler/blob/master/out/index.js

The relevant line would be

`var minimist = require('minimist');`

For default import from a CJS module you'd need to output

`
var minimist = require('minimist');
if (minimist.default) {
 minimist = minimist.default;
}
`

Is that what you think traceur should do?

On Mon, Jul 21, 2014 at 2:34 PM, Juan Ignacio Dopazo
<jdop...@yahoo-inc.com> wrote:
>
>> On Saturday, July 19, 2014 1:53 PM, Brian Di Palma <off...@gmail.com> wrote:
>
>> When an npm package exports a named identifier it's trivial to use it
> in an ES6 module.
>
> import {
>     parse,
>     print
> } from 'recast';
>
>> When on the other hand it sets its export on `module.exports` default
> exports provide no help at all.
>
> This sounds like an issue in your transpiler. Ideally CJS modules inside 
> projects written using ES6 modules should be treated as modules that default 
> export an object. CJS modules don't have the same static semantics as their 
> ES6 counterpart, so they should be treated as mutable objects. An ES6 Loader 
> would do the same when loading CJS modules.
>
> Juan
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to