Как настроить ESLint для использования, например. event.target и element.parentNode? - PullRequest
0 голосов
/ 14 мая 2018

Редактировать: Я не осознавал, что сообщения об ошибках даже не приходят из ESLint, а из чего-то, называемого [js] в Код Visual Studio .Я бы удалил вопрос, но это могло бы помочь другим также принять ошибку [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 s, которые не HTMLElement s, , но как я должен кодировать - или настраивать 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');

throws

The property "querySelectorAll" does not exist for the type "Node & ChildNode".

Примечание: пожалуйста, не предлагайте использованиеиз потока или Typescript, код останется чистым ES6 (который я понимаю ES Lint для).

1 Ответ

0 голосов
/ 14 мая 2018

Согласно OP код содержит в качестве первой строки // @ ts-check

Таким образом, совершенно очевидно, что это не имеет ничего общего с отдельным eslint, но вызвано внутренним VSCode linter

Самый простой способ включить проверку типов в файле JavaScript - добавить // @ ts-check в начало файла.

...