node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


eslint-config-xo Build Status

ESLint shareable config for XO

This is for advanced users. You probably want to use XO directly.

See eslint-plugin-unicorn for some additional useful rules.


$ npm install --save-dev eslint-config-xo


Add some ESLint config to your package.json:

    "name": "my-awesome-project",
    "eslintConfig": {
        "extends": "xo"

Or to .eslintrc:

    "extends": "xo"

Supports parsing ES2015+, but doesn't enforce it by default.

This package also exposes xo/esnext if you want ES2015+ rules:

    "extends": "xo/esnext"

And xo/browser if you're in the browser:

    "extends": "xo/browser"

Use the XO CLI instead

XO is an ESLint wrapper with great defaults.

Here are some reason why you should use the XO CLI instead of this config:

  • XO comes bundled with this config.
  • Beautiful output.
  • Bundles many useful plugins, like eslint-plugin-unicorn, eslint-plugin-import, eslint-plugin-ava, and more.
  • No need to specify file paths to lint. It will lint all JS files except commonly ignored paths.
  • Super simple to add XO to a project: $ xo --init
  • Specify indent and semicolon preferences easily without messing with the rule config.
  • Config/rule overrides per files/globs. (ESLint still doesn't support this)
  • Can open all files with errors at the correct line in your editor. (See the --open flag)
  • The editor plugins are IMHO better than the ESLint ones. (Subjective)

tl;dr You miss out on a lot by just using this config.



MIT © Sindre Sorhus