# eslint-config-cleanjs

> An eslint config which reduces JS to a pure functional language

Latest version **4.0.0** (published 2016-08-31) · LGPL-3.0+ license · 0 weekly downloads

## Install

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

## 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 | 4.0.0 |
| Published | 2016-08-31 |
| First published | 2016-08-23 |
| Weekly downloads | 0 |
| License | LGPL-3.0+ |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1094 |
| Author | Bodil Stokke |
| Maintainers | bodil |
| Keywords | eslint |

## Links

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

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

- 4.0.0 (latest) — 2016-08-31
- 3.0.1 — 2016-08-30
- 3.0.0 — 2016-08-29
- 2.0.1 — 2016-08-23
- 2.0.0 — 2016-08-23
- 1.0.0 — 2016-08-23

## README

# eslint-config-cleanjs

This is an ESLint configuration which aims to restrict you to a subset
of JavaScript which would be as close to an idealised pure functional
language as possible. The idea is to see if it's possible to banish
all the Bad Parts (well, except for the single numeric type being IEEE
754 floating point) and leave a language without the design flaws
which have plagued JS from the start, and which aren't easy to design
out of the language without becoming a subset of itself.

Please note that this rule set is meant for use only with ES6 or
higher (and the ES7 object rest spread proposal helps a lot).

Highlights:

* no `this` and no classes
* no `null` and `undefined` (implying that all functions must `return`)
* no mutation of any kind
* no variable reassignment
* no statements, only expressions (including no `if`)
* no CommonJS or AMD, only ES6 modules

This is all based on three ESLint plugins, which you'll have to
install to use these presets:

* [eslint-plugin-better](https://github.com/idmitriev/eslint-plugin-better)
* [eslint-plugin-fp](https://github.com/jfmengels/eslint-plugin-fp)
* [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import)

## Usage

Just install this package somewhere your eslint can find it (`npm
install -g eslint-config-cleanjs` if your eslint is installed with
`-g` too), along with the two above mentioned plugins (`npm install -g
eslint-plugin-better eslint-plugin-fp eslint-plugin-import`), and put
this in your `.eslintrc` or wherever you keep your project's eslint
config:

```
{
  "extends": "cleanjs"
}
```

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