eslint-config-carnesen
v13.0.0
Published
ESLint configurations for @carnesen projects
Downloads
33
Readme
ESLint configurations for @carnesen
projects. This package is thoroughly documented, tested, and maintained. Feel free to use it in your own projects.
Usage
To install this package as a dependency in your project, do:
npm install eslint-config-carnesen eslint
Now create a file .eslintrc.json
at the root of your project with contents:
{
"extends": [
"eslint-config-carnesen"
]
}
The main export eslint-config-carnesen
has rules for Node.js and React. If your codebase is Node.js only, instead do:
{
"extends": [
"eslint-config-carnesen/node.eslintrc.json"
]
}
Or for React-only code:
{
"extends": [
"eslint-config-carnesen/react.eslintrc.json"
]
}
In any case, add these lines to your package.json
's "scripts" field:
"lint": "eslint --ext .js,.jsx,.ts,.tsx <source code directory>",
"lint:fix": "npm run lint -- --fix",
where <source code directory>
is the subdirectory of your project containing the source code that you want to lint. Finally add && npm run lint
to your package's "test" script to make sure you don't forget to lint! I strongly recommend setting up your editor to automatically fix lint errors on save. That way the linter mostly stays out of your way and just does the right thing. In Visual Studio Code, this plugin works great.
Rules
This package's rules extends those espoused by by AirBnB, consumed as eslint-config-airbnb. Those rules are mostly concerned with syntax. For code formatting, this package uses eslint-config-prettier
, which disables all rules that are unnecessary or might conflict with Prettier. Instead of calling prettier
directly, this package employs eslint-plugin-prettier
, which "runs Prettier as a ESLint rule and reports differences as individual ESLint issues". I wrote up some thoughts here on why that's a much better approach than using eslint
and prettier
separately.
More information
If you encounter any bugs or have any questions or feature requests, please don't hesitate to file an issue or submit a pull request on this project's repository on GitHub.
Related
- @carnesen/tsconfig: TypeScript configurations for
@carnesen
projects
License
MIT © Chris Arnesen