1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-12 10:37:52 -05:00
denoland-deno/cli/npm/resolution
David Sherret b064c95e93 fix(npm): improve peer dependency resolution with circular dependencies (#18069)
This improves peer dependency resolution yet again. We did not handle
scenarios like the following:

```
// a -> b -> c -> d -> c -> b (peer)
```

...which would maybe work ok the first time its run in some cases, but
then lead to a lockfile that would error on load.

This now keeps track of circular dependencies and updates nodes
accordingly. That said, there is still a lurking bug in this code
somewhere that I've added a comment for (there is a mitigation on the
tail end that seems to work well). The current state is much better than
before and I can look into it later. I think it's something small that's
incorrect.
2023-03-10 12:59:23 +09:00
..
common.rs fix(npm): improve peer dependency resolution (#17835) 2023-02-21 12:03:48 -05:00
graph.rs fix(npm): improve peer dependency resolution with circular dependencies (#18069) 2023-03-10 12:59:23 +09:00
mod.rs refactor: remove Semaphore::new(1) and use TaskQueue (#18014) 2023-03-10 12:47:14 +09:00
snapshot.rs refactor: use deno_graph for npm specifiers (#17858) 2023-02-22 14:15:25 -05:00