Skip to content

Latest commit

 

History

History

plugin-parens

@putout/plugin-parens NPM version

🐊Putout plugin adds ability to add missing parens. Check out in 🐊Putout Editor.

Install

npm i @putout/plugin-parens

Rule

{
    "rules": {
        "parens/add-missing": "on",
        "parens/remove-useless": "on"
    }
}

add-missing

assign

The JavaScript exception "invalid assignment left-hand side" occurs when there was an unexpected assignment somewhere. It may be triggered when a single = sign was used instead of == or ===.

(c) MDN

To disable use:

{
    "rules": {
        "parens/add-missing-for-assign": "off"
    }
}
-a && b = a;
+a && (b = a);

await

To disable use:

{
    "rules": {
        "parens/add-missing-for-await": "off"
    }
}

❌ Example of incorrect code

await asyncFn().filter(Boolean);

✅ Example of correct code

(await asyncFn()).filter(Boolean);

template

The JavaScript exception "tagged template cannot be used with optional chain" occurs when the tag expression of a tagged template literal is an optional chain, or if there's an optional chain between the tag and the template.

(c) MDN

Checkout in 🐊Putout Editor.

{
    "rules": {
        "parens/add-missing-for-template": "off"
    }
}

❌ Example of incorrect code

getConsoleLog?.()``;
String?.raw``;
String?.raw!``;

✅ Example of correct code

(getConsoleLog?.())``;
(String?.raw)``;
(String?.raw)!``;

remove-useless

await

To disable use:

{
    "rules": {
        "parens/remove-useless-for-await": "off"
    }
}

Checkout in 🐊Putout Editor.

❌ Example of incorrect code

const s = (await m());

✅ Example of correct code

const s = await m();

License

MIT