Как отключить несколько правил для eslint nextline

У меня есть такой код:

const subTotal = orderInfo.details.reduce((acc, cv) => acc += Number(cv.price) * Number(cv.quantity), 0);

Я хочу отключить два типа проверок ESLint для этой строки: no-return-assign и no-param-reassign.

Я пробовал вот так:

/* eslint-disable-next-line no-return-assign eslint-disable-next-line no-param-reassign */
const subTotal = orderInfo.details.reduce((acc, cv) => acc += Number(cv.price) * Number(cv.quantity), 0);

Но мой редактор по-прежнему показывает ошибку lint eslint (no-return-assign).


person shubham choudhary    schedule 22.06.2019    source источник
comment
Почему не просто => acc + ...? Тогда вы все равно не нарушаете правила. Нет необходимости в назначении.   -  person jonrsharpe    schedule 22.06.2019
comment
да, выглядит хорошо. В любом случае спасибо, если вы знаете, просто дайте мне знать, если в любом случае пользователь хочет отключить правило eslint для нескольких правил для следующей строки. что можно сделать в таком случае. Есть ли способ исправить невозвратное назначение для этого случая   -  person shubham choudhary    schedule 22.06.2019


Ответы (2)


Если вы хотите отключить несколько ошибок ESLint, вы можете сделать следующее (обратите внимание на запятые):

  • Для следующей строки:
// eslint-disable-next-line no-return-assign, no-param-reassign
( your code... )
  • Для этой строки:
( your code... ) // eslint-disable-line no-return-assign, no-param-reassign
  • Или, в качестве альтернативы, для всего блока кода (обратите внимание, что это работает только с синтаксисом многострочного комментария):
/* eslint-disable no-return-assign, no-param-reassign */
( your code... )
/* eslint-enable no-return-assign, no-param-reassign */

См. Раздел Настройка правил документации ESLint.

(Хотя, возможно, лучше просто отключить эти ошибки в вашем .eslintrc файле, если вы не можете все время соблюдать определенные правила.)

person Yannick K    schedule 22.06.2019
comment
Странно, что eslint-disable (без next-line) работает только с комментариями /* ... */, а не с комментариями //. - person Krisztián Balla; 10.10.2020
comment
@ JennyO'Reilly, это действительно странное решение с их стороны. Уточню в ответе. - person Yannick K; 12.10.2020
comment
Тем, кто конвертирует eslint-disable-next-line в eslint-disable (для нескольких строк), помните о двух вещах. 1. /* */ вместо // 2. Это eslint-disable, а не eslint-disable-next-line. Просто повторюсь, потому что я сделал то же самое, и мне пришлось искать еще много вещей из-за 2-го пункта. Может быть, это пригодится кому-то еще в будущем. - person paradocslover; 18.01.2021

Вместо этого следует использовать запятые.

/* eslint-disable-next-line no-return-assign, no-param-reassign */
const subTotal = orderInfo.details.reduce((acc, cv) => acc += Number(cv.price) * Number(cv.quantity), 0);
person Víctor Navarro    schedule 20.07.2019