Hacker News new | past | comments | ask | show | jobs | submit login
ESLint – The pluggable linting utility for JavaScript (eslint.org)
51 points by tilt on Feb 13, 2015 | hide | past | favorite | 15 comments



Also, I keep repeating myself, but make sure to check http://ternjs.net


The is an atom plugin available: https://github.com/artoale/atom-tern


wow, that looks pretty awesome. any experiences here on HN on using Ternjs for production work?


i am using it with VIM while code. It is helper, so I don't see anything that would prevent you from using it while code. If you thought about incorporating it into deploy process - i don't have that kind of experience.


Can't give any practical example, but i find eslint more pleasant to use to the point where i am using for any new project. Also, it comes with many useful rules out of the box, like one, which make sure you take care of `err` in callback.


Anyone familiar with eslint want to give a practical comparison of eslint and jshint?


I'm using ESLint for all my projects for the last year. I find it much easier to customize ( you can write your own rules ) And because it uses the Esprima parser, it's easier to integrate other things like JSX or ES6.

Check out an older intro by Zakas http://www.nczonline.net/blog/2013/07/16/introducing-eslint/

( Also I think it's a bit faster than JSHint/JSLint ).


There's a section in the README about speed: https://github.com/eslint/eslint#how-does-eslint-performance...

"ESLint is slower than JSHint, usually 2-3x slower on a single file. This is because ESLint uses Espree to construct an AST before it can evaluate your code whereas JSHint evaluates your code as it's being parsed. The speed is also based on the number of rules you enable; the more rules you enable, the slower the process.

Despite being slower, we believe that ESLint is fast enough to replace JSHint without causing significant pain."


I do javascript full stack and use eslint + vim for many hours/day. I don't notice the slowness. It may be one of those benchmarks that doesn't translate to real world productivity. Eslint has more rules than JSHint, easier to configure (errors display the rule name) and more accurate.

The real competition is JSCS.


Oh, I see, thanks for pointing it out. Still, speed is not such an important factor for using a linter. I prefer being able to have custom rules and up-to-date stuff like ES6 and JSX.


Here is my favorite part: When it complains about something, it also shows the configuration option to turn it off inline or globally, instead of you having to look it up on the website. One example is that it expects double quotes by default, which I personally do not prefer.

Also, there are some other more style related rules that does not exist in jshint. Like requiring `typeof variable` over `typeof(variable)`.

Lastly, their webpage does a great job in explaining each rule, why they put it in there and what you can expect if you ignore them.

Just off the top of my head, that is.


That's excellent. jslinterrors.com does this for jslint - but that's a lot slower than reading good command line output in the first place.


I'm also using it but only on a side project. The primary reason for choosing ESLint over the other two is ability to create your own rules.

I think that whatever style rule You set you should be able to add rule for that or else nobody will care about it.

Talking about other two: - JSLint - is too restricted (heard many calling it too Crockfordish) in many cases and You don't have much control on how one should write code - JSHint is much like JSLint but with a much more options to customise how You want to write Your code


ES6 support doesn't seem complete yet, otherwise I'd totally be using it! I tried using it with 6to5 this past weekend, but espree is still missing some features. They've been moving really quickly, though! Relevant issue: https://github.com/eslint/espree/issues/10


I've been using this for a few months now and it's amazing. They're moving crazy fast to support ES6 features, and the interface for writing a new rule is great.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: