aziz

aziz

(UndefinedFunctionError) function Phoenix.LiveView.HTMLFormatter.format/2 is undefined

I’m posting this as a reference as I couldn’t find a post related to this error message.

This issue can arise in umbrella projects that have been generated a long time ago where the LiveView HEEx formatter didn’t exist yet and you want to get up-to-date. When you try to define the Phoenix.LiveView.HTMLFormatter as a plugin module (only) in the apps/myapp_web/.formatter.exs file you may get the following error:

** (UndefinedFunctionError) function Phoenix.LiveView.HTMLFormatter.format/2 is undefined (module Phoenix.LiveView.HTMLFormatter is not available)
    Phoenix.LiveView.HTMLFormatter.format("<img src=\"/images/toggle_on.svg\" />\n", [file: "src/myapp/apps/myapp_web/lib/myapp_web/views/admin/helpers.ex", line: 11, sigil: :H, modifiers: [], opening_delimiter: "\"\"\"", import_deps: [:ecto, :ecto_sql, :phoenix, :surface, :assertions], plugins: [Phoenix.LiveView.HTMLFormatter], inputs: ["*.{heex,ex,exs}", "{lib,test}/**/*.{heex,ex,exs}"]])
    (elixir 1.14.2) lib/code/formatter.ex:1348: Code.Formatter.maybe_sigil_to_algebra/4
    (elixir 1.14.2) lib/code/formatter.ex:487: Code.Formatter.quoted_to_algebra/3
    (elixir 1.14.2) lib/code/formatter.ex:576: anonymous fn/3 in Code.Formatter.block_args_to_algebra/4
    (elixir 1.14.2) lib/code/formatter.ex:1960: Code.Formatter.each_quoted_to_algebra_with_comments/6
    (elixir 1.14.2) lib/code/formatter.ex:1938: Code.Formatter.quoted_to_algebra_with_comments/6
    (elixir 1.14.2) lib/code/formatter.ex:581: Code.Formatter.block_args_to_algebra/4
    (elixir 1.14.2) lib/code/formatter.ex:1858: Code.Formatter.clauses_to_algebra/4

I noticed that I sometimes didn’t get this error when I ran mix format the first time, but then every subsequent time.

Marked As Solved

aziz

aziz

Solution

Make sure that the same module (plugins: [Phoenix.LiveView.HTMLFormatter]) is defined in the root .formatter.exs file as well. It’s mentioned in the docs but sometimes you even overlook big info sections like that or misunderstand them.

Also ensure that you have at least {:phoenix_live_view, "~> 0.17.8"} defined. It’s the first version that makes the formatter module available.

Also Liked

acco

acco

FWIW, I had to uninstall and reinstall phoenix_live_view

mix deps.clean phoenix_live_view
mix deps.get

Where Next?

Popular in Questions Top

fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID&lt;0.412.0&gt; terminating ** (Postgrex.Error) FATAL...
New
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I fore...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers' Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New

Other popular topics Top

marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 29305 241
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I fore...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35953 110
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

We're in Beta

About us Mission Statement