# eslint-config-monots

> Provides the monots eslint configuration

Latest version **0.11.1** (published 2022-05-27) · MIT license · 0 weekly downloads

## Install

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

## Health

**Score 35/100 (D)** — status: abandoned.

Positive: esm support; no vulnerabilities; high maintenance score.

Warnings: low downloads; no types; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.11.1 |
| Published | 2022-05-27 |
| First published | 2021-09-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 21 |
| Unpacked size | 23.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 13 |
| Maintainers | ifiokjr |
| Keywords | eslint, eslintconfig |

## Links

- npm: https://www.npmjs.com/package/eslint-config-monots
- Repository: https://github.com/monots/monots.git#master
- Homepage: https://github.com/monots/monots/tree/master/packages/eslint-config-monots
- Issues: https://github.com/monots/monots/issues
- npm.io page: https://npm.io/package/eslint-config-monots

## Dependencies (21)

- [eslint-plugin-jest](https://npm.io/package/eslint-plugin-jest.md) ^26.2.2
- [eslint-plugin-react](https://npm.io/package/eslint-plugin-react.md) ^7.30.0
- [eslint-plugin-import](https://npm.io/package/eslint-plugin-import.md) ^2.26.0
- [eslint-plugin-promise](https://npm.io/package/eslint-plugin-promise.md) ^6.0.0
- [eslint-plugin-svelte3](https://npm.io/package/eslint-plugin-svelte3.md) ^4.0.0
- [eslint-plugin-unicorn](https://npm.io/package/eslint-plugin-unicorn.md) ^42.0.0
- [eslint-config-prettier](https://npm.io/package/eslint-config-prettier.md) ^8.5.0
- [eslint-plugin-jest-dom](https://npm.io/package/eslint-plugin-jest-dom.md) ^4.0.2
- [eslint-plugin-jsx-a11y](https://npm.io/package/eslint-plugin-jsx-a11y.md) ^6.5.1
- [eslint-plugin-markdown](https://npm.io/package/eslint-plugin-markdown.md) ^2.2.1
- [@rushstack/eslint-patch](https://npm.io/package/@rushstack/eslint-patch.md) ^1.1.3
- [@typescript-eslint/parser](https://npm.io/package/@typescript-eslint/parser.md) ^5.26.0
- [eslint-plugin-react-hooks](https://npm.io/package/eslint-plugin-react-hooks.md) ^4.5.0
- [eslint-import-resolver-node](https://npm.io/package/eslint-import-resolver-node.md) ^0.3.6
- [eslint-plugin-file-progress](https://npm.io/package/eslint-plugin-file-progress.md) ^1.2.0
- [eslint-plugin-eslint-comments](https://npm.io/package/eslint-plugin-eslint-comments.md) ^3.2.0
- [eslint-plugin-jest-formatting](https://npm.io/package/eslint-plugin-jest-formatting.md) ^3.1.0
- [eslint-plugin-testing-library](https://npm.io/package/eslint-plugin-testing-library.md) ^5.5.1
- [@typescript-eslint/eslint-plugin](https://npm.io/package/@typescript-eslint/eslint-plugin.md) ^5.26.0
- [eslint-plugin-simple-import-sort](https://npm.io/package/eslint-plugin-simple-import-sort.md) ^7.0.0
- [eslint-import-resolver-typescript](https://npm.io/package/eslint-import-resolver-typescript.md) ^2.7.1

## 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
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 0.11.1 (latest) — 2022-05-27
- 0.11.0 — 2022-04-27
- 0.10.2 — 2022-04-22
- 0.10.1 — 2022-04-15
- 0.10.0 — 2022-04-15
- 0.9.0 — 2022-04-08
- 0.8.1 — 2022-04-07
- 0.8.0 — 2022-02-26
- 0.7.1 — 2022-02-15
- 0.7.0 — 2022-02-02
- 0.6.0 — 2022-01-25
- 0.5.1 — 2022-01-22
- 0.5.0 — 2021-12-16
- 0.4.2 — 2021-11-15
- 0.4.1 — 2021-11-01
- … 6 more at https://npm.io/package/eslint-config-monots/versions

## README

# eslint-config-monots

> This package provides the default eslint configurations used within the monots codebase.

[![Version][version]][npm] [![Weekly Downloads][downloads-badge]][npm] [![Bundled size][size-badge]][size] [![Typed Codebase][typescript]](./src/index.ts) ![MIT License][license]

[version]: https://flat.badgen.net/npm/v/eslint-config-monots
[npm]: https://npmjs.com/package/eslint-config-monots
[license]: https://flat.badgen.net/badge/license/MIT/purple
[size]: https://bundlephobia.com/result?p=eslint-config-monots
[size-badge]: https://flat.badgen.net/bundlephobia/minzip/eslint-config-monots
[typescript]: https://flat.badgen.net/badge/icon/TypeScript?icon=typescript&label
[downloads-badge]: https://badgen.net/npm/dw/eslint-config-monots/red?icon=npm

## Installation

```bash
yarn add eslint-config-monots
```

## Usage

In your `package.json` files add the following configuration

```json
{
  "name": "my-cool-library",
  "version": "0.0.0",
  "eslintConfig": {
    "extends": ["monots"],
    "overrides": [
      {
        "files": ["*.ts", "*.tsx"],
        "extends": ["monots/full"],
        "parserOptions": {
          "project": ["./path/to/tsconfig.lint.json"]
        }
      },
      { "files": ["*.tsx"], "extends": ["monots/react"] }
    ]
  }
}
```

If you don't want to use your `package.json` file, you can use any of the [supported eslint configuration formats](https://eslint.org/docs/user-guide/configuring#configuration-file-formats) to export a string, e.g. `.eslintrc.json`:

```json
{
  "extends": ["monots"]
}
```

You can always add your own rules and disable any rules you don't like by adding a rules property to the configuration.

```js
module.exports = {
  extends: ['monots'],
};
```

## Motivation

This config is primarily for use within a **`monots`** repo. Rules are strict but they do allow multiple people working on a project to conform to the same standard.

## Entrypoints

### `monots`

Provides the default rules and sets the parser to use `@typescript-eslint/parser`.

### `monots/full`

Provides stricter rules and the cpu intensive `@typescript-eslint/eslint-plugin` / `eslint-plugin-import` which should be scoped to `*.ts` files in your project.

### `monots/react`

Rules for a react codebase.

### `monots/markdown`

Experimental rules for markdown files. This currently doesn't interop well with `@typescript-eslint/parser` when the project option is set.

### `monots/full-off`

Can be used to disable the `full` rule for certain groups of files.

```js
module.exports = {
  extends: ['monots'],
  "overrides": [
      {
        "files": ["*.ts", "*.tsx"],
        "extends": ["monots/full"],
        "parserOptions": {
          "project": ["./path/to/tsconfig.lint.json"]
        }
      },
      { "files": ["*.tsx"], "extends": ["monots/react"] },

      // Disable the `full` rules for certain matching files.
      {"files": ["*.d.ts"], extends: ['monots/full-off'] }
    ]
  }
};
```

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