Open fredrikekre opened 2 months ago
PRESERVE_ALL
should probably consider the full manifest (not just the subgraph for the project) then? And then perhaps there should be a PRESERVE_WORKSPACE_DIRECT
before PRESERVE_DIRECT
that preserve all top level deps in all workspace projects.
PRESERVE_ALL should probably consider the full manifest (not just the subgraph for the project) then?
I think this is already true. The behavior here is identical to when not using a workspace.
Yea, I thought that adding a package that was in the manifest already was more of a no-op like rm
is.
Perhaps add
of a package that is already in the manifest should just not resolve at all like rm
? Wouldn't result in precompilation at least which would be pretty nice.
Currently add Package
is kind of used as a combined free + add
in case the package is added by URL or devved. A bit convenient at times but perhaps not worth it.
Yea, but add Package
could also be thought of as "any version of Package". If you require a specific one you add Package@...
, put in [compat]
or add by url I guess?
Yes, I don't think people would complain about that behavior.
When adding package that is already in the manifest because of a top level dependency of a different project (or as a transient dependency, but those almost always track the registry) we should try to preserve the version. For example:
I think this would be fixed by pinning top level dependencies of all projects in the first stage of the tiered resolver.