open-index/open-npm huggingface dataset:
npm package: @putout/plugin-group-imports-by-source
Description: 🐊Putout plugin adds ability to find and group imports by source
Author: coderaiser
Latest version: 2.0.4

# @putout/plugin-group-imports-by-source [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-group-imports-by-source.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-group-imports-by-source "npm"

> The static **import** declaration is used to import read-only live bindings which are exported by another module.
> The imported bindings are called live bindings because they are updated by the module that exported the binding, but cannot be re-assigned by the importing module.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and group `import` statements by source. Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/3cc782acf95211f9d456d63a99032ee1/0674223d050bba572f5271ffdccf8616cb441af5). For **CommonJS** use [`nodejs/group-require-by-id`](https://www.npmjs.com/package/@putout/plugin-nodejs#group-require-by-id).
Merged with [`@putout/plugin-esm`](https://www.npmjs.com/package/@putout/plugin-esm##group-imports-by-source).

Group order:

- ✅ builtins;
- ✅ external;
- ✅ internal;

## Install

```
npm i @putout/plugin-group-imports-by-source
```

## Rule

```json
{
    "rules": {
        "group-imports-by-source": "on"
    }
}
```

## ❌ Example of incorrect code

```js
import fs from 'node:fs';
import {lodash} from 'lodash';
import react from 'react';
import d from '../hello.js';
import ss from '../../bb/ss.js';
import b from './ss.js';

const c = 5;
```

## ✅ Example of correct code

```js
import fs from 'node:fs';
import react from 'react';
import {lodash} from 'lodash';
import b from './ss.js';
import d from '../hello.js';
import ss from '../../bb/ss.js';

const c = 5;
```

## License

MIT
npm package: @putout/plugin-jest
Description: 🐊Putout plugin helps with migration to latest jest
Author: coderaiser
Latest version: 2.0.0

# @putout/plugin-jest [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-jest.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-jest "npm"

> Jest is a delightful JavaScript Testing Framework with a focus on simplicity.
>
> (c) [jestjs.io](https://jestjs.io/)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin helps to migrate to [latest](https://jestjs.io/blog/2021/05/25/jest-27) **Jest** API.

## Install

```
npm i @putout/plugin-jest -D
```

## Rules

```json
{
    "rules": {
        "jest": "on"
    }
}
```

### ❌ Example of incorrect code

```js
jest.addMatchers({
    fail: (a, b, c) => {
        return {
            pass: false,
        };
    },
});

jest.resetModuleRegistry();
jest.runTimersToTime(1000);
```

### ✅ Example of correct code

```js
expect.extend({
    fail: (a, b, c) => {
        return {
            pass: false,
        };
    },
});

jest.resetModules();
jest.advanceTimersByTime(1000);
```

## License

MIT
npm package: @putout/plugin-labels
Description: 🐊Putout plugin helps with labels
Author: coderaiser
Latest version: 3.0.0

# @putout/plugin-labels [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-labels.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-labels "npm"

> A **labeled statement** is any `statement` that is prefixed with an `identifier`. You can jump to this label using a `break` or `continue` statement nested within the labeled statement.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove unused `label` statement.

## Install

```
npm i @putout/plugin-labels -D
```

## Rules

- ✅ [add-missing-async](#add-missing-async);
- ✅ [remove-unused](#remove-unused);

## Config

```json
{
    "rules": {
        "labels/convert-to-object": "on",
        "labels/remove-unused": "on"
    }
}
```

☝️ If you want to override any of it, update `.putout.json` in the directory near your files.

[🦉 Configuration](https://github.com/coderaiser/putout#-configuration) section of 🐊**Putout** documentation tell you more about all configuration options supported.

## convert-to-object

Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/86e2915cc2cffb6c26dd3bc2f2379a71/605562cf1fdf77a7918792955601e6767a805050).

### ❌ Example of incorrect code

```js
const a = () => {
    hello: 'world';
    x: 'm';
};
```

### ✅ Example of correct code

```js
const a = () => ({
    hello: 'world',
    x: 'm',
});
```

## remove-unused

Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/021bf8fa6f01bcc265cebbaa19d5dffc/1833eaee02119cf1d38974157a8d010ecaed7b33).

### ❌ Example of incorrect code

```js
hello: while (true) {
    break;
}
```

### ✅ Example of correct code

```js
while (true) {
    break;
}
```

### Comparison

| Linter        | Rule                                                                                                                   | Fix |
|---------------|------------------------------------------------------------------------------------------------------------------------|-----|
| 🐊 **Putout** | [`remove-unused-labels`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-unused-labels#readme) | ✅   |
| ⏣ **ESLint**  | [`no-unused-labels`](https://eslint.org/docs/rules/no-unused-labels)                                                   | ❌   |
| 🦕 **Deno**   | [`no-unused-labels`](https://lint.deno.land/rules/no-unused-labels)                                                    | ❌   |

## License

MIT
npm package: @putout/plugin-maybe
Description: 🐊Putout plugin applies Maybe monad
Author: coderaiser
Latest version: 5.0.0

# @putout/plugin-maybe [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-maybe.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-maybe "npm"

🐊[**Putout**](https://github.com/coderaiser/putout) plugin helps with `maybe` monad.

## Install

```
npm i @putout/plugin-maybe -D
```

## Rules

- ✅ [array](#array);
- ✅ [empty-array](#empty-array);
- ✅ [fn](#fn);
- ✅ [noop](#noop);
- ✅ [declare](#declare);

## Config

```json
{
    "rules": {
        "maybe/array": "on",
        "maybe/empty-array": "on",
        "maybe/fn": "on",
        "maybe/noop": "on",
        "maybe/declare": "on"
    }
}
```

## array

### ❌ Example of incorrect code

```js
const {isArray} = Array;
const array = isArray(a) ? a : [a];
```

### ✅ Example of correct code

```js
const {isArray} = Array;
const maybeArray = (a) => isArray(a) ? a : [a];
const array = maybeArray(a);
```

## empty-array

### ❌ Example of incorrect code

```js
const array = !a ? [] : a;
```

### ✅ Example of correct code

```js
const maybeArray = (a) => !a ? [] : a;
const array = maybeEmptyArray(a);
```

## fn

### ❌ Example of incorrect code

```js
const isFn = (a) => typeof a === 'function';
const fn = isFn(a) ? a : () => {};
```

### ✅ Example of correct code

```js
const isFn = (a) => typeof a === 'function';
const noop = () => {};
const maybeFn = isFn(a) ? a : noop;
const fn = maybeFn(a);
```

## noop

### ❌ Example of incorrect code

```js
const fn = f || (() => {});
```

### ✅ Example of correct code

```js
const noop = () => {};
const fn = fn || noop;
```

## declare

Declares:

- ✅ `maybeArray`;
- ✅ `maybeEmptyArray`;
- ✅ `maybeArrayFrom`;
- ✅ `maybeFn`;
- ✅ `maybeFirst`;
- ✅ `maybeCall`;


### ❌ Example of incorrect code

When you not sure is `f` a function, but you want to use it as function anyways:

```js
const fn = maybeFn(f);

maybeCall(fn);
```

### ✅ Example of correct code

```js
const isFn = (a) => typeof a === 'function';
const noop = () => {};
const maybeFn = (a) => isFn(a) ? a : noop;
const maybeCall = (a, ...b) => isFn(a) && a(...b);

const fn = maybeFn(f);
maybeCall(fn);
```

When you not sure is `a` is an array or not, but you want to get first element of it.

### ❌ Example of incorrect code

```js
const b = maybeFirst(a);
```

### ✅ Example of correct code

```js
const {isArray} = Array;
const maybeFirst = (a) => isArray(a) ? a[0] : a;

const b = maybeFirst(a);
```

## License

MIT
npm package: @putout/plugin-merge-destructuring-properties
Description: 🐊Putout plugin adds ability to merge destructuring properties
Author: coderaiser
Latest version: 12.3.1

# @putout/plugin-merge-destructuring-properties [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-merge-destructuring-properties.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-merge-destructuring-properties"npm"

> The destructuring assignment syntax is a JavaScript expression that makes it possible to unpack values from `arrays`, or `properties` from `objects`, into distinct `variables`.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to merge destructuring properties. Merged with [`@putout/plugin-destructuring`](https://www.npmjs.com/package/@putout/plugin-destructuring).


Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/11c8cfa59f87e46238309b857448b9c5/688f10ad8fd7c0e4d9e9e0c74c399f1edb3ba29e).

## Install

```
npm i @putout/plugin-merge-destructuring-properties
```

## Rule

Rule `merge-destructuring-properties` is enabled by default, to disable add to `.putout.json`:

```json
{
    "rules": {
        "merge-destructuring-properties": "off"
    }
}
```

### ❌ Example of incorrect code

```js
const {one} = require('numbers');
const {two} = require('numbers');
```

### ✅ Example of correct code

```js
const {one, two} = require('numbers');
```

#### Assignment

### ❌ Example of incorrect code

```js
({from} = data);
({to} = data);
({names} = data);
```

### ✅ Example of correct code

```js
({
    from,
    to,
    names,
} = data);
```

## License

MIT
npm package: @putout/plugin-merge-duplicate-functions
Description: 🐊Putout plugin adds ability to merge duplicate functions
Author: coderaiser
Latest version: 4.0.0

# @putout/plugin-merge-duplicate-functions [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-merge-duplicate-functions.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-merge-duplicate-functions "npm"

> Functions are one of the fundamental building blocks in JavaScript. A function in JavaScript is similar to a procedure—a set of statements that performs a task or calculates a value, but for a procedure to qualify as a function, it should take some input and return an output where there is some obvious relationship between the input and the output. To use a function, you must define it somewhere in the scope from which you wish to call it.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and merge duplicate functions. Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/2cb7e8836ce0adb6009f21859f8a0c15/9eea5b36a4f6664b05f2f9f0abd271a62a4dbbbe).

## Install

```
npm i @putout/plugin-merge-duplicate-functions
```

## Rule

```json
{
    "rules": {
        "merge-duplicate-functions": "on"
    }
}
```

## ❌ Example of incorrect code

```js
const isFn = (a) => typeof a === 'function';
const isFn1 = (a) => typeof a === 'function';
const isFn2 = (a) => typeof a === 'function';

isFn(1);
isFn1(2);
```

## ✅ Example of correct code

```js
const isFn = (a) => typeof a === 'function';

isFn(1);
isFn(2);
```

## License

MIT
npm package: @putout/plugin-merge-duplicate-imports
Description: 🐊Putout plugin adds ability to merge duplicate-imports
Author: coderaiser
Latest version: 11.0.3

# @putout/plugin-merge-duplicate-imports [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-merge-duplicate-imports.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-merge-duplicate-imports "npm"

> The static `import` statement is used to `import` read only live bindings which are exported by another module.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and merge duplicate imports. Merged to [`@putout/plugin-esm`](https://www.npmjs.com/package/@putout/plugin-esm#merge-duplicate-imports).

## Install

```
npm i @putout/plugin-merge-duplicate-imports
```

```json
{
    "rules": {
        "merge-duplicate-imports/join": "on",
        "merge-duplicate-imports/rename": "on"
    }
}
```

## join

### ❌ Example of incorrect code

```js
import test from 'supertape';
import {stub} from 'supertape';
```

### ✅ Example of correct code

```js
import test, {stub} from 'supertape';
```

## rename

Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/6604936dec6b1eed8ce0d143f2962f15/17b310a6e4d85b0b8615a8b91d0e27414e8af291).

### ❌ Example of incorrect code

```js
import putout from './putout.js';
import all from './putout.js';
import x from './putout.js';

console.log(all);
console.log(x);
```

### ✅ Example of correct code

```js
import putout from './putout.js';

console.log(putout);
console.log(putout);
```

## License

MIT
npm package: @putout/plugin-merge-if-statements
Description: 🐊Putout plugin adds ability to merge if-statements
Author: coderaiser
Latest version: 3.1.1

# @putout/plugin-merge-if-statements [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-merge-if-statements.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-merge-if-statements "npm"

> The `if` statement executes a statement `if` a specified condition is truthy.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to merge `if` statements. Merged to [`@putout/plugin-conditions`](https://www.npmjs.com/package/@putout/plugin-conditions).

## Install

```
npm i @putout/plugin-merge-if-statements
```

## Rule

```json
{
    "rules": {
        "merge-if-statements": "on"
    }
}
```

## ❌ Example of incorrect code

```js
if (a > b) {
    if (b < c) {
        console.log('hello');
    }
}
```

## ✅ Example of correct code

```js
if (a > b && b < c) {
    console.log('hello');
}
```

## License

MIT
npm package: @putout/plugin-merge-return-with-next-sibling
Description: 🐊Putout plugin adds ability to merge return with next sibling
Author: coderaiser
Latest version: 1.0.1

# @putout/plugin-merge-return-with-next-sibling [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-merge-return-with-next-sibling.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-merge-return-with-next-sibling "npm"

> The `return` statement ends function execution and specifies a value to be returned to the function caller.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and merge `return` with next sibling. Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/2cb7e8836ce0adb6009f21859f8a0c15/9eea5b36a4f6664b05f2f9f0abd271a62a4dbbbe). Merged with [`@putout/plugin-return`](https://www.npmjs.com/package/@putout/plugin-return).

## Install

```
npm i @putout/plugin-merge-return-with-next-sibling
```

## Rule

```json
{
    "rules": {
        "merge-return-with-next-sibling": "on"
    }
}
```

## ❌ Example of incorrect code

```js
function x() {
    return;
    {
        hello: 'world';
    }
    
    return;
    5;
    
    return;
    a ? 2 : 3;
}
```

## ✅ Example of correct code

```js
function x() {
    return {
        hello: 'world',
    };
    
    return 5;
    
    return a ? 2 : 3;
}
```

## License

MIT
npm package: @putout/plugin-montag
Description: 🐊Putout plugin adds ability apply 'montag'
Author: coderaiser
Latest version: 5.0.2

# @putout/plugin-apply-montag [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-apply-montag.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-apply-montag "npm"

> Format multiline strings using tagged templates, instead of putting all lines into an array and joining to a string.
>
> (c) [**Montag**](https://github.com/coderaiser/montag)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to apply [**Montag**](https://github.com/coderaiser/montag).

## Install

```
npm i @putout/plugin-apply-montag
```

## Rules

- ✅ [add-newline-before-text](#add-newline-before-text);
- ✅ [apply](#apply);
- ✅ [declare](#declare);
- ✅ [remove-useless-space](#remove-useless-space);

## Config

```json
{
    "rules": {
        "montag/add-newline-before-text": "on",
        "montag/apply": "on",
        "montag/declare": "on",
        "montag/remove-useless-space": "on"
    }
}
```

## add-newline-before-text

Checkout in 🐊[Putout Editor](https://putout.cloudcmd.io/#/gist/cc3fc17690b0367cfeaba0f1bc889ec3/c462eeeaeb38bdd3fe87bc2a26c838793c993b50).

### ❌ Example of incorrect code

```js
montag`hello`;
```

### ✅ Example of correct code

```js
const a = montag`
    hello
`;
```

## apply

### ❌ Example of incorrect code

```js
const a = [
    'hello',
    'world',
].join('\n');
```

### ✅ Example of correct code

```js
const a = montag`
    hello
    world
`;
```

## declare

### ❌ Example of incorrect code

```js
const a = montag`
    hello
    world
`;
```

### ✅ Example of correct code

```js
import montag from 'montag';

const a = montag`
    hello
    world
`;
```

## remove-useless-space

Checkout in 🐊[Putout Editor](https://putout.cloudcmd.io/#/gist/fab78f67eb09a050e8517e5db27a0b38/e086519f13dce90899a5d6a9123c6919a6a73a9c).

### ❌ Example of incorrect code

```js
const a = montag`.
    hello
`;
```

### ✅ Example of correct code

```js
const a = montag`
    hello
`;
```

## License

MIT
npm package: @putout/plugin-npmignore
Description: 🐊Putout plugin helps with .npmignore
Author: coderaiser
Latest version: 7.0.4

# @putout/plugin-npmignore [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-npmignore.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-npmignore "npm"

> Use a `.npmignore` file to keep stuff out of your package. If there's no `.npmignore` file, but there is a `.gitignore` file, then npm will ignore the stuff matched by the `.gitignore` file.
>
> (c) [npmjs.com](https://docs.npmjs.com/cli/v9/using-npm/developers#keeping-files-out-of-your-package)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin helps with `.npmignore`.

## Install

```
npm i @putout/plugin-npmignore -D
```

## Rules

- ✅ [add](#add);
- ✅ [sort](#sort);

## Config

```json
{
    "rules": {
        "npmignore/add": ["on", {
            "dismiss": [
                ".nyc_output",
                ".putoutcache",
                "*.swp",
                "coverage",
                "*.config.*"
            ]
        }],
        "npmignore/sort": "on"
    }
}
```

## add

Adds `.*` into .npmignore.

```diff
+.*
test
```

## sort

### ❌ Example of incorrect code

```ignore
node_modules
*.swp
yarn-error.log
yarn.lock
.idea
.DS_Store
deno.lock

coverage
.filesystem.json
```

### ✅ Example of correct code

```ignore
.idea
.filesystem.json
.DS_Store

*.swp

yarn-error.log
yarn.lock
deno.lock

node_modules
coverage# sort
```

## License

MIT
npm package: @putout/plugin-postcss
Description: 🐊Putout plugin helps with migration to latest PostCSS
Author: coderaiser
Latest version: 2.0.0

# @putout/plugin-postcss [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-postcss.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-postcss"npm"

`postcss` plugin helps to migrate to latest `postcss` version according to [migration guide](https://evilmartians.com/chronicles/postcss-8-plugin-migration).

## Install

```
npm i @putout/plugin-postcss -D
```

## Rules

```json
{
    "rules": {
        "postcss/replace-loader-with-creator": "on"
    }
}
```

## replace-loader-with-creator

### ❌ Example of incorrect code

```js
module.exports = postcss.plugin('postcss-dark-theme-class', (opts = {}) => {
    checkOpts(opts);
    
    return (root, result) => {
        root.walkAtRules((atrule) => {});
    };
});
```

### ✅ Example of correct code

```js
module.exports = (opts = {}) => {
    checkOpts(opts);
    
    return {
        postcssPlugin: 'postcss-dark-theme-class',
        Once(root) {
            root.walkAtRules((atrule) => {});
        },
    };
};

module.exports.postcss = true;
```

## License

MIT
npm package: @putout/plugin-remove-boolean-from-assertion
Description: putout plugin adds ability to remove boolean from assertion
Author: coderaiser
Latest version: 1.0.3

# @putout/plugin-remove-boolean-from-assertion [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-boolean-from-assertion.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-boolean-from-assertion "npm"

`putout` plugin adds ability to remove `boolean` from `assertion`. Renamed to [@putout/plugin-remove-boolean-from-assertions](https://www.npmjs.com/package/@putout/plugin-remove-boolean-from-assertions).

## Install

```
npm i @putout/plugin-remove-boolean-from-assertion
```

## Rule

```json
{
    "rules": {
        "remove-boolean-from-assertion": "on"
    }
}
```

## ❌ Incorrect code example

```js
if (a === true)
    alert();
```

## ✅ Correct code Example

```js
if (a)
    alert();
```

## License

MIT
npm package: @putout/plugin-remove-boolean-from-assertions
Description: 🐊Putout plugin adds ability to remove boolean from assertions
Author: coderaiser
Latest version: 1.1.1

# @putout/plugin-remove-boolean-from-assertions [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-boolean-from-assertions.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-boolean-from-assertions "npm"

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to remove `boolean` from `assertions`. Merged to [`@putout/plugin-conditions`](https://www.npmjs.com/package/@putout/plugin-conditions).

## Install

```
npm i @putout/plugin-remove-boolean-from-assertions
```

## Rule

```json
{
    "rules": {
        "remove-boolean-from-assertions": "on"
    }
}
```

## ❌ Example of incorrect code

```js
if (a === true)
    alert();
```

## ✅ Example of correct code

```js
if (a)
    alert();
```

## License

MIT
npm package: @putout/plugin-remove-boolean-from-logical-expressions
Description: 🐊Putout plugin adds ability to find and remove test.boolean-from-logical-expressions calls
Author: coderaiser
Latest version: 4.0.2

# @putout/plugin-remove-boolean-from-logical-expressions [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-boolean-from-logical-expressions.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-boolean-from-logical-expressions "npm"

> A **boolean** is a logical data type that can have only the values `true` or `false`.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Glossary/Boolean)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove **boolean** from **logical expressions**.
Merged to [@putout/plugin-logical-expressions](https://www.npmjs.com/package/@putout/plugin-logical-expressions).

## Install

```
npm i @putout/plugin-remove-boolean-from-logical-expressions -D
```

## Rule

```json
{
    "rules": {
        "remove-boolean-from-logical-expressions": "on"
    }
}
```

## ❌ Example of incorrect code

```js
const t = true && false;
```

## ✅ Example of correct code

```js
const t = false;
```

## License

MIT
npm package: @putout/plugin-remove-console
Description: 🐊Putout plugin adds ability to find and remove console.log calls
Author: coderaiser
Latest version: 7.0.0

# @putout/plugin-remove-console [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-console.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-console "npm"

> The `console.log()` method outputs a message to the web console. The message may be a single string (with optional substitution values), or it may be any one or more JavaScript objects.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/API/console/log)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove `console.log` calls.

## Install

```
npm i @putout/plugin-remove-console
```

## Rule

```json
{
    "rules": {
        "remove-console": "on"
    }
}
```

## ❌ Example of incorrect code

```js
const hello = 'world';
console.log(hello);
```

## ✅ Example of correct code

```js
const hello = 'world';
```
npm package: @putout/plugin-remove-constant-conditions
Description: 🐊Putout plugin adds ability to find and remove test.constant-conditions calls
Author: coderaiser
Latest version: 4.0.2

# @putout/plugin-remove-constant-conditions [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-constant-conditions.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-constant-conditions"npm"

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove `constant conditions`. Merged to [`@putout/plugin-conditions`](https://www.npmjs.com/package/@putout/plugin-conditions).

## Install

```
npm i @putout/plugin-remove-constant-conditions -D
```

## Rule

```json
{
    "rules": {
        "remove-constant-conditions": "on"
    }
}
```

## ❌ Example of incorrect code

```js
function hi(a) {
    if (2 < 3) {
        console.log('hello');
        console.log('world');
    }
}
```

## ✅ Example of correct code

```js
function hi(b) {
    console.log('hello');
    console.log('world');
}
```

## License

MIT
npm package: @putout/plugin-remove-debugger
Description: 🐊Putout plugin adds ability to find and remove 'debugger' statement
Author: coderaiser
Latest version: 9.0.0

# @putout/plugin-remove-debugger [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-debugger.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-debugger "npm"

> The `debugger` statement invokes any available debugging functionality, such as setting a **breakpoint**. If no debugging functionality is available, this statement has no effect.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove `debugger` statement.

## Install

```
npm i @putout/plugin-remove-debugger
```

## Rule

```json
{
    "rules": {
        "remove-debugger": "on"
    }
}
```

## ❌ Example of incorrect code

```js
debugger;
console.log('hello');
```

## ✅ Example of correct code

```js
console.log('hello');
```

## Comparison

Linter | Rule | Fix
--------|-------|------------|
🐊 **Putout** | [`remove-debugger`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-debugger#readme) | ✅
⏣ **ESLint** | [`no-debugger`](https://eslint.org/docs/rules/no-debugger) | ❌
🦀 **RSLint** | [`no-debugger`](https://rslint.org/rules/errors/no-debugger.html) | ❌

## License

MIT
npm package: @putout/plugin-remove-double-negations
Description: putout plugin adds ability to remove double negations
Author: coderaiser
Latest version: 4.0.1

# @putout/plugin-remove-double-negations [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-double-negations.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-double-negations"npm"

> To explicitly convert its return value (or any expression in general) to the corresponding boolean value can be used a double NOT operator (`!!`).
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_NOT)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to remove **double negations** from conditionals. Merged to [**remove-unused-type-convertion**](https://www.npmjs.com/package/@putout/plugin-remove-useless-type-conversion)

## Install

```
npm i @putout/plugin-remove-double-negations
```

## Rule

```json
{
    "rules": {
        "remove-double-negations": "off"
    }
}
```

## ❌ Example of incorrect code

```js
if (!!a) {
    console.log('hi');
}
```

## ✅ Example of correct code

```js
if (a) {
    console.log('hi');
}
```

## License

MIT
npm package: @putout/plugin-remove-duplicate-case
Description: 🐊Putout plugin adds ability to find and remove duplicate case
Author: coderaiser
Latest version: 4.0.0

# @putout/plugin-remove-duplicate-case [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-duplicate-case.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-duplicate-case "npm"

> The `switch` statement evaluates an expression, matching the expression's value to a `case` clause, and executes statements associated with that `case`, as well as statements in `cases` that follow the matching `case`.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove duplecate case.

## Install

```
npm i @putout/plugin-remove-duplicate-case
```

## Rule

```json
{
    "rules": {
        "remove-duplicate-case": "on"
    }
}
```

## ❌ Example of incorrect code

```js
switch(x) {
case 5:
    console.log('hello');
    break;

case 5:
    console.log('zz');
    break;
}
```

## ✅ Example of correct code

```js
switch(x) {
case 5:
    console.log('hello');
    break;
}
```

## License

MIT
npm package: @putout/plugin-remove-duplicate-elements
Description: 🐊Putout plugin adds ability to find and remove duplicate elements
Author: coderaiser
Latest version: 1.0.0

# @putout/plugin-remove-duplicate-elements [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-duplicate-elements.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-duplicate-elements "npm"

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove duplecate elements.
Checkout int 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/0455a6a59a0ba47a3611b3a95f1e20c5/fa6e2c73e3317c2a8c6fe3142c65d457d6f361ed).

## Install

```
npm i @putout/plugin-remove-duplicate-elements
```

## Rule

```json
{
    "rules": {
        "remove-duplicate-elements": "on"
    }
}
```

## ❌ Example of incorrect code

```js
__putout_processor_json([
    'coverage',
    '',
    'coverage',
    '',
    'abc',
]);
```

## ✅ Example of correct code

```js
__putout_processor_json([
    'coverage',
    '',
    'abc',
]);
```

## License

MIT
npm package: @putout/plugin-remove-duplicate-exports
Description: putout plugin adds ability to find and remove duplicate exports
Author: coderaiser
Latest version: 1.0.2

# @putout/plugin-remove-duplicate-exports [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-duplicate-exports.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-duplicate-exports"npm"

> The `export` statement is used when creating JavaScript modules to export live bindings to functions, objects, or primitive values from the module so they can be used by other programs with the import statement.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove duplecate exports. Merged to [@putout/plugin-typescript](https://www.npmjs.com/package/@putout/plugin-typescript).

## Install

```
npm i @putout/plugin-remove-duplicate-exports
```

## Rule

```json
{
    "rules": {
        "remove-duplicate-exports": "on"
    }
}
```

## ❌ Example of incorrect code

```ts
export {
    a,
    hello,
    a,
    world,
};
```

## ✅ Example of correct code

```ts
export {
    hello,
    a,
    world,
};
```

## License

MIT
npm package: @putout/plugin-remove-duplicate-interface-keys
Description: putout plugin adds ability to find and remove duplicate keys from interface
Author: coderaiser
Latest version: 3.2.1

# @putout/plugin-remove-duplicate-interface-keys [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-duplicate-interface-keys.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-duplicate-interface-keys "npm"

🐊[`Putout`](https://github.com/coderaiser/putout) plugin adds ability to find and remove duplecate interface-keys.
Moved to [`@putout/plugin-typescript`](https://github.com/coderaiser/putout/v24.0.2/master/packages/plugin-typescript#remove-duplicate-interface-keys)

## Install

```
npm i @putout/plugin-remove-duplicate-interface-keys
```

## Rule

```json
{
    "rules": {
        "remove-duplicate-interface-keys": "on"
    }
}
```

## ❌ Incorrect code example

```ts
interface Hello {
    'hello': any
    'hello': string
}
```

## ✅ Correct code Example

```ts
interface Hello {
    'hello': string
}
```

## License

MIT
npm package: @putout/plugin-remove-duplicate-keys
Description: 🐊Putout plugin adds ability to find and remove duplicate keys
Author: coderaiser
Latest version: 9.1.1

# @putout/plugin-remove-duplicate-keys [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-duplicate-keys.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-duplicate-keys "npm"

> An object initializer is a comma-delimited list of zero or more pairs of property names and associated values of an object, enclosed in curly braces (`{}`).
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove duplecate keys.

## Install

```
npm i @putout/plugin-remove-duplicate-keys
```

## Rule

```json
{
    "rules": {
        "remove-duplicate-keys": "on"
    }
}
```

## ❌ Example of incorrect code

```js
const a = {
    x: 'hello',
    ...z,
    x: 'world',
};
```

## ✅ Example of correct code

```js
const a = {
    ...z,
    x: 'world',
};
```

> SyntaxError: Duplicate parameter name not allowed in this context
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Duplicate_parameter)

Argument name clash:

```diff
-const a = ({b, b, ...c}) => {};
+const a = ({b, ...c}) => {};
```

## License

MIT
npm package: @putout/plugin-remove-duplicates-from-logical-expressions
Description: 🐊Putout plugin adds ability to find and remove duplicates from logical expressions
Author: coderaiser
Latest version: 1.0.3

# @putout/plugin-remove-duplicates-from-logical-expressions [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-duplicates-from-logical-expressions.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-duplicates-from-logical-expressions "npm"

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove `duplicates` from `logical expressions`. Merged to [@putout/plugin-simplify-logical-expressions](https://www.npmjs.com/package/@putout/plugin-simplify-logical-expressions).

## Install

```
npm i @putout/plugin-remove-duplicates-from-logical-expressions -D
```

## Rule

```json
{
    "rules": {
        "remove-duplicates-from-logical-expressions": "on"
    }
}
```

## ❌ Example of incorrect code

```js
const t = a && b && a;
```

## ✅ Example of correct code

```js
const t = a && b;
```

## License

MIT
npm package: @putout/plugin-remove-duplicates-from-union
Description: putout plugin adds ability to find and remove duplicates from union
Author: coderaiser
Latest version: 1.0.2

# @putout/plugin-remove-duplicates-from-union [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-duplicates-from-union.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-duplicates-from-union "npm"

[`putout`](https://github.com/coderaiser/putout) plugin adds ability to find and remove `duplicates` from `union` (for typescript). Moved to [@putout/plugin-typescript](https://github.com/coderaiser/putout/tree/v24.0.2/packages/plugin-typescript#remove-duplicates-from-union).

## Install

```
npm i @putout/plugin-remove-duplicates-from-union -D
```

## Rule

```json
{
    "rules": {
        "remove-duplicates-from-union": "on"
    }
}
```

## ❌ Incorrect code example

```ts
type x = boolean[]
    | A
    | string
    | A
    | string[]
    | boolean[];
```

## ✅ Correct code Example

```ts
type x = boolean[]
    | A
    | string
    | string[];
```

## License

MIT
npm package: @putout/plugin-remove-empty
Description: 🐊Putout plugin adds ability to find and remove blocks with empty body
Author: coderaiser
Latest version: 15.0.0

# @putout/plugin-remove-empty [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-empty.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-empty"npm"

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove:

- `empty blocks`;
- `empty static blocks`;
- `empty patterns`;
- `empty arguments`;

## Install

```
npm i @putout/plugin-remove-empty
```

## Rules

- ✅ [block](#block);
- ✅ [static-block](#static-block);
- ✅ [pattern](#pattern);
- ✅ [nested-pattern](#nested-pattern);
- ✅ [argument](#argument);

## Config

```json
{
    "rules": {
        "remove-empty/block": "on",
        "remove-empty/static-block": "on",
        "remove-empty/pattern": "on",
        "remove-empty/nested-pattern": "on",
        "remove-empty/argument": "on"
    }
}
```

## block

```diff
-if (2 > 3) {}
```

## static-block

Check it out in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/8d55df306ea7a3c74b494d37bd45f320/634cc2cf40fe7b691d969bb2bbfceecd1668b004).

```diff
class Hello {
-    static {
-    }
}
```

## pattern

```diff
-const [] = array;
-const {} = object;
```

## nested-pattern

### ❌ Example of incorrect code

```js
export const func = (param) => {
    const {
        a: {
        },
        c,
    } = param;
    
    return c;
};
```

### ✅ Example of correct code

```js
export const func = (param) => {
    const {c} = param;
    return c;
};
```

## arguments

Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/2e19524f26b2fb412dd04228cc4a42e1/71b0034c61c33d2f8957b84b4e83d3844aba4f34).

### ❌ Example of incorrect code

```js
const create = ({} = {}) => 'hello';

module.exports = ({rule, plugin, msg, options}, {}) => {};

const a = {
    EmptyStatement({}) {},
};
```

### ✅ Example of correct code

```js
const create = () => 'hello';

module.exports = ({rule, plugin, msg, options}) => {};

const a = {
    EmptyStatement() {},
};
```

## License

MIT
npm package: @putout/plugin-remove-empty-pattern
Description: putout plugin adds ability to find and remove empty patterns
Author: coderaiser
Latest version: 4.2.2

# @putout/plugin-remove-empty-pattern [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-empty-pattern.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-empty-pattern"npm"

🐊[`Putout`](https://github.com/coderaiser/putout) plugin adds ability to find and remove `empty pattern statements`. Part of [`@putout/plugin-remove-empty`](https://github.com/coderaiser/putout/tree/v24.5.0/packages/plugin-remove-empty#readme).

## Install

```
npm i @putout/plugin-remove-empty-pattern -D
```

## Rule

```json
{
    "rules": {
        "remove-empty-pattern": "on"
    }
}
```

```diff
-const [] = array;
-const {} = object;
```

## License

MIT
npm package: @putout/plugin-remove-iife
Description: 🐊Putout plugin adds ability to find and remove iife
Author: coderaiser
Latest version: 5.1.0

# @putout/plugin-remove-iife [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-iife.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-iife"npm"

> An **IIFE** (Immediately Invoked Function Expression) is a **JavaScript** function that runs as soon as it is defined.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Glossary/IIFE)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove **IIFE**.
Check out in 🐊**Putout Editor**:

- ✅ [getting read of `IIFE`](https://putout.cloudcmd.io/#/gist/e4c8fb3bdf6beb33b693a4ee0892d9aa/93296ca2fd22e502a584f95ce5c5e3a7ae838e2f) using **Linked Template Values**[(`__a`](https://github.com/coderaiser/putout/blob/master/docs/putout-script.md#__a));
- ✅ [getting read of `IIFE`](https://putout.cloudcmd.io/#/gist/42c19f103b40d86b1d20d7201306c5e3/c752dcc2d80fe90ca2431ad952a5fdc32a780492) using **Linked Args** [(`__args__a`)](https://github.com/coderaiser/putout/blob/master/docs/putout-script.md#__args__a);

## Install

```
npm i @putout/plugin-remove-iife
```

## Rule

```json
{
    "rules": {
        "remove-iife": "on"
    }
}
```

## ❌ Example of incorrect code

```js
(function() {
    console.log('hello');
})();

((a) => fn(a))(value);
((a, b) => fn(a, b))(value, value2);
```

## ✅ Example of correct code

```js
console.log('hello');
fn(value);
fn(value, value2);
```

## License

MIT
npm package: @putout/plugin-remove-nested-blocks
Description: 🐊Putout plugin adds ability to find and remove nested blocks
Author: coderaiser
Latest version: 9.1.0

# @putout/plugin-remove-nested-blocks [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-nested-blocks.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-nested-blocks "npm"

> Delimited by a pair of curly brackets **block statement** is used to group zero or more statements.
>
> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/block)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove **nested bocks**.

☝️*Remember, when you [writing a transform](https://github.com/coderaiser/putout/tree/master/packages/engine-runner#readme) you can skip all parts related to **removing nested blocks** and just reuse current **plugin** it will make your code simpler and less error prone.*

## Install

```
npm i @putout/plugin-remove-nested-blocks
```

## Rule

```json
{
    "rules": {
        "remove-nested-blocks": "on"
    }
}
```

## ❌ Example of incorrect code

```js
for (const x of Object.keys(a)) {
    {
        console.log(x);
        console.log(xxx);
    }
}
```

## ✅ Example of correct code

```js
for (const x of Object.keys(a)) {
    console.log(x);
    console.log(xxx);
}

switch(x) {
case 1: {
    const m = 5;
}
}
```

## Comparison

Linter | Rule | Fix
--------|-------|------------|
🐊 **Putout**| [`remove-nested-blocks`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-nested-blocks#readme)| ✅
⏣ **ESLint** | [`no-lone-blocks`](https://eslint.org/docs/rules/no-lone-blocks) | ❌

## License

MIT
npm package: @putout/plugin-remove-only
Description: putout plugin adds ability to find and remove test.only calls
Author: coderaiser
Latest version: 5.0.2

# @putout/plugin-remove-only [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-only.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-only"npm"

🐊[`Putout`](https://github.com/coderaiser/putout) plugin adds ability to find and remove `test.only` calls. Part of [@putout/plugin-tape](https://github.com/coderaiser/putout/tree/master/packages/plugin-tape#remove-only).

## Install

```
npm i @putout/plugin-remove-only
```

## Rule

Rule `remove-only` is enabled by default, to disable add to `.putout.json`:

```json
{
    "rules": {
        "remove-only": "off"
    }
}
```

### ❌ Incorrect code example

```js
test.only('some test', (t) => {
    t.end();
});

```

### ✅ Correct code Example

```js
test('some test', (t) => {
    t.end();
});
```

## License

MIT
npm package: @putout/plugin-remove-process-exit
Description: putout plugin adds ability to find and remove process.exit
Author: coderaiser
Latest version: 3.0.2

# @putout/plugin-remove-process-exit [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-process-exit.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-process-exit"npm"

🐊[`Putout`](https://github.com/coderaiser/putout) plugin adds ability to find and remove `process.exit` calls. Moved to [`@putout/plugin-nodejs`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-nodejs#readme).

## Install

```
npm i @putout/plugin-remove-process-exit
```

## Rule

Rule `remove-process-exit` is disabled by default, to enable add to `.putout.json`:

```json
{
    "rules": {
        "remove-process-exit": "on"
    }
}
```

## Code Example

```js
const {readFileSync} = require('fs');
const source = readFileSync('./1.js', 'utf8');

const putout = require('putout');

console.log(source);
// outputs
`
process.exit();
`;

const result = putout(source, {
    plugins: [
        'remove-process-exit',
    ],
});
// returns
'';
```

## License

MIT
npm package: @putout/plugin-remove-quotes-from-import-assertions
Description: 🐊Putout plugin adds ability to find and remove quotes from import assertions
Author: coderaiser
Latest version: 1.0.3

# @putout/plugin-remove-quotes-from-import-assertions [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-remove-quotes-from-import-assertions.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-remove-quotes-from-import-assertions"npm"

> The new import assertions feature allows module import statements to include additional information alongside the module specifier. An initial use for the feature is to enable JSON documents to be imported as JSON modules:
>
> (c) [MDN](https://v8.dev/features/import-assertions)

🐊[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and remove quotes from import assertions.
Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/f9f34acddbefba0ded53225ca10fa44e/7b4dba44602b9b2d28fe3a98989474a4b0d8d73d). Merged to [`@putout/plugin-esm`](https://www.npmjs.com/package/@putout/plugin-esm#remove-quotes-from-import-assertions).

## Install

```
npm i @putout/plugin-remove-quotes-from-import-assertions
```

## Rule

```json
{
    "rules": {
        "remove-quotes-from-import-assertions": "on"
    }
}
```

## ❌ Example of incorrect code

```js
import json from './mod.json' with { type: 'json' };
```

## ✅ Example of correct code

```js
import json from './mod.json' with { type: 'json' };
```

## License

MIT