metarhia / metasync

Asynchronous Programming Library for JavaScript & Node.js
https://metarhia.com
MIT License
206 stars 35 forks source link

Use eslint-config-metarhia #227

Closed aqrln closed 5 years ago

aqrln commented 7 years ago

This commit removes .eslintrc.yml in favor of using the eslint-config-metarhia package. Three rules are turned off here, because they trigger lots of linter errors:

How these exceptions are handled further is outside the scope of this commit/pull request, and they might need somewhat deeper investigation than just considering the rules themselves. E.g., errors triggered by handle-callback-err may not necessarily mean that there's a lot of places errors are not handled in metasync (though if that's indeed the case, it will show nicely where to fix these bugs so that one doesn't need to spot all of them manually), but it might be just that there's some trouble with regex specified in this rule's settings.

One of the linter errors is handled in this commit though: there was a require() call pointing to a non-existent file, which is now fixed.

Also, eslint package has been updated to match what peerDependencies of eslint-config-metarhia require, and eslint-plugin-import, which is also a part of the config's peerDependencies, has been installed.

aqrln commented 7 years ago

I've taken another look, and yeah, handle-callback-err failures are legitimate, but all of them are in tests, not in the library code itself. I'd say land this as-is, and then remove "handle-callback-err": "off" from .eslintrc.json and add test.notOk(error, 'operation must not return an error'); where necessary as a separate commit.

belochub commented 5 years ago

Closed in favor of https://github.com/metarhia/metasync/pull/379.