pnpm was created to solve this issue and is actively maintained since 2016.
This is how pnpm solves the issue:
pnpm's solution is battle tested and does not hook into Node's module resolution algorithm, so it is backward compatible.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.