Hi all! I'm trying to install Dirac to debug my clojurescript project, however I'm getting the following error:Internal Dirac Error TypeError: Cannot read property 'description' of undefined Dirac v0.7.2, Chrome/53.0.2785.143, Mac/10.10.5, Backend API/internal-56.0.2890.2@a83f4c8/460, Backend CSS/internal-56.0.2890.2@a83f4c8/406 DevTools code has thrown an unhandled exception: TypeError: Cannot read property 'description' of undefined at Object.compileCallback (<chrome-extension://kbkdngfljkchidcjpnfcgcokkbhlkogi/devtools/front_end/console/console_module.js:357:56>) at innerCallback (<chrome-extension://kbkdngfljkchidcjpnfcgcokkbhlkogi/devtools/front_end/inspector.js:8209:1>) at callback (<chrome-extension://kbkdngfljkchidcjpnfcgcokkbhlkogi/devtools/front_end/inspector.js:5720:39>) at Object.dispatchResponse (<chrome-extension://kbkdngfljkchidcjpnfcgcokkbhlkogi/devtools/front_end/inspector.js:5727:10>) at Object.dispatch (<chrome-extension://kbkdngfljkchidcjpnfcgcokkbhlkogi/devtools/front_end/inspector.js:5677:60>) at Object.onMessage (<chrome-extension://kbkdngfljkchidcjpnfcgcokkbhlkogi/devtools/frontend/inspector.js:12904:31>)
Dirac agent is running
Dirac Agent v0.7.2 Connected to nREPL server at <nrepl://localhost:8230>. Agent is accepting connections at <ws://localhost:8231>.
hi @ricardo.ekm, the problem is that you are using old Chrome
And Dirac Chrome extension successfully connected to remote debugger 9002 port
you must be using latest Canary
ah ok!
thanks
will try it
ok!
can you point me out where to download the latest canary?
great! thanks
it is auto-updating, so you have no other choice but use the latest
in case of troubles, with each dirac release you have links to matching chromium snapshots, that is solution of last resort: https://github.com/binaryage/dirac/releases
for cases when dirac does not get timely updates and canary runs too far from it
ok, I see!
maybe you can help me with one more issue, I've put the dirac dependency in my project
:dependencies [[org.clojure/clojure "1.8.0"] [org.clojure/clojurescript "1.8.51"] [binaryage/dirac "0.7.2"] [binaryage/devtools "0.8.2"]]
however I'm getting the following error
Dirac requires runtime support from your app. Please install Dirac Runtime into your app and enable the :repl feature. ReferenceError: dirac is not defined at <anonymous>:1:2
my full project file
(defproject signal-clojurescript "2.0.0" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.8.0"] [org.clojure/clojurescript "1.8.51"] [binaryage/dirac "0.7.2"] [binaryage/devtools "0.8.2"]] :plugins [[lein-figwheel "0.5.4-7"] [lein-cljsbuild "1.1.4"] [lein-expectations "0.0.7"]] :resource-paths ["resources/"] :target-path "target/%s" :clean-targets [:target-path "js/out"] :profiles {:uberjar {:aot :all}} :repl-options {:port 8230 :nrepl-middleware [dirac.nrepl/middleware] :init (do (require 'dirac.agent) (dirac.agent/boot!))} :figwheel { :http-server-root "public" :server-port 3002 :server-ip "0.0.0.0" :repl false } :cljsbuild { :builds {:dev { :source-paths ["src"] :figwheel true :compiler {:main "signal-cljs.main" :source-map true :optimizations :none :asset-path "http://localhost:3002/js/out" :output-to "resources/public/js/main.js" :output-dir "resources/public/js/out"}} :prod { :source-paths ["src"] :compiler {:asset-path "https://static.takeabridge.com/js/out" :optimizations :advanced :pretty-print false :output-to "resources/public/js/main.js"}}}})
you need dirac.runtime in :preloads, please follow installation instructions
https://github.com/binaryage/dirac/blob/master/docs/installation.md#installation-via-preloads
ok, got it
sorry for asking again, I inserted the preload instruction but the error is the same
:compiler {:preloads [devtools.preload dirac.runtime.preload] :main "signal-cljs.main" :source-map true :optimizations :none :asset-path "http://localhost:3002/js/out" :output-to "resources/public/js/main.js" :output-dir "resources/public/js/out"}}
if I change dirac.runtime.preload to "blablabla" it keeps compiling
so maybe it isnt loading it
(I'm using figwheel, I don't if it matters)
@ricardo.ekm you have to completely restart lein/figwheel when doing changes into project.clj
yes, I did it
tried lean clean
and deleted target folders
ok, show me again your project.clj, but better paste it as a snippet (+ button here) or via http://gist.github.com
looks good to me
just your :clean-targets does not contain resources/public/js/out
also you want to probably remove js/main.js
to make really clean build
so I would recommend to put it into js/out/main.js
instead
ah, now I see the issue
you are using old clojurescript version
1.8.51 had no awareness of :preloads
hmmmm
it is pretty recent addition
got it!
great man, thanks! gonna upgrade
go for 1.9.293