adzerk-oss / boot-cljs-repl

Boot task providing a REPL for ClojureScript development.
Eclipse Public License 1.0
72 stars 28 forks source link

can't require a namespace from the repl #36

Open magomimmo opened 8 years ago

magomimmo commented 8 years ago

It seems that if I do not first require a namespace of a lib in a requirement expression of a another namespace declaration written in cljs source file, the repl, even if see the public symbols of the required namespace, is not able to use the.

e.g.

;;; build.boot
(set-env!
 ...
 :dependencies '[...
                          [domina "1.0.3"]
                         ])
...

Then after having launched a bREPL.

cljs.user=> (require '[domina :as dom] :reload
                                '[domina.events :as evt] :reload)
nil
cljs.user> (doc evt/listen!)
-------------------------
domina.events/listen!
([type listener] [content type listener])
  Add an event listener to each node in a DomContent. Listens for events during the bubble phase. Returns a sequence of listener keys (one for each item in the content). If content is omitted, binds a listener to the document's root element.
nil
#Object[TypeError TypeError: Cannot read property 'listen_BANG_' of undefined]
TypeError: Cannot read property 'listen_BANG_' of undefined
    at eval (eval at <anonymous> (http://localhost:3000/main.out/weasel/repl.js:30:470), <anonymous>:1:102)
    at eval (eval at <anonymous> (http://localhost:3000/main.out/weasel/repl.js:30:470), <anonymous>:9:3)
    at eval (eval at <anonymous> (http://localhost:3000/main.out/weasel/repl.js:30:470), <anonymous>:14:4)
    at http://localhost:3000/main.out/weasel/repl.js:30:465
    at http://localhost:3000/main.out/weasel/repl.js:39:4
    at cljs.core.MultiFn.call.G__9227__2 (http://localhost:3000/main.out/cljs/core.js:31994:106)
    at cljs.core.MultiFn.call.G__9227 [as call] (http://localhost:3000/main.out/cljs/core.js:32261:19)
    at null.<anonymous> (http://localhost:3000/main.out/weasel/repl.js:184:71)
    at goog.events.EventTarget.fireListeners (http://localhost:3000/main.out/goog/events/eventtarget.js:284:23)
    at Function.goog.events.EventTarget.dispatchEventInternal_ (http://localhost:3000/main.out/goog/events/eventtarget.js:381:26)

As soon as I require the same namespaces in a namespace declaration in the file, everything works as expected in the bREPL as well.

Deraen commented 8 years ago

This is related to #32 and #22