Unmaintained Scrivener HTML don't let me do upgrade to phoenix 1.5

Here in my project we are using an old version of phoenix(0.14.16) with liveview(0.13.2) but there was a need to use the new liveview functionality to send events to the hooks with push_event and we would like to update tophoenix 1.5 / live view 0.15. Unfortunately we use scrivener_html which apparently is no longer being maintained (since 2019 it has no commit) and does not have the possibility to remove this dependency.

The point is that in scrivener_html it says that phoenix dependency is optional, but when I give mix deps.get have conflict with the version of phoenix 1.5 that I am trying to update.

Failed to use "phoenix" (versions 1.5.7 and 1.5.8) because
  apps/api_front/mix.exs requires ~> 1.5.7
  apps/dk_syncer/mix.exs requires ~> 1.5.7
  guardian (version 1.2.1) requires ~> 1.3
  honeybadger (version 0.11.0) requires >= 1.0.0 and < 2.0.0
  phoenix_live_reload (version 1.2.1) requires ~> 1.4
  scrivener_html (versions 1.8.0 and 1.8.1) requires ~> 1.0 and < 1.5.0

** (Mix) Hex dependency resolution failed, change the version requirements of your dependencies or unlock them (by using mix deps.update or mix deps.unlock). If you are unable to resolve the conflicts you can try overriding with {:dependency, "~> 1.0", override: true}.

I tried put {:scrivener_html, "~> 1.8", override: true} without success. I want understand how to skip this dependency of scrivener_html.

Looks like @geofflane made a PR for the issue. You could possibly try his forked version form the branch?

{:scrivener_html, github: "pro-football-focus/scrivener_html", branch: "phoenix_1.5"}
1 Like

Hmm, this is a interesting solution, I will try

Could also be a good opportunity to go try out :slight_smile:

1 Like

While using a forked version is what I would generally recommend here (providing the changes are good), you actually want to do the opposite of what you tried. And instead use:
{:phoenix, "~> 1.5", override: true}
Because you are overriding the dependency requirements for phoenix (and not ignoring the requirements of :scrinever_html). However, if you do this then you need to manually check that no other dependency is incompatible with the specific version of phoenix that you are using.

5 Likes