This reverts commit c16d373. The original commit changed ^0.5.0 to >=0.5 0 And it turns out that despite A) making the versions travis was configured to work with explode and B) looking wrong, it is, in fact, correct. What it's saying is >=0.5 AND a major version of 0. Which is what we'd probably want. Though it's interesting to note that it's not semantically equivalent to ^0.5.0. ¯\_(ツ)_/¯
Specifically, when the Reader constructor call is determining what class to construct it selects a default class of Reader or whatever was explicitly passed into it. If it was a "type" as a string the the look for that will override the previous type. When the file was being reformatted for standardization it got a default added to the type string-based look up. This resulted in any non string-based type being constructed as a ProxyReader type, instead of the custom type that was selected. As npm uses custom fstream readers, this resulted in npm and its tests exploding.
* depend on http://npm.im/standard * copy standard's .eslintrc to root for use by editors running eslint * add `standard &&` to `npm test` * reformat everything to pass standard's style checks The only oddity here is that since `standard` is set to check for both Node and browser compliance, some variables at the module scope level (`closed`, `FileReader`) are marked as read-only. See discussion on eslint/eslint#892 for details.