Nuclear Powered Macros

    eslint-config-sbkonzept

    1.6.0 • Public • Published

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

    Keywords

    none

    Install

    npm i eslint-config-sbkonzept

    DownloadsWeekly Downloads

    2

    Version

    1.6.0

    License

    MIT

    Unpacked Size

    18.3 kB

    Total Files

    17

    Last publish

    Collaborators

    • prio