duojs / duo

A next-generation package manager for the front-end
3.42k stars 118 forks source link

importing a directory that does not contain an index.{ext} file gives a nondescriptive error #496

Open ndhoule opened 8 years ago

ndhoule commented 8 years ago

Given the following directory structure:

lib
├── index.css
├── index.js
└── info-view
    └── index.js

If you import a directory (implying the existence of an index.{ext} file, e.g. index.css) that does not contain an index file:

// index.css
@import "./info-view";

body {
  width: 703px;
  margin: 0 auto;
}

You get the following error:

        using : babel
        using : myth
     building : lib/index.css
        using : compatibility
        using : stoj
    installed : segmentio-ui@deku-0.5.x
        error : Error: EISDIR, read
    at Error (native)
    installed : codemirror-CodeMirror@5.5.0

I've only tried this with CSS, but I'm assuming it also happens for JavaScript files? Not sure. Would be nice to have a more descriptive error; perhaps when, as in this case, an import implies the presence of an index.{ext} file, the resolver should stat the file and throw an error if it doesn't exist?