Редактировать: я не знал, что сообщения об ошибках исходят даже не от ESLint, а от чего-то под названием [js] в Visual Studio Code. Я бы удалил вопрос, но это может помочь другим, которые также ошибочно принимают вывод [js] за ESLint. Все еще любопытно узнать, что это за процесс [js]
.
Мне была поставлена задача определить файл .eslintrc.js для всего проекта, чтобы убедиться, что код команды соответствует общепринятым стандартам.
Запуск ESLint с использованием пресета eslint:recommended
дает мне следующее сообщение об ошибке
The property "parentNode" does not exist for the type "EventTarget".
Это фрагмент кода, о котором идет речь:
window.addEventListener('keydown', event => {
const currentTag = event.target.parentNode.tagName;
/* ... */
})
Я понимаю, что могут быть event.target
, которые не HTMLElement
, но как я должен кодировать или настраивать ESLint, чтобы эта строка больше не выдавала ошибки ESLint? Мы планируем, что наша сборка не будет работать до тех пор, пока ESLint будет сообщать о каких-либо ошибках, поэтому эту проблему нужно устранить.
Вторая строка кода, вызывающая аналогичную ошибку:
document.activeElement.click();
приводит к ошибке ESLint
The property "click" does not exist for the type "Element".
3-й пример:
const rows = this.childNodes[1].querySelectorAll('tr');
бросает
The property "querySelectorAll" does not exist for the type "Node & ChildNode".
Примечание. Пожалуйста, не предлагайте использовать поток или Typescript, код останется чистым ES6 (для которого, как я понимаю, предназначен ESLint).
eslint:recommended
(как и сотни тысяч других). - person connexo   schedule 14.05.2018[js]
в коде Visual Studio. Я бы удалил его, но это может помочь другим принять вывод [js] за ESLint. - person connexo   schedule 14.05.2018// @ts-check
в качестве первой строки. - person connexo   schedule 14.05.2018