# @exodus/eslint-plugin-mutable

> ESLint rules for mutating

Latest version **2.0.1** (published 2024-09-12) · UNLICENSED license · 0 weekly downloads

## Install

```sh
npm install @exodus/eslint-plugin-mutable
pnpm add @exodus/eslint-plugin-mutable
yarn add @exodus/eslint-plugin-mutable
bun add @exodus/eslint-plugin-mutable
```

## Health

**Score 30/100 (F)** — status: maintenance-mode.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2024-09-12 |
| First published | 2022-04-11 |
| Weekly downloads | 0 |
| License | UNLICENSED |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 8.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Exodus Movement, Inc. |
| Maintainers | cawfree, markoexodus, ismamz, exojo, doguhan, ronaldcrb, nantoaqui, bekatd, atemafac-nd, frankliexodus, ale-exo, davidexodus, geoffreyrousset, marcos.kichel, kryptkeep, andrewtoth-exodus, mmehta-10, tunguyennnnn, cdotta-exodus, awesomeniko, mbaraniak-exodus, hasakura, shehryar6, rec, awilson-rs, ggabarrin-rs, r4vn, exorich, cryptosgr, mol0d, yevhenii_molodyk, yilmazbahadir, muratso, exoleo, 633kh4ck, ossel, davidfraga610, clarkexo, james-gre, juraex, ralph.ba, angelloz, joshuabot, jamiemaw, exodus-justin.za, javiexodus, rg911, alex.alexandrius, filipexodus, ryansquared-npm, andrescarreon, florianmathieu, janwe, fboucquez, skapala, umito, lanahizzle, iaacek, ps.mcnally, akinncar, voltagebots, kwwood, sergii_bo, alexandrbbm, danh.t.vo, ezenwankwogabriel, meniem, mzndako, kevva, feri42, jprichardson, farisissa, ryanzim, headfire, gutenye, mosesbot, roccomuso, dcastagnoli, sonaye, ves, tenaciousmv, asyakost, bulgakovk, chalker, andrejb, jaydp17, olistic, joepie91, merlz, vbonini, devopsrobot, jenish-sojitra, nachoalvarez, giovannirco, diegomura, lanre-mark, sunilagrawal, guillecura, mariosvlad, federico-po, pagan404 |

## Links

- npm: https://www.npmjs.com/package/@exodus/eslint-plugin-mutable
- Repository: https://github.com/ExodusMovement/exodus-hydra
- Homepage: https://github.com/ExodusMovement/exodus-hydra/tree/master/lint/eslint-plugin-mutable
- Issues: https://github.com/ExodusMovement/exodus-hydra/issues?q=is%3Aissue+is%3Aopen+label%3Aeslint-plugin-mutable
- npm.io page: https://npm.io/package/@exodus/eslint-plugin-mutable

## Recent versions

- 2.0.1 (latest) — 2024-09-12
- 2.0.0 — 2024-09-12
- 1.0.0 — 2022-07-18
- 0.0.2 — 2022-04-11
- 0.0.1 — 2022-04-11

## README

# @exodus/eslint-plugin-mutable

Lints your code for modifying function arguments.

```js
function BadCode(someObject) {
  someObject.bad = 'do not mutate objects passed by reference'
}
```

## Installation

`yarn add --dev @exodus/eslint-plugin-mutable`

```javascript
// eslintrc.js

module.exports = {
  plugins: ['@exodus/eslint-plugin-mutable'],
  ...
}
```

## Usage

```javascript
// eslintrc.js

module.exports = {
  ...
  plugins: ['@exodus/eslint-plugin-mutable'],
  rules: {
    '@exodus/mutable/no-param-reassign-prop-only': 'error',
  },
}
```

## Supported Rules

### `@exodus/mutable/no-param-reassign-prop-only`

- Detects and reports assignment and modification of objects passed as argument to a function

**Full Example**

```javascript
// eslintrc.js

module.exports = {
  ...

  plugins: ['@exodus/eslint-plugin-mutable'],
  rules: {
    '@exodus/mutable/no-param-reassign-prop-only': 'error',
  },
}
```

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