Вот мотивирующим пример: Я разрабатываю код и хотите, чтобы выяснить, что происходит не так, поэтому яСоздание различных правил eslint для местного развития
function foo() {
console.log("Look its 2016 and I'm still printf debugging");
}
За исключением ... наш процесс сборки проходит esLint как часть системы сборки и побочного проектирования предотвращает даже запуск остальной части конвейера сборки, если esLint не работает. error Unexpected console statement no-console
То, что я хочу, это эффективно, чтобы создать среду, в которой dev
определенные правила выключены (или преобразованы в предупреждения), а затем production
среды со строгими правилами включения. И я хочу, чтобы иметь возможность легко переключать это локально, поэтому я могу проверить, работает ли мой код, прежде чем отправлять его на сервер CI.
Я не могу найти соответствующие фрагменты кода, чтобы это произошло, что меня огорчает. Моя среда сборки - это всего лишь npm
скриптов (только с использованием esLint CLI + package.json), но я был бы рад передать решение из другой среды сборки.
Прямо сейчас, у меня осталось либо // eslint-disable-line
, либо локально модифицировать файл .eslintrc
и молиться. Я никогда случайно не проверял это случайно. Должен быть лучший способ.
Крючок для предварительной фиксации тяжелый, потому что его нелегко оттолкнуть на отдельную машину без каких-либо крючков cp .git/hooks. Я предпочел бы просто добавить сценарий оболочки, который имел .eslintrcdev и .eslintrcprod и скопировал один или другой в .eslintrc по мере необходимости. Я бы хотел избежать политической дискуссии о бегунах. Просто, чтобы уточнить, если это было неправильно понято: мы * * используем бегун задачи make + npm + node по мере необходимости. – AnilRedshift
Я думаю, что я в идеале хочу сделать что-то вроде возможности запускать 'eslint --env dev ...' или 'eslint --dev prod' (который поддерживается сегодня), но затем есть правила в моем eslintrc, которые выглядят что-то вроде этого 'dev/no-console: ['off']', который не поддерживается. Независимо от того, есть ли у кого-то разумный способ решения этого вопроса, я посмотрю, смогу ли я получить эту функцию в eslint. – AnilRedshift