JSHint (2011—2014)

On January 18th, 2011 I was frustrated with the most popular JavaScript linter at that time, JSLint, and wanted to have a better tool. I ranted about it to Paul on IRC. (#html5 channel on freenode, if my memory serves me well)

2011 jQuery Bay Area Conference. I believe this is the first time I gave a talk about code quality and JSHint. Photo by Ben Alman.

15:49 antonkovalyov: i am seriously thinking about forking jslint
15:58 antonkovalyov: paul_irish, do you use any linter for your project?
16:00 paul_irish: antonkovalyov: no
16:00 paul_irish: also. you should start by forking jslint
16:00 paul_irish: honestly there needs to be a proper fork on jslint these days.

I forked JSLint and the first thing I did was to write a lot of unit tests. JSLint didn't have any which I thought was a bit odd. Then I started making changes. About a month later, we released JSHint. JSHint clearly hit the nerve and quickly surpassed JSLint as the most popular linter for JavaScript. It had a good ride and I was proud to serve as its maintainer for three years, until July 21st, 2014 when I announced that I would be stepping down as the project's lead.

It was a good run and I learned a lot from making and running JSHint.

P.S. Around the same time as I was switching my energies from JSHint, Nicholas Zakas started a new project called ESLint. It was more modular, more extensible, and generally just a better linter. It quickly became the de-facto linter for the JavaScript ecosystem. I even switched the Medium codebase from using JSHint to using ESLint. Nicholas and his team had done a tremendous job with ESLint.