eslint-config-yoctol
v0.26.3
Published
Yoctol specific linting rules for ESLint
Downloads
118
Readme
eslint-config-yoctol
Yoctol Info. ESLint config, fork from eslint-config-airbnb
Usage
eslint-config-yoctol
Our default export contains all of our ESLint rules, including EcmaScript 6+
and React. It requires eslint
, eslint-plugin-import
, eslint-plugin-react
, eslint-plugin-react-hooks
, eslint-plugin-jsx-a11y
, eslint-plugin-prettier
, eslint-plugin-sort-imports-es6-autofix
and prettier
.
- Install the correct versions of each package, which are listed by the command:
npm info "eslint-config-yoctol@latest" peerDependencies
Linux/OSX users can simply run
(
export PKG=eslint-config-yoctol;
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)
Which produces and runs a command like:
npm install --save-dev eslint-config-yoctol eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.# eslint-plugin-react-hooks@^#.#.# eslint-plugin-prettier@^#.#.# eslint-plugin-sort-imports-es6-autofix@^#.#.#
Windows users can either install all the peer dependencies manually, or use the install-peerdeps cli tool.
npm install -g install-peerdeps
install-peerdeps --dev eslint-config-yoctol
The cli will produce and run a command like:
npm install --save-dev eslint-config-yoctol eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.# eslint-plugin-react-hooks@^#.#.# eslint-plugin-prettier@^#.#.# eslint-plugin-sort-imports-es6-autofix@^#.#.#
- Add
"extends": "yoctol"
to your .eslintrc
eslint-config-yoctol/base
This entry point is deprecated. See eslint-config-yoctol-base.
eslint-config-yoctol/legacy
This entry point is deprecated. See eslint-config-yoctol-base.
See Airbnb's Javascript styleguide and the ESlint config docs for more information.
Rules be overwritten
react
- react/destructuring-assignment: 'off'
- react/sort-prop-types: ['error', {
callbacksLast: true,
ignoreCase: false,
requiredFirst: false,
}]
- react/no-deprecated: ['warn']
- react/prefer-stateless-function: 'off'
- react/jsx-filename-extension: ['error', { extensions: ['.js'] }]
- react-hooks/rules-of-hooks: 'error'
- react-hooks/exhaustive-deps: 'error'