This is what haxeshim solves, although not by having project-local copies of Haxe. Rather there’s a global store for haxe versions and libraries and a convention that allows to reference them from within projects. This convention is leveraged by lix (and switchx, which has been merged into lix recently for simplicity) to provide fully replicable and isolated setups. If you want to try it without interfering with your global haxe installation, please follow this documentation: GitHub - lix-pm/lix.client: A dependable package manager for your Haxe projects
These two things are not exclusive. The registry will accept additional fields in the package.json
and will even expose them through the API. I made a little experiment, and as a result you can find “haxeDependencies” in https://registry.npmjs.org/lix.pm