@losant/eslint-config-losant

Common eslint config for Losant

Stats

StarsIssuesVersionUpdatedCreatedSize
@losant/eslint-config-losant
1.4.38 months ago4 years agoMinified + gzip package size for @losant/eslint-config-losant in KB

Readme

@Losant / Eslint Config Losant

ESLint config for all Losant projects.

Installation

npm install --save-dev @losant/eslint-config-losant
yarn add --dev @losant/eslint-config-losant

Requirements

  • Node.js >=8.0.0

Configuration

Browser

{
  "eslintConfig": {
    "extends": "@losant/eslint-config-losant/env/browser"
  }
}

Node

{
  "eslintConfig": {
    "extends": "@losant/eslint-config-losant/env/node"
  }
}

Usage

You should add an npm script to the package.json of the project that specifies the eslint command. lint is the barebones setup you'll need to then be able to do yarn run lint. It's recommended that you add the other commands as well.

{
  "scripts": {
    "lint": "esw \"**/*.js\" src test",
    "lint:fix": "ews --fix \"**/*.js\" src test",
    "lint:watch": "esw --watch \"**/*.js\" src test",
    "lint:staged": "lint-staged"
  },
  "lint-staged": {
    "**/*.js": "esw"
  }
}

Documentation

The resulting combination of extended rules, overrides, and plugins are documented together with their specified options:

Pre-Push Hook with Husky

Pre-Push hooks can be easily configured with Husky to encourage linting across a project. Simply add a dev dependency for Husky, and add configuration.

npm install --save-dev husky
yarn add --dev husky
"husky": {
  "hooks": {
    "pre-commit": "lint-staged"
  }
}

Husky can be used for other Git Hooks as well. Check out their documentation for more details.

Optional Prettier Interop

If you others working in a shared repo have global local configurations for ESLint and/or Prettier, it may be desirable to configure ESlint & Prettier to operate without stepping on eachother's toes. This can be handled with some additional configuration.

npm install --save-dev eslint-config-prettier
yarn add --dev eslint-config-prettier

At the end of the project's list of ESLint configuration extends, add "prettier". This will tell ESLint not to worry about rules that Prettier deals with.

"extends": [
  "@losant/eslint-config-losant/env/browser",
  "plugin:import/react",
  "prettier"
],

Configure to run after lint with lint-staged.

"lint-staged": {
  "**/*.js": "esw --fix",
  "*.{js,css,md}": "prettier --write"
},

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.