Если в вашем JS-проекте уже использовалось или будет использоваться какое-либо сопоставление путей модуля, скажем, с помощью веб-пакета, бегите от FlowJS как можно быстрее. В противном случае даже Stackoverflow не спасет вас от потраченного впустую дня или двух безрезультатно.

Вещи хуже, чем «просто не работает». Иногда это работает, иногда выдает ошибку, а иногда просто не говорит «Ошибок нет».

Журналы содержат бессвязные сообщения. Если вы сможете их найти.

И после добавления магического написания к .flowconfig :

[options]
module.system.node.resolve_dirname=node_modules
module.system.node.resolve_dirname=src

вы не должны начинать работать, хотя. Иногда линяет, иногда нет.

Это правильный код:

Это явно неверно:

Flowjs это не волнует.

Вы даже можете установить путь к чему-то несуществующему

и откат к CLI:

FlowJS все равно будет вам тьфу. Ни слова о неправильном (или правильном) пути. Просто сообщите все в порядке. И на это есть причина. Они знали, что сломают единственное решение, которое они предложили, и не предоставили ничего, кроме смутного бормотания, похороненного в комментариях github о вариантах сопоставления, которые они написали в какой-то несчастливый вечер пятницы.

К тому же «сопоставление» все равно не будет работать, потому что оно сопоставляет относительные пути с `node_modules` и теряет их там, делает это *молча*. Вы никогда не узнаете, что путь к модулю неверен. Или иногда знаю, иногда нет.

И, наконец, после того, как вы отказались от хороших относительных путей и отката к ../../something и пустой конфигурации по умолчанию, вы получаете

Cannot resolve module `reselect`.
   4| import { createSelector } from 'reselect';

…и даже

Spawned flow server (pid=4617)
Logs will go to /private/tmp/flow/zSVolumeszSHDzSUserszSdsazSMyProjectszSmap2online.log
Monitor logs will go to /private/tmp/flow/zSVolumeszSHDzSUserszSdsazSMyProjectszSmap2online.monitor_log
Error: Failed to start server. There is already a server running.

То, как это работает (на самом деле не работает) с модулями, может вызвать сердечный приступ

…несмотря даже

О, боже. Такой идиотский. Но еще не конец. FlowJS не работает с Object.values. Ни за что. И они не хотят, чтобы это работало когда-либо.

Вы хотите больше?

Кажется, это нормально:

но если вы встроите Object.keys:

… с таким же невнятным «объяснением»:

Правила TypeScript. Без сомнений.