@losant/eslint-config-losant

1.6.1 • Public • Published

@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"
},

/@losant/eslint-config-losant/

    Package Sidebar

    Install

    npm i @losant/eslint-config-losant

    Weekly Downloads

    703

    Version

    1.6.1

    License

    MIT

    Unpacked Size

    128 kB

    Total Files

    12

    Last publish

    Collaborators

    • dahs81
    • spacetc62
    • inconceivableduck
    • zwigby
    • acdaniel
    • cephirothdy2j
    • eeerin
    • tmdesigned