Skip to content

Latest commit

 

History

History
55 lines (32 loc) · 1.6 KB

no-spreading.md

File metadata and controls

55 lines (32 loc) · 1.6 KB

Forbid usage of object expression inside clsx (clsx/no-spreading)

⚠️ This rule warns in the ✅ recommended config.

🔧 This rule is automatically fixable by the --fix CLI option.

Rule Details

This rule aims to forbid usage of true literals inside object expressions of clsx

Examples of incorrect code for this rule:

/* eslint clsx/no-spreading: 'error' */

const objectClasses = clsx({ ...firstObj, ...secondObj, 'class-1': true, 'class-2': true, ...someObj, 'class-3': true && true });

Examples of correct code for this rule:

/* eslint clsx/no-spreading: error */

const objectClasses = clsx(firstObj, secondObj, { 'class-1': true, 'class-2': true }, someObj, { 'class-3': true && true });

Options

The rule accepts an array of following values

object

Examples of incorrect code for the ['object'] option:

/* eslint clsx/no-spreading: ['error', ['object']] */

const objectClasses = clsx({ ...firstObj, ...secondObj, 'class-1': true, 'class-2': true, ...someObj, 'class-3': true && true });

Examples of correct code for the ['object'] option:

/* eslint clsx/no-spreading: ['error', ['object']] */

const objectClasses = clsx(firstObj, secondObj, { 'class-1': true, 'class-2': true }, someObj, { 'class-3': true && true });

Default value is ['object']

When Not To Use It

If you don't want to forbid usage of true literals inside object expressions of clsx