given a preview'd file 'downshift.js', having a import Downshift from 'downshift' statement will lock up atom.
We could either
- require local imports to always specify the full filename, including extension to differentiate between local files and named packages or
- prevent a module from importing itself or
- cache modules based on path, to support circular dependencies
we would find a module in the cache and return its contents and dependencies without having to re-read and re-parse dependencies
The last option seems like the most 'correct' approach.