Если в вашем 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. Без сомнений.