diff --git a/packages/eslint-config-airbnb/README.md b/packages/eslint-config-airbnb/README.md index 1a8be544..d8af31f6 100644 --- a/packages/eslint-config-airbnb/README.md +++ b/packages/eslint-config-airbnb/README.md @@ -4,16 +4,30 @@ This package provides Airbnb's .eslintrc as an extensible shared config. ## Usage -### With React Style +We export three ESLint configurations for your usage. -1. `npm install --save-dev eslint-config-airbnb babel-eslint eslint-plugin-react` +### eslint-config-airbnb + +Our default export contains all of our ESLint rules, including EcmaScript 6+ +and React. It requires `eslint`, `babel-eslint`, and `eslint-plugin-react`. + +1. `npm install --save-dev eslint-config-airbnb babel-eslint eslint-plugin-react eslint` 2. add `"extends": "airbnb"` to your .eslintrc -### Without React Style +### eslint-config-airbnb/base -1. `npm install --save-dev eslint-config-airbnb babel-eslint ` +Lints ES6+ but does not lint React. Requires `eslint` and `babel-eslint`. + +1. `npm install --save-dev eslint-config-airbnb babel-eslint eslint` 2. add `"extends": "airbnb/base"` to your .eslintrc +### eslint-config-airbnb/legacy + +Lints ES5 and below. Only requires `eslint`. + +1. `npm install --save-dev eslint-config-airbnb eslint` +2. add `"extends": "airbnb/legacy"` to your .eslintrc + See [Airbnb's Javascript styleguide](https://github.com/airbnb/javascript) and the [ESlint config docs](http://eslint.org/docs/user-guide/configuring#extending-configuration-files) for more information. diff --git a/packages/eslint-config-airbnb/base.js b/packages/eslint-config-airbnb/base.js index f3cbf295..ff9904e7 100644 --- a/packages/eslint-config-airbnb/base.js +++ b/packages/eslint-config-airbnb/base.js @@ -1,23 +1,8 @@ module.exports = { 'extends': [ - './rules/best-practices.js', - './rules/errors.js', - './rules/es6.js', - './rules/legacy.js', - './rules/node.js', - './rules/strict.js', - './rules/style.js', - './rules/variables.js' + 'eslint-config-airbnb/legacy', + 'eslint-config-airbnb/rules/es6', ], 'parser': 'babel-eslint', - 'env': { - 'browser': true, - 'node': true, - 'amd': false, - 'mocha': false, - 'jasmine': false - }, - 'ecmaFeatures': {}, - 'globals': {}, 'rules': {} }; diff --git a/packages/eslint-config-airbnb/index.js b/packages/eslint-config-airbnb/index.js index 74d6f345..46d601fe 100644 --- a/packages/eslint-config-airbnb/index.js +++ b/packages/eslint-config-airbnb/index.js @@ -1,7 +1,7 @@ module.exports = { 'extends': [ - // Need to qualify these here for ESLint to resolve them properly. - 'airbnb/base', - 'airbnb/rules/react.js' - ] + 'eslint-config-airbnb/base', + 'eslint-config-airbnb/rules/react', + ], + rules: {} }; diff --git a/packages/eslint-config-airbnb/legacy.js b/packages/eslint-config-airbnb/legacy.js new file mode 100644 index 00000000..83a4931e --- /dev/null +++ b/packages/eslint-config-airbnb/legacy.js @@ -0,0 +1,21 @@ +module.exports = { + 'extends': [ + 'eslint-config-airbnb/rules/best-practices', + 'eslint-config-airbnb/rules/errors', + 'eslint-config-airbnb/rules/legacy', + 'eslint-config-airbnb/rules/node', + 'eslint-config-airbnb/rules/strict', + 'eslint-config-airbnb/rules/style', + 'eslint-config-airbnb/rules/variables' + ], + 'env': { + 'browser': true, + 'node': true, + 'amd': false, + 'mocha': false, + 'jasmine': false + }, + 'ecmaFeatures': {}, + 'globals': {}, + 'rules': {} +};