# @neogeek/eslint-config-standards

> ESLint Config Standards

Latest version **5.0.1** (published 2021-07-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install @neogeek/eslint-config-standards
pnpm add @neogeek/eslint-config-standards
yarn add @neogeek/eslint-config-standards
bun add @neogeek/eslint-config-standards
```

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 5.0.1 |
| Published | 2021-07-21 |
| First published | 2016-08-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 16.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 8 |
| Maintainers | neogeek |
| Keywords | eslint, config, eslintconfig |

## Links

- npm: https://www.npmjs.com/package/@neogeek/eslint-config-standards
- Repository: https://github.com/neogeek/eslint-config-standards
- Issues: https://github.com/neogeek/eslint-config-standards/issues
- npm.io page: https://npm.io/package/@neogeek/eslint-config-standards

## 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

- 5.0.1 (latest) — 2021-07-21
- 5.0.0 — 2020-12-26
- 4.2.0 — 2019-05-11
- 4.1.0 — 2018-09-01
- 4.0.0 — 2018-08-31
- 3.0.0 — 2018-06-29
- 2.0.0 — 2017-07-14
- 1.15.0 — 2017-03-30
- 1.14.0 — 2017-03-11
- 1.13.1 — 2017-02-24
- 1.13.0 — 2017-02-04
- 1.12.0 — 2017-01-24
- 1.11.0 — 2017-01-09
- 1.10.0 — 2016-12-10
- 1.9.0 — 2016-11-26
- … 16 more at https://npm.io/package/@neogeek/eslint-config-standards/versions

## README

# ESLint Config Standards

[![Build Status](https://travis-ci.org/neogeek/eslint-config-standards.svg?branch=master)](https://travis-ci.org/neogeek/eslint-config-standards)
[![NPM Version](https://img.shields.io/npm/v/@neogeek/eslint-config-standards.svg?style=flat)](https://www.npmjs.org/package/@neogeek/eslint-config-standards)

## Install

```bash
$ npm install eslint babel-eslint @neogeek/eslint-config-standards --save-dev
```

Then create a `.eslintrc` file in the root of your project with the following contents:

```json
{
    "extends": ["@neogeek/eslint-config-standards"]
}
```

## Configuration

See http://eslint.org/docs/rules/ for more information.

This package enables errors on all of the available flags except the following:

### Best Practices

| Flag            | Description                                       | Value                         |
| --------------- | ------------------------------------------------- | ----------------------------- |
| dot-location    | Enforce consistent newlines before and after dots | `0`                           |
| no-magic-number | Disallow Magic Numbers                            | `[2, {"ignore": [-1, 0, 1]}]` |

### ECMAScript 6

| Flag         | Description                                         | Value                    |
| ------------ | --------------------------------------------------- | ------------------------ |
| arrow-parens | require parentheses around arrow function arguments | `["error", "as-needed"]` |

### Stylistic Issues

| Flag                     | Description                                                                 | Value                                                                  |
| ------------------------ | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| implicit-arrow-linebreak | Enforce the location of arrow function bodies with implicit returns         | `0`                                                                    |
| max-len                  | Enforce a maximum line length                                               | `[1, 80, 4, {"ignoreComments": true, "ignoreTemplateLiterals": true}]` |
| max-lines                | Enforce a maximum file length                                               | `0`                                                                    |
| object-curly-newline     | Enforce consistent line breaks inside braces                                | `0`                                                                    |
| one-var                  | Enforce variables to be declared either together or separately in functions | `0`                                                                    |
| quotes                   | Enforce the consistent use of either backticks, double, or single quotes    | `[2, "single"]`                                                        |
| spaced-comment           | enforce consistent spacing after the `//` or `/*` in a comment              | `["error", "always", {"block": {"markers": ["!"]}}]`                   |

### Variables

| Flag           | Description                                                                         | Value                                                      |
| -------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| no-shadow      | disallow variable declarations from shadowing variables declared in the outer scope | `["error", {"allow": ["err"]}]`                            |
| no-unused-vars | disallow unused variables                                                           | `"no-unused-vars": ["warn", {"ignoreRestSiblings": true}]` |

## Extended `.eslintrc` Configuration

```json
{
    "extends": [
        "@neogeek/eslint-config-standards/.eslintrc-best-practices",
        "@neogeek/eslint-config-standards/.eslintrc-ecmascript-6",
        "@neogeek/eslint-config-standards/.eslintrc-possible-errors",
        "@neogeek/eslint-config-standards/.eslintrc-react",
        "@neogeek/eslint-config-standards/.eslintrc-strict-mode",
        "@neogeek/eslint-config-standards/.eslintrc-stylistic-issues",
        "@neogeek/eslint-config-standards/.eslintrc-variables"
    ],
    "rules": {
        "quotes": [2, "double"]
    }
}
```

```json
{
    "extends": ["@neogeek/eslint-config-standards/.eslintrc-tests"]
}
```

## Prettier Config

Create a `.prettierrc` file with the following contents:

```json
{
    "printWidth": 80,
    "tabWidth": 4
}
```

Install the [prettier-eslint-cli](https://github.com/prettier/prettier-eslint-cli).

```bash
$ npm install prettier-eslint-cli --save-dev
```

Add NPM script for automation.

```json
{
    "scripts": {
        "prettier": "prettier-eslint --eslint-config-path .eslintrc --write \"src/**/*.js\""
    }
}
```

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