@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.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 7.2.0
    0
    • latest

Version History

Package Sidebar

Install

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

Weekly Downloads

0

Version

7.2.0

License

MIT

Unpacked Size

85.1 kB

Total Files

23

Last publish

Collaborators

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