Skip to content
This repository was archived by the owner on Jan 20, 2025. It is now read-only.

Check dependencies that are not part of project.clj #119

Open
xsc opened this issue Jan 28, 2021 · 1 comment
Open

Check dependencies that are not part of project.clj #119

xsc opened this issue Jan 28, 2021 · 1 comment

Comments

@xsc
Copy link
Owner

xsc commented Jan 28, 2021

Issue #83 showed that it's possible to have versions defined outside of the project.clj file. There are multiple cases where this could happen:

  • Using lein-parent to include e.g. :managed-dependencies or even :dependencies.
  • Using other plugins/middlewares that add dependencies.
  • Using syntax-quotes in project.clj, e.g. to include data from another file.
  • ...

It won't be possible to upgrade those automatically but they could be shown when checking for outdated dependencies. To achieve that, we'd no longer use only the file to collect dependencies, but also look at the pre-processed :dependencies that Leiningen provides.

Of course, this can have surprising effects, since you could be informed about a dependency that's outdated without any indication where it's coming from - lein-ancient can't know that easily. In that regard, there is some similarity to transitive dependencies, which we're not checking right now, either.

This could be an optional behaviour, though, to be used at the user's discretion. Thoughts?

@dancek
Copy link

dancek commented Jan 28, 2021

If it's difficult to know where a dependency comes from, the current functionality seems to be the sane choice. Just my two cents. It's not difficult to run lein ancient in the parent directory, once you know that's needed.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants