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.