News for hackers. Stuff that matters.
Re:Ask HN: State of PHP at Facebook? by TekMol on Wednesday October 27, 2021 @01:11PM (#29016084)
Do you know if Facebook uses Composer to manage PHP dependencies?
Re:Ask HN: State of PHP at Facebook? by klodolph on Wednesday October 27, 2021 @01:26PM (#29016271)
Facebook uses a monorepo, similar to the way Google does it. Dependencies are vendored and checked into the repo. Facebook has released a tool for migrating software between repos, which is much like Google's Copybara:

Facebook's fbshipit: https://github.com/facebook/fbshipit

Google's copybara: https://github.com/google/copybara

With these tools, you can make fairly sophisticated choices about how you do vendoring. You can make the internal version look just like the public version, in terms of commit history. And you can export internal commits to public commits, stripping out confidential information along the way (or integrations with internal systems and tooling).

Re:Ask HN: State of PHP at Facebook? by TekMol on Wednesday October 27, 2021 @01:30PM (#29016341)
Thanks for the infos!

What does "Dependencies are vendored and checked into the repo" mean?

Re:Ask HN: State of PHP at Facebook? by bananapub on Wednesday October 27, 2021 @01:34PM (#29016397)
https://stackoverflow.com/questions/26217488/what-is-vendori...

ie copy software source into your own repository, ideally in such a way that you can keep it up to date (which is what shipit/copybara are for)

Re:Ask HN: State of PHP at Facebook? by dkasper on Wednesday October 27, 2021 @01:38PM (#29016449)
It means you literally commit the code from the dependency into your own repo. https://stackoverflow.com/questions/26217488/what-is-vendori...
Re:Ask HN: State of PHP at Facebook? by fredemmott on Thursday October 28, 2021 @11:30AM (#29027260)
Facebook doesn't. Open source users of Hack do, and it uses packagist.org - however if a package is written in PHP, Hack code can't use it.

Not 100% accurate, but if a package's composer.json does not require HHVM, it will most likely install into a hack project, but be unusable.