@ssense/eslint-config-ui-core

0.4.0 • Public • Published

eslint-config-ui-core

SSENSE JavaScript Style Guide for Backend Services

Installation

npm install --save-dev eslint @ssense/eslint-config-ui-core

Because of the https://github.com/eslint/eslint/issues/3458 [current inability for sharable configs] to supply their dependencies you will also need to:

npm install --save-dev \
  babel-eslint \
  eslint-config-airbnb \
  eslint-plugin-import \
  eslint-plugin-react

Usage

Edit your package.json

For client-side projects (only one supported at the moment)

  "eslintConfig": {
    "extends": "ssense/client"
  }

/client specializations are that it permits browser globals, requires the react plugin.

CLI eslint

We can preview all linting errors from the command line by running:

./node_modules/.bin/eslint **

We can also run it with --fix, which should fix most of the problems:

./node_modules/.bin/eslint ** --fix

Or even better we can add a script to package.json which runs this for us:

"lint": "./node_modules/.bin/eslint 'app/**'",
"lint:fix": "./node_modules/.bin/eslint 'app/**' --fix",

In this particular case, we are validating everything inside our /app folder

Extends

airbnb-base https://github.com/airbnb/javascript[]

We extend the AirBnB rules for historical reasons. Our configuration will continue to evolve and may not be based on it one day if we eventually disable or adjust too much of it via overrides.

Plugins

import https://github.com/benmosher/eslint-plugin-import[]

Provides rules that help prevent import bugs and enforces style.

react https://github.com/yannickcr/eslint-plugin-react[]

React specific linting rules for ESLint

Rules

This section contains documentation about certain (not all) rules we enforce. Each rule section contains rationale and pass/fail examples. Over time we will complete exhaustive documentation. So far we have focused on significant deviations from our AirBnB inheritance.

(..@todo)

Readme

Keywords

Package Sidebar

Install

npm i @ssense/eslint-config-ui-core

Weekly Downloads

5

Version

0.4.0

License

MIT

Unpacked Size

8.43 kB

Total Files

10

Last publish

Collaborators

  • jude.seide
  • cmoroney
  • alessandro.commodari
  • jeegna.patel
  • jamesslomka
  • ssenses-agupta
  • expense_ssense
  • toya.okeke
  • quinnlangille
  • ssense-admin
  • kaiz
  • maxime.servonnet.ssense
  • ephremsaour
  • non-senses
  • sam-nicolai.johnston
  • carlossense
  • npm1
  • vijayrajasekar
  • dimitrios.nicolacopoulos
  • sikkavarun
  • lclemence
  • nodir.fayzullaev
  • alexnorms
  • mahdieft