# @ethikz/eslint-config

> Base JS ESLint config, following styleguide.

Latest version **1.0.1** (published 2018-12-04) · MIT license · 0 weekly downloads

## Install

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

## 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 | 1.0.1 |
| Published | 2018-12-04 |
| First published | 2018-12-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 4 |
| Dependencies | 3 |
| Unpacked size | 67.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Josh Christensen |
| Maintainers | ethikz |
| Keywords | config, es2015, es2016, es2017, es2018, eslint, eslintconfig, javascript, styleguide |

## Links

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

## Dependencies (3)

- [object.assign](https://npm.io/package/object.assign.md) ^4.1.0
- [object.entries](https://npm.io/package/object.entries.md) ^1.0.4
- [eslint-restricted-globals](https://npm.io/package/eslint-restricted-globals.md) ^0.2.0

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

- 1.0.1 (latest) — 2018-12-04
- 1.0.0 — 2018-12-03

## README

eslint-config [![npm version](https://badge.fury.io/js/%40ethikz%2Feslint-config.svg)](https://badge.fury.io/js/%40ethikz%2Feslint-config)
===
[![NPM](https://nodei.co/npm/@ethikz/eslint-config.png?compact=true)](https://nodei.co/npm/@ethikz/eslint-config/)

This package provides a base JS .eslintrc as an extensible shared config.

## Usage

We export two ESLint configurations for your usage.

### eslint-config

Our default export contains all of our ESLint rules, including ECMAScript 6+. It requires `eslint` and `eslint-plugin-import`.

If you use yarn, run `npm info "@ethikz/eslint-config@latest" peerDependencies` to list the peer dependencies and versions, then run `yarn add --dev <dependency>@<version>` for each listed peer dependency. See below for npm instructions.

1. Install the correct versions of each package, which are listed by the command:

  ```sh
  npm info "@ethikz/eslint-config@latest" peerDependencies
  ```

  If using **npm 5+**, use this shortcut

  ```sh
  npx install-peerdeps --dev @ethikz/eslint-config
  ```

  If using **npm < 5**, Linux/OSX users can run

  ```sh
  (
    export PKG='@ethikz/eslint-config';
    npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
  )
  ```

  Which produces and runs a command like:

  ```sh
    npm install --save-dev @ethikz/eslint-config eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

  If using **npm < 5**, Windows users can either install all the peer dependencies manually, or use the [install-peerdeps](https://github.com/nathanhleung/install-peerdeps) cli tool.

  ```sh
  npm install -g install-peerdeps
  install-peerdeps --dev eslint-config
  ```

  The cli will produce and run a command like:

  ```sh
  npm install --save-dev @ethikz/eslint-config eslint@^#.#.# eslint-plugin-import@^#.#.#
  ```

2. Add `"extends": "@ethikz/eslint-config"` to your .eslintrc.

### eslint-config/legacy

Lints ES5 and below. Requires `eslint` and `eslint-plugin-import`.

1. Install the correct versions of each package, which are listed by the command:

  ```sh
  npm info "@ethikz/eslint-config@latest" peerDependencies
  ```

  Linux/OSX users can run
  ```sh
  (
    export PKG='@ethikz/eslint-config';
    npm info "$PKG" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG"
  )
  ```

  Which produces and runs a command like:

  ```sh
  npm install --save-dev @ethikz/eslint-config eslint@^3.0.1 eslint-plugin-import@^1.10.3
  ```

2. Add `"extends": "legacy"` to your .eslintrc


### eslint-config/whitespace

This entry point only errors on whitespace rules and sets all other rules to warnings. View the list of whitespace rules [here](https://github.com/ethikz/javascript/blob/master/packages/eslint-config/whitespace.js).

## Improving this config

Consider adding test cases if you're making complicated rules changes, like anything involving regexes. Perhaps in a distant future, we could use literate programming to structure our README as test cases for our .eslintrc?

You can run tests with `npm test`.

You can make sure this module lints with itself using `npm run lint`.

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