Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants