devonestes / assertions

Helpful assertions for ExUnit
MIT License
143 stars 29 forks source link

make testmetrics_elixir_client as test dependency #3

Closed slashmili closed 5 years ago

slashmili commented 5 years ago

Hi Could you mark testmetrics_elixir_client as test only dependency? https://github.com/devonestes/assertions/blob/9d79db125bc1236b7969156ddbfa41eae91f08c0/mix.exs#L9-L12

I don't have problem with testmetrics_elixir_client being in my mix.lock. I already added assertions as test depedecy for my project. The problem is it also brings tesla which depends lots of depedencies and I'm afraid one day it will conflicts with what I have for my project.

shanesveller commented 5 years ago

For now, I've pinned back to 0.10.x while awaiting discussion on this thread:

{:assertions, "~> 0.10.0", only: :test},

I recently wrestled with the ability to have a truly optional, genuinely-only-affects-my-local-development dependency for a package that shouldn't affect any consuming projects in any way. Even with optional: true, etc. if you have specified a version constraint, consuming projects will inherit that information. You have to go wide open, >= 0.0.0 or similar, to be able to sincerely claim that your use of a utility package for development purposes cannot affect any consuming projects' installation of the same package. I never found a satisfying answer for this aspect of Hex dependency management. 😞

https://github.com/elixir-lang/elixir/blob/v1.8.1/lib/mix/lib/mix/tasks/deps.ex#L69-L74

devonestes commented 5 years ago

@slashmili @shanesveller Good call - I've fixed that in https://github.com/devonestes/assertions/commit/c37bd5c9caedef84434474800e6c2a98e352513d and pushed 0.13.1 to Hex just now: https://hex.pm/packages/assertions/0.13.1