# eslint-config-tsdx

> An ESLint shareable config with rules of tsdx

Latest version **0.2.0** (published 2020-08-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install eslint-config-tsdx
pnpm add eslint-config-tsdx
yarn add eslint-config-tsdx
bun add eslint-config-tsdx
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.0 |
| Published | 2020-08-16 |
| First published | 2020-08-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 12 |
| Unpacked size | 5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Maintainers | zen_flow |
| Keywords | eslint, eslintconfig, prettier, react, tsdx, typescript |

## Links

- npm: https://www.npmjs.com/package/eslint-config-tsdx
- Repository: https://github.com/zenflow/eslint-config-tsdx
- Homepage: https://github.com/zenflow/eslint-config-tsdx#readme
- Issues: https://github.com/zenflow/eslint-config-tsdx/issues
- npm.io page: https://npm.io/package/eslint-config-tsdx

## Dependencies (12)

- [prettier](https://npm.io/package/prettier.md) 1.x
- [babel-eslint](https://npm.io/package/babel-eslint.md) 10.x
- [eslint-plugin-react](https://npm.io/package/eslint-plugin-react.md) 7.x
- [eslint-plugin-import](https://npm.io/package/eslint-plugin-import.md) 2.x
- [eslint-config-prettier](https://npm.io/package/eslint-config-prettier.md) 6.x
- [eslint-plugin-flowtype](https://npm.io/package/eslint-plugin-flowtype.md) 3.x
- [eslint-plugin-jsx-a11y](https://npm.io/package/eslint-plugin-jsx-a11y.md) 6.x
- [eslint-plugin-prettier](https://npm.io/package/eslint-plugin-prettier.md) 3.x
- [eslint-config-react-app](https://npm.io/package/eslint-config-react-app.md) 5.x
- [@typescript-eslint/parser](https://npm.io/package/@typescript-eslint/parser.md) 2.x
- [eslint-plugin-react-hooks](https://npm.io/package/eslint-plugin-react-hooks.md) 2.x
- [@typescript-eslint/eslint-plugin](https://npm.io/package/@typescript-eslint/eslint-plugin.md) 2.x

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@pandacss/eslint-plugin](https://npm.io/package/@pandacss/eslint-plugin.md) — 18.7K weekly downloads

## Recent versions

- 0.2.0 (latest) — 2020-08-16
- 0.1.1 — 2020-08-07
- 0.1.0 — 2020-08-07

## README

# eslint-config-tsdx

An [ESLint shareable config](https://eslint.org/docs/developer-guide/shareable-configs.html)
with rules of [tsdx](https://github.com/formium/tsdx).

### Installing

#### Install Dependencies

This package requires `eslint@6.x`.

Install it if you haven't already:

```
npm install --save-dev eslint@6.x
```  

Install this package:

```
npm install --save-dev eslint-config-tsdx
```

This package requires you to have `typescript` installed when (and only when) linting any TypeScript (ts or tsx) files.

Install `typescript` if necessary:

```
npm install --save-dev typescript
```

#### Configure `.eslintrc`

Add `"tsdx"` to the `"extends"` of your `.eslintrc` file.

If you are using React, set `config.settings.react.version` in your `.eslintrc` file.
Otherwise, the latest version of React is assumed.

Example `.eslintrc` file:

```json
{
  "extends": [
    "tsdx"
  ],
  "settings": {
    "react": {
      "version": "detect"  
    }
  }
}
```

### Warning

Because of the way eslint resolves plugin modules, 
its documentation tells us that [a shareable config should include its plugin dependencies in "peerDependencies"](https://eslint.org/docs/developer-guide/shareable-configs.html#publishing-a-shareable-config),
meaning users of the config would need to install and depend on each plugin package themselves.
Parsers work the same way. 
This essentially describes [eslint issue #3458](https://github.com/eslint/eslint/issues/3458). 

For your convenience, 
instead of including plugins and parsers as "peerDependencies", 
we will include them as "dependencies" *and issue the following warning*:

**Do not install alternate versions of the following npm packages in your project:**

```
"@typescript-eslint/eslint-plugin": "2.x"
"@typescript-eslint/parser": "2.x"
"babel-eslint": "10.x"
"eslint-plugin-flowtype": "3.x || 4.x"
"eslint-plugin-import": "2.x"
"eslint-plugin-jsx-a11y": "6.x"
"eslint-plugin-prettier": "3.x"
"eslint-plugin-react": "7.x"
"eslint-plugin-react-hooks": "1.x || 2.x"
"prettier": "2.x"
```


## TODO for Matt

PR tsdx: Org should take over eslint-config-tsdx & use it in tsdx 
    https://github.com/formium/tsdx/blob/master/src/createEslintConfig.ts

---
_Source: https://npm.io/package/eslint-config-tsdx · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
