| ▲ | rtpg 3 hours ago | |
It's not about the package managers not being polyglot. It's about, for example, witnessing that `pip install` installs binaries with absolute paths and then writing a patch _for pip_ that Bazel uses, instead of figuring out how to change upstream pip to make that a configuration bit that Bazel uses. Bazel uses npm/cargo/pip in most people's usage of these tools! People still use these packages managers, with random patches and tweaks (because the overall ecosystem assumes you're using them). But Bazel often includes random fixups in their own tools. For example [0] is some patches Bazel does to node to get it to play nicely witH Bazel. In an (IMO) better world Bazel people figure out what they need, and figure out what they can get upstreamed into node to get things working. Instead we have patches that (if you jump through the history) have been around for 6+ years [0]: https://github.com/aspect-build/rules_js/tree/main/js/privat... | ||
| ▲ | forrestthewoods an hour ago | parent [-] | |
> Bazel uses npm/cargo/pip in most people's usage of these tools! Oh interesting. Buck totally replaces cargo / pip. I think the JS story is a little messier. Not sure as I try my best to not touch JS. | ||