# bodil/eslint-config-cleanjs

An eslint config which reduces JS to a pure functional language

Repository: https://github.com/bodil/eslint-config-cleanjs
Canonical: https://ross.abutalabs.com/products/eslint-config-cleanjs
Language: JavaScript
License Family: other
Archived: true
Last push: 2018-06-22T12:58:09+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3662, "days_push": 2994, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, archived, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1095, forks 16 (observed 2026-08-28T04:03:34.209886+00:00)

## What it is
An ESLint shareable config that restricts JavaScript to a pure functional subset by banning this, classes, null, mutation, reassignment, and statements. It is explicitly unmaintained and its README directs users to eslint-plugin-fp instead.

## Use cases
- enforce pure functional style in JavaScript
- ban mutation and null in a JS codebase
- write JavaScript without this and classes
- restrict JS to expressions only with ESLint
- experiment with functional-only JavaScript subset

## When to choose
- you want a ready-made strict functional ESLint preset for an ES6+ experiment project

## When to avoid
- you need maintained tooling - use eslint-plugin-fp directly
- your codebase uses classes, mutation, or CommonJS
- you need production-grade linting with support

## Facets
- artifact type: plugin
- maturity: abandoned
- function: linter, code-review
- domain: developer-tools, programming-languages
- platform: -
- tags: eslint, eslint-config, functional-programming, pure-functional, code-style, nodejs, javascript

## Member repositories
- bodil/eslint-config-cleanjs (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:34.209886+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:47:14.540575+00:00, confidence not recorded.
  - readme: https://github.com/bodil/eslint-config-cleanjs (fetched 2026-08-28T04:03:34.209886+00:00, sha 5dd791fe7508)
  - registry_npm: https://registry.npmjs.org/eslint-config-cleanjs (fetched 2026-08-29T12:50:11.534669+00:00, sha a2966c64cacb)
- Data as of 2026-08-30T08:39:29.467469+00:00.
