[openstack-dev] [javascript] [horizon] [merlin] [refstack] Javascript Linting

Michael Krotscheck krotscheck at gmail.com
Mon Jun 15 23:36:59 UTC 2015

I'm restarting this thread with a different subject line to get a broader
audience. Here's the original thread:

The question at hand is "What will be OpenStack's javascript equivalent of
flake8". I'm going to consider the need for common formatting rules to be
self-evident. Here's the lay of the land so far:

   - Horizon currently uses JSCS.
   - Refstack uses Eslint.
   - Merlin doesn't use anything.
   - StoryBoard (deprecated) uses eslint.
   - Nobody agrees on rules.

JSCS Stands for "JavaScript CodeStyle". Its mission is to enforce a style
guide, yet it does not check for potential bugs, variable overrides, etc.
For those tests, the team usually defers to (preferred) JSHint, or ESLint.

Ever since JSCS was extracted from JSHint, it has actively removed rules
that enforce code style, and focused on findbug style tests instead. JSHint
still contains the "Do no evil" license, therefore is not an option for
OpenStack, and has been disqualified.

ESLint's original mission was to be an OSI compliant replacement for
JSHint, before the JSCS split. It wants to be a one-tool solution.

My personal opinion/recommendation: Based on the above, I recommend we use
ESLint. My reasoning: It's one tool, it's extensible, it does both
codestyle things and bug finding things, and it has a good license. JSHint
is disqualified because of the license. JSCS is disqualified because it is
too focused, and only partially useful on its own.

I understand that this will mean some work by the Horizon team to bring
their code in line with a new parser, however I personally consider this to
be a good thing. If the code is good to begin with, it shouldn't be that

This thread is not there to argue about which rules to enforce. Right now I
just want to nail down a tool, so that we can (afterwards) have a
discussion about which rules to activate.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150615/618e95dc/attachment.html>

More information about the OpenStack-dev mailing list