@dangerfarms/eslint-config-df-base

    7.2.0 • Public • Published

    ESLint rules adapted from https://github.com/airbnb/javascript

    The main adaptation we've made is to downgrade non-critical rules to 'warn' level, to prevent linting recommendations from blocking app development (eg. in Create React App projects, where any error results in a red screen).

    Pre-commit hooks and CI processes should use ESLint's --max-warnings=0 flag to ensure that lint warnings don't make it into production code.

    Using the lint rules in a new package

    1. Run the following:

      (
        export PKG=@dangerfarms/eslint-config-df-base;
        npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs yarn add "$PKG@latest"
      )

      Note: this produces and runs a command like the following: yarn add @dangerfarms/eslint-config-df-base eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.#, pinning the versions to the supported ones.

    2. Add "@dangerfarms/eslint-config-df-base" to your project's ESLint config, under the extends property.

      {
        "extends": "@dangerfarms/eslint-config-df-base"
      }
    3. Add the eslint script to your package.json.

      {
        "scripts": {
          "eslint": "eslint src"
        }
      }

    Usage with git hooks

    1. yarn add husky lint-staged

    2. Update package.json with the following root keys.

      {
        "husky": {
          "hooks": {
            "pre-commit": "lint-staged"
          }
        },
        "lint-staged": {
          "*.js": [
            "eslint --max-warnings=0 --fix",
            "git add"
          ]
        }
      }

    TODO: maybe we can automate this, and have a single bootstrapping command to install default ESLint config, git hooks, etc on a new project.

    Modifying the rules

    You can clone this project if you'd like to update the rules.

    For local development with yarn the following might be helpful.

    cd ~/Code/dangerfarms/javascript/packages/eslint-config-df
    yarn link
    cd ~/Code/dangerfarms/javascript/packages/eslint-config-df-base
    yarn link
    cd ~/Code/dangerfarms/project
    yarn link "@dangerfarms/eslint-config-df"
    yarn link "@dangerfarms/eslint-config-df-base"
    

    Now you can modify eslint-config-df and eslint-config-df-base in place, and run ESLint against project to see the effects. This allows manual testing of the ESLint rules against a particular project without having to publish a new version.

    Install

    npm i @dangerfarms/eslint-config-df-base

    DownloadsWeekly Downloads

    12

    Version

    7.2.0

    License

    MIT

    Unpacked Size

    85.1 kB

    Total Files

    23

    Last publish

    Collaborators

    • cycleseven
    • danger-farms-developers
    • jackd68df
    • maxcct
    • vekerdyb