Difference between revisions of "Eslint"

From Bitpost wiki
Jump to navigation Jump to search
Line 9: Line 9:
  
 
==== Configuration ====
 
==== 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.  Otherwise, this will step you through it.  Use the google format as a baseline:
+
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,
 +
  },
 +
  'extends': ['eslint:recommended', '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
 
  cd myproject
 
  eslint --init
 
  eslint --init
 +
 
==== vscode integration ====
 
==== vscode integration ====
 
* Get the eslint extension
 
* Get the eslint extension
 
* Restart vscode and open a project with JS files.
 
* Restart vscode and open a project with JS files.
 
* An eslint dialog should pop up, click Allow.  Should be all you need.
 
* An eslint dialog should pop up, click Allow.  Should be all you need.

Revision as of 17:36, 2 September 2020

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,
  },
  'extends': ['eslint:recommended', '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.