2.0.0 • Published 10 years ago
eslint-config-ecliptic v2.0.0
eslint-config-ecliptic
This ESLint config extends Airbnb's config.
Differences from Airbnb
Variables
no-unused-vars- reset back to the ESLint default, no optionsno-use-before-define- changed to a warning, added the "nofunc" option
Best Practices
dot-location- require the dot to be on the same line as the propertyno-unused-expressions- allow the use of expressions in statement position
Style
camelcase- always require camelcase for propertiesobject-curly-spacing- return to the default of 'never'no-unexpected-multiline- prevent problems when not using semicolonspadded-blocks- disable this rulesemi- this is the big one - never use semicolons!
React
react/jsx-boolean-value- require values for boolean JSX attributesreact/jsx-closing-bracket-location- the closing bracket should be after propsreact/jsx-sort-prop-types- require propTypes to be sorted alphabeticallyreact/jsx-sort-props- require props to be sorted alphabetically
Usage
We export two ESLint configurations for your usage.
eslint-config-ecliptic
Our default export contains all of our ESLint rules, including EcmaScript 6+
and React. It requires eslint, babel-eslint, and eslint-plugin-react.
npm install --save-dev eslint-config-ecliptic babel-eslint eslint-plugin-react eslint- add
"extends": "ecliptic"to your .eslintrc
eslint-config-ecliptic/base
Lints ES6+ but does not lint React. Requires eslint and babel-eslint.
npm install --save-dev eslint-config-ecliptic babel-eslint eslint- add
"extends": "ecliptic/base"to your .eslintrc
Changelog
1.6.0
- change
react/jsx-closing-bracket-locationto 'after-props'
1.5.0
- return
object-curly-spacingto the default of 'never'
1.4.0
- remove
indentandreact/jsx-quotesbecause they match airbnb now
1.3.0
- allow the use of expressions in statement position
1.2.0
- no more displayName on React components
1.1.0
- no more semicolons!
- fix a typo in the base config
1.0.0
- switch to modular rules files, following eslint-config-airbnb's example
- define only what has changed, rather than defining everything