Eslint
Intro
eslint is a Javascript linter and format-enforcer. Love it or die. I'm following Google's rules, with allowance for longer lines. My job uses a very strict set of rules.
Installation
Do NOT USE APT, it is available and seems to work but this is a node module. Don't be stupid, use npm. Note the mind-bogglingly-insane number of dependencies. Node world, you scare me...
# From anywhere... npm install -g eslint # From your project npm install --save-dev eslint-config-google
Configuration
If you have an existing .eslintrc.js that works well in another project, JUST COPY IT to the root of the new vscode folder-based project. Here's a good example:
module.exports = {
'env': {
'browser': true,
'es2020': true,
},
// this is insane: 'extends': ['eslint:recommended', 'google'],
'extends': ['google'],
'parserOptions': {
'ecmaVersion': 11,
'sourceType': 'module',
},
'rules': {
// MDM they don't call me [Michael 4k] for nothing. I have to save SOME lint dignity. Is this too much to ask?
'max-len': [1, {'code': 120}],
},
};
Otherwise, this will step you through it. Use the google format as a baseline:
cd myproject eslint --init
vscode integration
- Get the eslint extension
- Restart vscode and open a project with JS files.
- An eslint dialog should pop up, click Allow. Should be all you need.