sindresorhus/eslint-plugin-unicorn

Rule proposal: `prefer-object-define-properties`

Closed

#1,729 opened on Feb 11, 2022

 (6 comments) (2 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

Description

I didn't know Object.defineProperties existed. Would have been nice for a rule to teach me as I wrote consecutive Object.defineProperty.

Fail

Object.defineProperty(matcher, 'logger', {
  value: () => {},
  writable: true,
})
Object.defineProperty(matcher, 'builder', {
  value: (value) => value.map(({ build }) => build()),
  writable: true,
})

Pass

Object.defineProperties(matcher, {
  logger: {
    value: () => {},
    writable: true,
  },
  builder: {
    value: (value) => value.map(({ build }) => build()),
    writable: true,
  }
})

Contributor guide