Hm. I can see why they'd build some of these features, but there's some significant downsides. The VFS in particular will end up a poor experience when a transitory network problem causes apps to hang when pulling code. What happens if you 'grep -r', or if 'mlocate' indexes it?
On the build side.... holy jesus, are they really compiling 40 different dependencies from scratch every time they push code? This build has been running for 5 minutes and it's still just compiling dependencies: https://github.com/facebookexperimental/eden/runs/5997101905... Come on, ya'll. You're supposed to be the "advanced FAANG people". Cache some build deps, will ya?
I’d be surprised if it was the case that the build system there is just cobbled together for the OSS version, and likely quite different from what they actually use at FB.
One thing to keep in mind for how development at larger tech companies works is that you’re often not building on your own desktop, you’re usually building on a development server that’s on a well-connected (effectively production-quality, if not literally the same) network. You don’t see a ton of drops in those cases, so it works well. Not that there hasn’t been effort to recover from networking issues encountered in this and other build tooling - at scale, someone’s development server is going to have a bad day every day.
You also need much better tools than grep and locate for a monorepo - or any sufficiently large repo probably. Just load the full repo into memory in a few places around the world, and use an API to find the text you’re looking for. If you already have expertise with search services in your company, this is not that challenging a step - and you can get fancy by using something like Tree-sitter to make those searches more advanced than text. Hitting disk (especially for whole directory trees for “grep -r”) is a losing approach in a large repo.
On the build side.... holy jesus, are they really compiling 40 different dependencies from scratch every time they push code? This build has been running for 5 minutes and it's still just compiling dependencies: https://github.com/facebookexperimental/eden/runs/5997101905... Come on, ya'll. You're supposed to be the "advanced FAANG people". Cache some build deps, will ya?