-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Case Study] Flow #634
Comments
This will be difficult (and I won't implement it). Two blockers:
On the other hand TypeScript is written in JS, so even if they don't support PnP natively (yet, but we're working with them to find an appropriate way that satisfies both sides) we can implement it through PnPify, which simulates a n_m folder. I realize it's not the answer you hoped for, and I'm really sorry not to have better news in this regard ... One last thing of interest is that @larixer is working on implementing a n_m linker for Yarn 2 (you can follow the development in #470). This will allow your projects to keep using node_modules until you're ready to migrate to PnP. Unfortunately this also means that you won't benefit from the PnP perf, stability improvements, and some features, but ... tradeoffs tradeoffs. At least you'll get the rest of the CLI improvements, and will be able to use the Yarn plugin interface etc. |
I also need this in order to move to Yarn 2, any workarounds? |
The only one is to use the node_modules linker until Flow implements PnP support (if ever): .yarnrc.yml nodeLinker: node-modules |
The Flow team has no plans to adopt support for Yarn 2 or PNP. The primary use case for Flow at Facebook is in support of React code. Christoph Nakazawa of the React Native team has publicly stated that they have no immediate plans to support Yarn 2. There's a more thorough discussion here. Dan Abramov, from the React Core team, concurred, "We’re still using 1.x at FB and there are no immediate plans to switch to 2.x as that would be a ton of work." @arcanis, I've edited my comment to be more precise. Feel free to reach out to me directly in the future. |
Is not at all expected. It took me a long time to hunt down this not-really-a-solution; especially since I came across a few examples of using custom resolvers (which didn't work). It might be useful to have a prominently featured partial list of common tools that don't work with yarn 2. Please make it all work together! |
Yep, that's a good idea - we have a compatibility table, PRs welcome to track tools that are still missing (I'll open one for Flow and React Native myself). |
I'm not sure why, but I'm unable to reproduce the issue. Flow still cannot resolve any dependencies, but without dependencies, it's working fine. |
It seems the original issue, |
@ylemkimon That would be because Yarn started automatically unplugging dependencies with specific file types in #853 and #912 |
Eleven months is kind of a long time. Any hope of a resolution on this? What still needs to be done? |
You can help convincing the Flow team to allow using custom resolvers: facebook/flow#8292, facebook/flow#7014 |
Had to create a separate sub yarn project to manage my flow dependencies: https://github.com/psychobolt/react-pie-menu/tree/master/shared/flow-deps and symlink-dir the path to the root.
Not sure if ideally long term as I plan to switch to full Zero-Install completely. Works for me as I can easily opt-in to |
We use Yarn Berry and PNP in a lot of projects where we also use Flow! Solution - a little cumbersome but works:
It takes awhile but once we have them we have them - and they work! As let's face it - Right? |
What package is covered by this investigations?
flow-bin
Describe the goal of the investigation
It should be possible to use flow in a codebase.
Investigation report
I've put together a small repo demonstrating that flow doesn't work with yarn v2: https://github.com/lhorie/flow-berry
Produces this error:
I've also tried suggestions from this thread, but without success.
Flow works w/ yarn 1.x and npm
The text was updated successfully, but these errors were encountered: