Скажем, у меня есть этот фрагмент кода:
/** @type {string} */
const foo = '123';
const bar = foo.map((c) => c + 1);
Тогда я бы хотел, чтобы ESLint сказал мне, что у меня здесь ошибка: карта не является функцией строкового типа
Я использую WebStorm в качестве своей IDE, и он распознает проблему, но я хотел бы иметь возможность распознавать эти проблемы с помощью моего линтера из командной строки.
@Flimm A linter or lint refers to tools that analyze source code to flag programming errors, bugs, stylistic errors, and suspicious constructs Википедия. Думаю, это в его рамках? :)
Компилятор закрытия Google более или менее делает именно это. Анализатор потока Facebook также должен уловить это, даже без аннотации. Это определенно выходит за рамки линтера, вам просто нужен другой инструмент.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


ESLint этого не делает, но можно проверить файлы javascript, а не только файлы машинописного текста, с помощью Typescript: https://github.com/Microsoft/TypeScript/wiki/Type-Checking-JavaScript-Files
Он поддерживает довольно много комментариев JSDoc: https://github.com/Microsoft/TypeScript/wiki/JsDoc-support-in-JavaScript + он определяет типы, когда ничего не было определено явно.
Вот конфигурация Typescript моего проекта javascript: https://github.com/voxpelli/node-promised-retry/blob/67512edc4f414d128279f25268d860d9f10d2be0/tsconfig.json
Спасибо @VoxPelli, это отличное решение, я обязательно это проверю
Похоже на то, что вы бы использовали такой язык, как Typescript, и выходящие за рамки линтера.