Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »


0.33.1 • Public • Published

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.

Use the XO issue tracker instead of this one.


$ 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 with $ npm init xo.
  • 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.



npm i eslint-config-xo

DownloadsWeekly Downloads






Unpacked Size

16.3 kB

Total Files


Last publish


  • avatar
  • avatar