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).
What does "Dependencies are vendored and checked into the repo" mean?
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)
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.