sindresorhus/eslint-plugin-unicorn

Rule proposal: `prefer-destructured-variables`

Closed

#1,230 opened on Apr 28, 2021

 (4 comments) (7 reactions) (0 assignees)JavaScript (468 forks)user submission
help wantednew rule

Repository metrics

Stars
 (5,022 stars)
PR merge metrics
 (Avg merge 1d 16h) (399 merged PRs in 30d)

Description

I understand we already have consistent-destructuring, and it already covers cases I'm going to post, but that rule is buggy, and I don't like destructuring all used properties in one, I prefer destructuring when needed, for example:

const {a} = foo;

if (a) {
  // ... do something not related to `foo.b`
}

const {b} = foo;

// ... do something with `b`

Fail

const {a} = foo;
console.log(foo.a); 

Pass

const {a} = foo;
console.log(a, foo.b); 

It's like splitting consistent-destructuring into two rules, this one and another like prefer-one-destructuring.


Contributor guide