Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/satya164/eslint-config-satya164

An ESLint config with automatic overrides for common environments such as TypeScript, Jest etc.
https://github.com/satya164/eslint-config-satya164

babel eslint eslint-config hacktoberfest typescript

Last synced: 25 days ago
JSON representation

An ESLint config with automatic overrides for common environments such as TypeScript, Jest etc.

Awesome Lists containing this project

README

        

# eslint-config-satya164

This is my personal ESLint config. I try to avoid rules which are purely stylistic and based on personal opinions. I'm tryin to keep it non-intrusive and aimed towards catching actual errors.

## Features

The config includes these plugins by default:

- [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint)
- [eslint-comments](https://github.com/mysticatea/eslint-plugin-eslint-comments)
- [import](https://github.com/benmosher/eslint-plugin-import/issues)
- [jest](https://github.com/jest-community/eslint-plugin-jest/issues)
- [prettier](https://github.com/prettier/eslint-plugin-prettier)
- [react](https://github.com/yannickcr/eslint-plugin-react/issues)
- [react-hooks](https://www.npmjs.com/package/eslint-plugin-react-hooks)
- [react-native](https://github.com/intellicode/eslint-plugin-react-native)

The config uses the `overrides` feature of ESLint to automatically adjust the config based on the filename. For example, typescript support is enabled for `.ts` and `.tsx` files, the `jest` environment is set for test files and more.

Prettier is used for formatting.

## Usage

First, install the required packages:

```sh
yarn add --dev prettier eslint eslint-config-satya164
```

If you're using TypeScript, also install the TypeScript compiler:

```sh
yarn add --dev typescript
```

Now extend the config in `.eslintrc.json`:

```json
{
"extends": "satya164"
}
```

To lint your files, you can add the following script to your `package.json`:

```json
"scripts": {
"lint": "eslint \"**/*.{js,ts,tsx}\""
}
```

To show lint errors in your editor, you'll need to configure your editor. To configure [VSCode](https://code.visualstudio.com), add the following in `settings.json`:

```json
"eslint.validate": [
{
"language": "javascript",
"autoFix": true
},
{
"language": "javascriptreact",
"autoFix": true
},
{
"language": "typescript",
"autoFix": true
},
{
"language": "typescriptreact",
"autoFix": true
}
],
```

On Mac OS, you can open `settings.json` file from `Code` > `Preferences` > `Settings` or via the keyboard shortcut ⌘,.

This config sets `autoFix` to `true` to automatically fix lint errors on save. You can set it to `false` if you don't want this behaviour.

Happy linting 🎉