Additional ESLint's rules for Node.js
> npm install --save-dev eslint eslint-plugin-node
.eslintrc
{
"extends": "eslint:recommended",
"plugins": ["node"],
"env": {
"es6": true,
"node": true
},
"rules": {
"node/no-missing-import": "error",
"node/no-missing-require": "error",
"node/no-unpublished-import": "error",
"node/no-unpublished-require": "error",
"node/no-unsupported-features": ["error", {"version": 4}],
"node/process-exit-as-throw": "error",
"node/shebang": "error"
}
}
Some rules are slow because it searches package.json
and opens it.
- no-missing-import - Disallow
import
andexport
declarations for files that don't exist. - no-missing-require - Disallow
require()
s for files that don't exist. - no-unpublished-import - Disallow
import
andexport
declarations for files that are not published. - no-unpublished-require - Disallow
require()
s for files that are not published. - no-unsupported-features - Disallow unsupported ECMAScript features on the specified version.
- process-exit-as-throw - Make the same code path as throw at
process.exit()
. (⚠ Experimental) - shebang - Suggest correct usage of shebang. (fixable)
Q: The no-missing-import
/ no-missing-require
rules don't work with nested folders in SublimeLinter-eslint
A: See context.getFilename() in rule returns relative path in the SublimeLinter-eslint FAQ.