deno/cli/npm
David Sherret 23e1ba7e2d
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-08 12:22:08 -05:00
..
resolution fix(npm): improve peer dependency resolution with circular dependencies (#18069) 2023-03-08 12:22:08 -05:00
resolvers fix: attempt to only allow one deno process to update the node_modules folder at a time (#18058) 2023-03-08 15:13:13 +00:00
cache.rs fix(npm): improve peer dependency resolution with circular dependencies (#18069) 2023-03-08 12:22:08 -05:00
installer.rs fix: lazily surface errors in package.json deps parsing (#17974) 2023-03-03 18:27:05 -04:00
mod.rs fix(npm): lazily install package.json dependencies only when necessary (#17931) 2023-02-24 19:35:43 -05:00
registry.rs refactor: use deno_graph for npm specifiers (#17858) 2023-02-22 14:15:25 -05:00
tarball.rs refactor: use deno_graph for npm specifiers (#17858) 2023-02-22 14:15:25 -05:00