You can create a deps.cljs in the root of your classpath for Y and declare
:npm-deps there
;; src/deps.cljs
{:npm-deps {"the-thing" "version"}}
This way the compiler can pick up your npm dependency and install it.
On Monday, January 15, 2018 at 9:01:55 AM UTC+1, Lucas Wiener wrote:
>
> Hi,
>
> I have the following clojurescript project dependency setup: X -> Y (X has
> stated Y in :dependencies). Now, I would like Y to depend on a npm
> javascript library Z. Following the guides, I added :npm-deps to one of the
> builds specified in Y. When I build and run Y, everything works fine with
> the new Z dependency. However, building/running project X now fails since
> the dependency Z cannot be found. From what I currently know, there are two
> approaches to get X running again:
>
> 1) Specify Z as an :npm-deps also in the project X builds. This is not
> very elegant since the union of all dependencies now cascade to the top
> level projects. Also, this approach would fail when transitive dependencies
> need different versions of the same dependency.
> 2) Compile Y into a bundle. Then X would depend on the prebuilt bundle of
> Y (which already includes Z). This is not perfect since it requires an
> extra processing step in Y, making lein checkouts a bit more troublesome
> etc. Also, my intuition tells me that this might affect code splitting,
> compilation optimizations, dead code elimination, etc. in a negative way.
>
> Am I missing something?
>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.