Как получить проверку типа потока для обнаружения изменений в моих файлах?
Таким образом, Flow работает правильно только при первом запуске, а затем мне нужно перезагрузить компьютер, прежде чем он снова будет работать правильно.
В частности, проблема, которую я вижу, состоит в том, что мы используем язык Flow для добавления аннотаций типов в наш код JS. Наш скрипт linter настроен для запуска проверки типа потока между прочим. Однако, когда я исправляю проблему в своем коде, а затем снова запускаю скрипт linter, он все равно возвращается с точно такими же ошибками... НО, когда он показывает фрагмент кода, где должна быть ошибка, он фактически показывает мой обновленный код это исправлено.
Так, в качестве примера, у меня был файл, который я скопировал в проект, который я не думал, что мне действительно нужно, но, возможно, я бы сделал. Так что я скопировал его на всякий случай. Ну, тогда возникла куча ошибок, связанных с линтером, поэтому я решил просто удалить файл, так как он мне действительно не нужен. Итак, я снова запускаю "yarn lint --fix", но он все еще жалуется на этот файл, ДАЖЕ, ЧТО ФАЙЛ НЕ СУЩЕСТВУЕТ! Теперь интересно, где вывод linter должен показывать код для этих ошибок, он просто пустой.
Или другой пример, скажем, в моем коде было несколько функций:
100: function foo() {} ... 150: function bar() {}
И у foo много ошибок, потому что это был некоторый выброшенный код, который мне больше не нужен, и поэтому я просто удаляю его. Итак, новый код выглядит так:
100: function bar() {}
Ну, я снова запускаю линтер и получаю сообщение об ошибке:
Error ------------------------ function foo has incorrect something...blah blah src/.../file.js 100| function bar() {}
Я также проверил это на машине коллеги, и они получили то же поведение, что и я. Так что это не что-то конкретное для моей машины, хотя это может быть специфичным для нашего проекта?
Примечание. Похоже, что нет тега для потока, но я не смог опубликовать, не добавив хотя бы один тег, поэтому я использовал flowlang, хотя на самом деле это другой язык:-(Я предполагаю, что любой ищет поток также будет использовать этот тег, так как он самый близкий.
1 ответ
При первом запуске Flow запускается фоновый процесс, который затем используется для последующей проверки типа. К сожалению, этот фоновый процесс очень медленный и глючит при загрузке. В Linux вы можете запустить:
killall flow
Чтобы остановить фоновый процесс. Затем, если вы повторно запустите средство проверки типа потока, оно фактически увидит все ваши последние изменения.