ESLint shareable config for Suraj's JSX Codeguide
npm install eslint-config-jsxbash
npm install -D eslint eslint-config-jsx
`
Peer dependency details (i.e., all must be public hence available to eslint):
- eslint: Base linting
- @babel/core: ES6+ linting
- @babel/eslint-parser: Base (non-experimental) JS linting
- @babel/eslint-plugin: Experimental ES6+ linting
- eslint-plugin-react: React linting
- @typescript-eslint/parser: Base TS linting
- typescript-eslint/eslint-plugin: TS linting
Install peer dependencies:
`bash
npx install-peerdeps --dev eslint-config-jsx
`
Usage
Add this package's name to the extends section of your project's .eslintrc.js config file:
`js
modules.exports = {
extends: ['eslint-config-jsx'],
rules: {
// Override JS rules, e.g.:
// 'no-extra-semi': ['warn'],
}
overrides: [
{
files: ['/.ts', '/.tsx'],
rules: {
// Override TS rules, e.g.:
// '@typescript-eslint/no-extra-semi': ['warn'],
},
},
],
};
`
Contributing
Contributions should follow [JSX Codeguide] (styleguide changes can be requested via an issue at [JSX Codeguide]).
New plugins should be installed locally & moved to the peerDependencies`.