Как получить проверку типа потока для обнаружения изменений в моих файлах?

Таким образом, 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

Чтобы остановить фоновый процесс. Затем, если вы повторно запустите средство проверки типа потока, оно фактически увидит все ваши последние изменения.

Другие вопросы по тегам