node-eslint-plugin-joyent
This repository is part of the Joyent Manta and Triton projects. For
contribution guidelines, issues, and general documentation, visit the main
Triton and
Manta project pages.
Overview
This is a plugin for ESLint that is meant to provide
default style and lint configurations that approximate what Joyent
repositories using jsstyle and
JavaScript Lint currently do. ESLint is highly
configurable, so additional capabilities can be turned on or disabled locally
where desired.
Note that this can't yet be used as a full replacement for jsstyle
, since
ESLint's indent
setting doesn't do a good job of accounting for line
continuations. Using the style configuration is still useful though, since it
does catch a number of other issues.
Setup
To use this repo, place the following in your package.json
:
"devDependencies": {
"eslint": "4.13.1",
"eslint-plugin-joyent": "~2.1.0"
...
},
You'll then want to update to the latest set of Makefiles from
eng.git, and put the
following in your repository's Makefile
:
ESLINT_FILES = $(JS_FILES)
If you have a target that gets run when building zone images for installing
project dependencies, you may want to consider passing --production
to
npm install
to avoid including ESLint in the resulting zone image.
Then create .eslintrc
at the top of the repository:
{
"plugins": [ "joyent" ],
"extends": [
"eslint:recommended",
"plugin:joyent/style",
"plugin:joyent/lint"
],
"parserOptions": {
"ecmaVersion": 5,
"sourceType": "script",
"ecmaFeatures": {
}
},
"env": {
"node": true
},
"rules": {
}
}