@mobile-reality/eslint-config
v0.11.0
Published
ESLint's configuration of Mobile Reality Team
Downloads
597
Readme
@mobile-reality/eslint-config
ESLint's configuration of Mobile Reality team.
Table of Contents
- Requirements
- Installation and usage for a new project
- Installation and usage for an existing project
- Override
- Used packages
- License
Requirements
node: ^18.15.0
eslint: ^8.56.0
eslint-plugin-prettier: ^5.1.3
Installation and usage for a new project
Install
@mobile-reality/eslint-config
,eslint
,prettier
andeslint-plugin-prettier
:yarn add -D @mobile-reality/eslint-config eslint@^8.37.0 prettier eslint-plugin-prettier
or
npm i -D @mobile-reality/eslint-config eslint@^8.37.0 prettier eslint-plugin-prettier
Add to your root
.eslintrc.js
file:module.exports = { root: true, env: {}, // env config is based on project scope eg is it only node or node+browser extends: [ '@mobile-reality/eslint-config/XXX', // base config based on project scope, XXX described below 'plugin:prettier/recommended', // to include prettier rules in eslint ], // if jest is used jest config should be added to overrides section overrides: [ { files: ['test/**/*.test.ts'], // glob pattern has to match test files extends: ['@mobile-reality/eslint-config/configs/jest'], }, ], };
XXX is a preconfigured eslint config for MR projects. Supported configs with required peerDependencies (which must be installed in project):
- node-javascript
- node-typescript (@typescript-eslint/eslint-plugin@~5.31.0 @typescript-eslint/parser@~5.31.0)
- react-javascript (eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y eslint-plugin-simple-import-sort)
- react-typescript (@typescript-eslint/eslint-plugin@~5.31.0 @typescript-eslint/parser@~5.31.0 eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y eslint-plugin-simple-import-sort)
- react-native (@typescript-eslint/eslint-plugin@~5.31.0 @typescript-eslint/parser@~5.31.0 eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y eslint-plugin-simple-import-sort eslint-plugin-react-native)
Installation and usage for an existing project
- Remove all
ESLint
andprettier
dependencies (e.g.eslint
,prettier
,eslint-plugin-prettier
,@typescript-eslint/eslint-plugin
etc.) from package.json - Reinstall
node_modules
(so remove them and install withnpm i
oryarn install
) - Go to the installation step
Override
You can override rules by adding a rule to the rules section e.g.:
module.exports = {
root: true,
extends: ['@mobile-reality'],
rules: {
'no-console': 'off',
},
};
Used packages
- @typescript-eslint/eslint-plugin
- @typescript-eslint/parser
- eslint-config-prettier
- eslint-plugin-flowtype
- eslint-plugin-jest
- eslint-plugin-jsx-a11y
- eslint-plugin-react
- eslint-plugin-react-hooks
- eslint-plugin-react-native
- eslint-plugin-simple-import-sort
- eslint-plugin-unicorn