Erik Arvidsson (2014-06-19T13:57:03.000Z)
dignifiedquire at gmail.com (2014-06-20T07:31:48.570Z)
> On Thu, Jun 19, 2014 at 6:41 AM, Calvin Metcalf <calvin.metcalf at gmail.com> wrote: > > One other option could be for import name from 'path' to resolve to the > module body there is no default export, thanks to the static analysis > you'll always know when default is present. That is a refactoring hazard. If the module changes to add/remove the default export the import will still succeed but the value is either a module instance object or anything: ```js // a.js export default class C { ... } // importer.js import A from './a'; new A(); ``` Now a.js changes. ```js // a.js V2 export class C { ... } // importer.js import A from './a'; new A(); // TypeError: A is not a function ``` With this idea you cannot look at the import statement to see if the imported binding is a module instance object or not.