eslint-config-carnesen

11.0.0 • Public • Published

ESLint configurations for @carnesen projects. This package is thoroughly documented, tested, and maintained. Feel free to use it in your own projects.

build status badge npm version badge github stars badge

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

License

MIT © Chris Arnesen

Readme

Keywords

none

Package Sidebar

Install

npm i eslint-config-carnesen

Weekly Downloads

1

Version

11.0.0

License

MIT

Unpacked Size

9.69 kB

Total Files

7

Last publish

Collaborators

  • carnesen