ESLint / Prettier — принудительно использовать max-len / printWidth, но не требует этого?

#javascript #vue.js #eslint #lint #prettier

#javascript #vue.js #eslint #lint #красивее

Вопрос:

Есть ли способ настроить ESLint w / Prettier для принудительного применения правила max-len / printWidth, но не требовать его? То есть разрешить вам добавлять разрывы строк по своему усмотрению?

 // eslintrc.js

"max-len": [0, 160, 2, { ignoreUrls: true }],

// prettier.config.js

module.exports = {
  trailingComma: "all",
  tabWidth: 2,
  semi: true,
  singleQuote: false,
  printWidth: 160,
};
  

Комментарии:

1. Что вы имеете в виду под «не требуется» ? Это не значит, что это заставляет вас записывать все строки ровно в 160 символов.

2. @jonrsharpe — У меня в IDE настроено автоматическое исправление при сохранении, и если элементы с пятью или шестью атрибутами МОГУТ поместиться в пределах моего максимального размера, он автоматически корректирует его и «принудительно» удаляет. Я не хочу отключать автоматическую фиксацию при сохранении, и даже если я это сделаю, я получу небольшие подчеркивания везде, где есть «ненужный» разрыв строки (который я на самом деле хочу).

3. Тогда вам, вероятно, не нужна printWidth prettier: prettier.io/docs/en/options.html#print-width . Или, может быть, красивее, если у вас есть макет, который вы «хотите».

4. Красивее в этом смысле отстой. Это действительно «заставляет вас писать строки длиной [не точно, но около] 160 символов». В идеале, это применяло бы printWidth только к слишком длинным строкам, но не удлиняло бы слишком короткие строки.

Ответ №1:

Установите print-width значение 999 в prettier, чтобы отключить его, затем установите для правила eslint max-len предупреждение при любом предпочитаемом вами значении.

Комментарии:

1. Ваше max-len правило должно быть отформатировано следующим образом 'max-len': [1, { code: 100 }], , например, для установки ширины строки code , где 1 указывает eslint предупреждать, когда длина строки превышает 100

2. Установка значения print-width равным 999 не отключает его, оно сообщает Prettier, что длина каждой строки должна составлять 999 символов. Если у вас есть правило max-len с ESLint, между этими двумя правилами возникнет конфликт.

3. С ESLint выигрывает последний плагин. Вы всегда должны включать prettier последним, поскольку это противоречит половине стандартного набора правил eslint.