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"
}
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
andsemicolon
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.
- eslint-config-xo-space - ESLint shareable config for XO with 2-space indent
- eslint-config-xo-react - ESLint shareable config for React to be used with this config
- eslint-config-xo-typescript - ESLint shareable config for TypeScript to be used with this config