Size: a a a

2021 May 11

DD

Dmytro Dovhan in Frontend UA
а конфиг один общий на весь монорепо?
источник

DD

Dmytro Dovhan in Frontend UA
именн eslint где ты указываешь плагин?
источник

EO

Eugene Obrezkov in Frontend UA
Да
источник

EO

Eugene Obrezkov in Frontend UA
Я их держу в common/config
источник

EO

Eugene Obrezkov in Frontend UA
Там в меня один раз настроенный тулсет и оттуда как npm пакет расходится на всю репу
источник

DD

Dmytro Dovhan in Frontend UA
а не пробовал в каждый проект положить ?

у меня в таком виде вебсторм тоже не работал, пока не положил по конфигу в каждый пакет
что то типо
module.exports = {
   extends: ['@repo-name/eslint-config'],
};
источник

EO

Eugene Obrezkov in Frontend UA
Так они в каждом проекте, да
источник

EO

Eugene Obrezkov in Frontend UA
В каждом проекте есть .eslint, который наследует тот что в common/config
источник

EO

Eugene Obrezkov in Frontend UA
И пока ты не поставишь все плагины как зависимости, он будет ругаться что не нашёл плагин
источник

DD

Dmytro Dovhan in Frontend UA
просто уточнить, ты же не относительный путь используешь, а именно общий пакет который линкуется как и другие пакеты в монорепе?
источник

EO

Eugene Obrezkov in Frontend UA
Ага
источник

EO

Eugene Obrezkov in Frontend UA
extends: require.resolve(name)
источник

DD

Dmytro Dovhan in Frontend UA
а зачем так?

если у тебя этот пакет в зависимости приложения, то простой строки с названием должно быть достаточно?
источник

EO

Eugene Obrezkov in Frontend UA
Он ругаться будет что не найден конфиг)
источник

EO

Eugene Obrezkov in Frontend UA
Если что, у нас нейминг не стандартный. Не eslint-config-myproduct
источник

AR

Alexey Raspopov in Frontend UA
может от того и все проблемы?
источник

EO

Eugene Obrezkov in Frontend UA
Eslint поддерживает путь
источник

EO

Eugene Obrezkov in Frontend UA
Ты можешь указать путь к конфиг, как к файлу
источник

EO

Eugene Obrezkov in Frontend UA
добрался до рабочего ноута, вот пример

есть у меня конфиг, который экспортируется как

 "main": ".eslintrc.js",

если к нему ссылаться просто по имени, вот так

extends: "@wix/nsr-eslint-config",

то при попытке запуска мы получим "ESLint couldn't find the config "@wix/nsr-eslint-config" to extend from. Please check that the name of the config is correct."
источник

EO

Eugene Obrezkov in Frontend UA
поэтому используется возможность ESLint указывать полный путь к .eslintrc.js, он это тоже поддерживает

оборачиваем конструкцию в require.resolve и вот у нас уже полный путь к нашему конфигу и rush lint проходит
источник