prototyping/bootstrapping ESlint usage for Firefox Hello code

I’ve been watching with some excitement gps’ excellent ongoing blogging (not to mention all his hard work) attacking what he refers to as Firefox’s “contribution process debt”.

On a slightly related note, I had as a Q1 goal to tighten one important feedback loop for Firefox Hello.  I was super busy with other stuff, and was intending to just let this go. But at the end of the quarter, I found myself just too annoyed that I still didn’t have any sort of JavaScript linting solution. After having enjoyed working on web projects where I had tools to catch at least the most basic typos, it was just too much.

I decided to see what I could do in a day.

What I came up with is a basic set of configuration files for ESLint, tailored for how we’re using content JS in Firefox Hello today.  A large chunk of the default rules are turned off, to allow us to test and bootstrap this without having to do a giant code cleanup first.  Nonetheless, the linting has already found one bug, which I’ve fixed.

Right now, it’s running as a cron job every three hours.  While this isn’t yet any sort of robust, production system, it’s now possible for us to get a feel for this, and, I hope, turn it into something more real.

prototyping/bootstrapping ESlint usage for Firefox Hello code