On 2021-7-15 20:26 , Haren Samarasinghe wrote:
I'm trying to write an NPM portgroup, part of which involves setting the
correct version of npm and the corresponding version of nodejs as a
port's dependencies.

 From some port A, how would I find if port B has C as a dependency? As
an example, how would I find out in the portgroup that npm4 goes with
nodejs8?

There would be hacky ways of doing that, but why not just depend on npm4 and let its dependencies be handled automatically?

I thought about manually hardcoding it into the PG, but then this would
have to be regularly updated and could lead to conflicts if not done
properly. I also thought about setting npm/nodejs as path deps, but that
doesn't work when the port requires a newer node version.

If there's a true need to have the information in both places, then the Don't Repeat Yourself principle is good, but I think the structure should be reversed. The npm* portfiles should get the information about which nodejs* to depend on from the same place as the new portgroup, possibly the portgroup itself, or a separate portgroup if it's too difficult to make including the npm portgroup work in the npm ports.

- Josh

Reply via email to