node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »

eslint-config-xo

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.

Install

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

Usage

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.

Related

License

MIT © Sindre Sorhus