dirac 2016-10-20

@ricardo.ekm has joined the channel

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

will try it

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>12

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

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

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

it is pretty recent addition

great man, thanks! gonna upgrade