figwheel

general discussion about figwheel, specific discussions in #figwheel-main and #lein-figwheel
reefersleep 2020-05-13T12:00:30.044600Z

In my work project, we use figwheel. Every time I start it, I get some spam in the REPL that seems unnecessary. (I’m using Cursive)

May 13, 2020 1:55:21 PM org.jline.utils.Log logr
WARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
Unable to detect a system Terminal, you must not launch the Rebel readline
from an intermediate process.
If you are using `lein` you may need to use `lein trampoline`.
I can remove the first three lines by adding
(System/setProperty "org.jline.terminal.dumb" "true")
to cursive_repl.clj. This has something to do with the jline3 library, which I guess IntelliJ uses for handling console output. Then I’m left with:
Unable to detect a system Terminal, you must not launch the Rebel readline
from an intermediate process.
If you are using `lein` you may need to use `lein trampoline`.
This is something that figwheel produces because I’m using a “dumb” terminal, as far as I can read from the source code. If I try to disallow using a “dumb” terminal by setting (System/setProperty "org.jline.terminal.dumb" "false"), the REPL crashes:
Syntax error (IllegalStateException) compiling at (dev/cursive_repl.clj:12:1).
Unable to create a system terminal

Full report at:
/var/folders/_d/h17164js38j8rq2hg4bjfxbm0000gn/T/clojure-4872619934357427171.edn
So, I’m wondering if there is some way to get rid of the message, or if I’m stuck with it?

reefersleep 2020-05-13T12:03:51.046400Z

I would prefer not to mess with our project.clj, since other people depend on it. There’s a rebel-readline dependency in :profiles {:dev {:dependencies vector, and I guess the people who are running from the terminal depend on that. We’ve got quite a few people developing on our frontend.

reefersleep 2020-05-13T12:07:24.047200Z

I’m wondering if perhaps there’s some way to override exactly that part of the profile when calling start-figwheel!, or something like that.

bhauman 2020-05-13T15:33:28.049800Z

@reefersleep are you using lein-figwheel?