I think that the use of :foreign-libs to include non closure js libs in 
cljs builds may be hazardous 

My reasoning as as follows:

if you use :foreign-libs, you create a namespace for the library - and must 
require this namespace in order for it to be included in the build.

But, if you plan to use advanced compilation and use :externs this 
namespace is never provided.

The result is that switching for simple to advance compilation requires a 
change in every file that required the dependency - to remove it.

Probably not a huge issue - but not ideal either.
-----------

Following on from this I have an Idea for browser targeted foreign js libs 
and I would like input/opinions

suppose a macro

(wrap-js js-file externs-file options
  (foo [] (.foo js/SomeClass)
)

to be used something like:

(ns my-wrapper)

(wrap-js "some.js" "some.externs.js" {:inline true}
 ...fn definitions...
)


this will then:
 1. ensure that the externs file is included in the build.
 2. generate a function that is called in the client when bootstrap.js is 
loaded to insert a <script> tag in the head of the page, loading or 
inlining the raw js

There would probably be need to ensure that the script is read before fns 
can be called.

Feasible?

Cheers

Dave

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to