GithubHelp home page GithubHelp logo

eslint-config-sbkonzept's Introduction

eslint-config-sbkonzept

This package provides our .eslintrc as an extensible shared config.

Quick Start

  1. Run
yarn add -D sb-konzept/eslint-config-sbkonzept
cat node_modules/eslint-config-sbkonzept/package.json | jq -M .peerDependencies | command sed 's/[\{\},]//g ; s/: /@/g' | xargs yarn add -D  prettier-eslint-cli lint-staged husky
  1. Add to the package.json
{
  "scripts": {
    "precommit": "lint-staged",
    "lint:eslint": "eslint",
    "format:prettier": "prettier-eslint --write",
    "format:src": "yarn format:prettier 'src/**/*.js'"
  },
  "eslintConfig": {
    "extends": "sbkonzept"
  },
  "lint-staged": {
    "*.js": [
      "yarn format:prettier",
      "yarn lint:eslint",
      "git add"
    ],
    "*.json": [
      "yarn format:prettier",
      "git add"
    ]
  }
}

Usage

We export three ESLint configurations for your usage.

eslint-config-sbkonzept

Our default export contains all of our ESLint rules, including ECMAScript 6+ and React. It requires eslint, eslint-plugin-import, eslint-plugin-react, eslint-plugin-jsx-a11y and babel-eslint.

If you use yarn, run cat node_modules/eslint-config-sbkonzept/package.json | jq .peerDependencies to list the peer dependencies and versions, then run yarn add --dev <dependency>@<version> for each listed peer dependency.

  1. Install the correct versions of each package, which are listed by the command:
cat node_modules/eslint-config-sbkonzept/package.json | jq .peerDependencies

Linux/OSX users can run

yarn add -D sb-konzept/eslint-config-sbkonzept
cat node_modules/eslint-config-sbkonzept/package.json | jq -M .peerDependencies | command sed 's/[\{\},]//g ; s/: /@/g' | xargs yarn add -D

Which produces and runs a command like:

yarn add --dev eslint-config-airbnb eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.# babel-eslint@^#.#.#
  1. Add "extends": "sbkonzept" to your package.json under the key eslintConfig
{
  "eslintConfig": {
    "extends": "sbkonzept"
  }
}
  1. Install prettier-eslint-cli
yarn add --dev prettier-eslint-cli
  1. Add additional scripts to your package.json
{
  "scripts": {
    "lint": "eslint src",
    "prettify": "prettier-eslint src/**/*.js --write"
  }
}

Git-Hooks

  1. Install husky and lint-staged
yarn add -D lint-staged husky
  1. Add lint-staged config to the package.json
{
  "lint-staged": {
    "*.js": [
      "yarn prettify",
      "yarn lint",
      "git add"
    ]
  }
}
  1. Add a precommit script to the package.json
{
  "scripts": {
    "precommit": "lint-staged"
  }
}

eslint-config-sbkonzept's People

Contributors

prioe avatar

Watchers

James Cloos avatar  avatar Felix Eigenbrodt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.