horizon/openstack_dashboard
Michael Krotscheck c6c0352982 Switched from JSCS to ESLint
This patch switches horizon from using JSCS to using ESlint. It
adds the john papa style guides as an eslint plugin, and deactivates
additional linting rules so current cleanup efforts can focus on the
issues remaining from JSCS. Once that cleanup effort is complete,
we can switch our linting job to voting and move forward from there.

YAML for .eslintrc was chosen because the JSON specification does
not allow comments, and having comments (including rule links) will
make it easier to discuss linting changes.

Deactivated eslint rules have each been annotated with a # TODO
statement, so we can address them in the future. Links in the
documentation have been updated to new contributor guidelines, which
will be updated after this patch lands.

Linting may be executed by first installing npm dependencies using
`npm install`, and then executing `npm run lint` at any time in the
future. No python venv is required.

For clarification: We are switching to ESLint because JSCS explicitly
focuses on code-style, not on language use errors. For that purpose,
JSCS explicitly defers to JSHint, which due to the 'do no evil' license is
not usable. Since ESLint provides both the codestyle functionality, and
the language use checks, of both JSCS and JSHint, it was deemed the
only viable tool,

http://lists.openstack.org/pipermail/openstack-dev/2015-June/067030.html

Change-Id: Ib4c3f77f8cc3cdaa3c7558b7bc3a6d1299b6dcbe
Partially-Implements: blueprint jscs-cleanup
2015-06-30 23:00:29 -07:00
..
api Merge "Add description field in the user table" 2015-06-26 22:07:22 +00:00
conf Adding policy check in quota call 2015-06-25 22:04:50 +00:00
contrib Adding contrib directory for plugins 2015-05-29 15:15:48 -06:00
dashboards Merge "Useing 'yesno' filter to display Boolean value" 2015-07-01 02:24:56 +00:00
django_pyscss_fix Workaround for 'File exists' test failure 2014-09-30 06:43:22 -05:00
enabled Merge "Adding Angular Users Panel" 2015-06-29 21:12:02 +00:00
local Merge "Allow to attach FIP without a router" 2015-06-18 00:39:11 +00:00
locale Imported Translations from Transifex 2015-06-29 06:04:59 +00:00
management Detect apache version 2015-04-03 09:51:05 +02:00
static Switched from JSCS to ESLint 2015-06-30 23:00:29 -07:00
templates Applying auto-file-discovery partially 2015-06-29 16:04:14 -06:00
templatetags Replaces always disabled context selection link 2014-10-20 15:50:12 -06:00
test Turning off offline compression for integration test 2015-06-26 23:35:32 +00:00
usage Adding policy check in quota call 2015-06-25 22:04:50 +00:00
utils Provides a mechanism for adding scss for pluggable dashboards 2015-06-26 00:57:28 +00:00
wsgi Update WSGI app creation to be compatible with Django 1.7 2014-10-16 13:57:45 +01:00
__init__.py Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
context_processors.py Update project list in the header bar. 2014-12-11 18:22:38 +02:00
exceptions.py Revert "Refactoring the exceptions lists" 2015-04-06 16:49:17 -05:00
hooks.py Remove extraneous vim configuration comments 2014-05-06 15:30:10 +08:00
karma.conf.js JSCS cleanup - openstack_dashboard/static/dashboard/workflow 2015-06-26 15:40:40 -07:00
policy_backend.py Remove files from oslo-incubator 2015-06-16 01:35:34 +00:00
policy.py Moving policy engine implementation 2015-01-22 15:55:19 -07:00
settings.py Applying auto-file-discovery partially 2015-06-29 16:04:14 -06:00
static_settings.py Updated incorrect name for angular lrdragndrop 2015-03-31 10:42:18 +00:00
urls.py Allow specifying authentication URLs from settings 2015-03-18 11:44:30 +11:00
views.py Redirect initial hit to login page 2015-03-13 15:14:23 +11:00