This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-06-30
Channels
- # beginners (23)
- # boot (3)
- # cider (5)
- # clara (12)
- # cljs-dev (15)
- # clojure (18)
- # clojure-spec (24)
- # clojure-uk (23)
- # clojurescript (24)
- # data-science (2)
- # datascript (1)
- # datomic (12)
- # fulcro (51)
- # jobs (1)
- # jobs-discuss (1)
- # leiningen (1)
- # nrepl (1)
- # off-topic (1)
- # onyx (2)
- # re-frame (6)
- # reagent (14)
- # rum (1)
- # shadow-cljs (12)
- # spacemacs (3)
- # specter (1)
- # tools-deps (37)
- # vim (2)
@lee.justin.m What library were you trying to use that wasn't working. After @thheller pointed me to this issue: https://github.com/google/closure-compiler/issues/2971, I was able to build the closure compiler and the clojurescript compiler (to use the new closure snapshot), and everything seems to be working for me.
@ghopper I was trying to get ghostwheel to work. For the life of me I can’t figure out why it doesn’t.
Oh, ok. I thought you were having issues with some npm deps.
:thumbsup: Cool Ghostwheel is one of those things on my list to play with soon. 🙂
@ghopper You can usually update your app to new Closure-compiler without touching ClojureScript by adding the closure-compiler dependency to your own project
Oh really? I'll have to try that.
Local dependencies override transitive dependencies (i.e. closure from clojurescript)
So just adding com.google.javascript/closure-compiler-unshaded {:mvn/version "1.0-SNAPSHOT"}
to my deps.edn
should do it?
Huh, is there documentation on transitive dependencies somewhere to help me understand?
In Maven docs: https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Transitive_Dependencies
Thanks 🙂
@juhoteperi, so by default dependencies are transitive and able to be overriden? Is there a way to specify this scope with deps.edn
?
The clojurescript deps.edn
doesn't specify a scope for any of its dependencies.
I'm not really familiar with tools-deps. But I believe the default scope is compile there so the deps are transitive. And all dependencies are overridable, no matter scope, because JVM only supports single version of a class in classpath so several versions of a lib can't be loaded at the same time.
And the official clojurescript package is created by Maven so the dependencies are read from pom.xml
Oh, ok. That's very helpful. Thanks I didn't realize there couldn't be multiple in a JVM.
Clojurescript project has project.clj and deps.edn for development but pom.xml is what is used for packaging
Oh, right. I'd just did a grep replace to upgrade the closure version. Do you know why there's a deps.edn
, pom.xml
, and project.clj
?
Ha, nevermind. You just answered my question.
Are there any known issues with using a remote library in :foreign-libs
(with a URL as :file
) and :npm-deps
? It seems to be collapsing the
to http:/url
when :npm-deps
is present.
If not, I'll write up a minimum reproducible later.
Hmm, ok. I'll play with it more later. Strangely, it's not even when I'm importing the foreign library, it's when I try to import the npm dependency that it complains about the URL of the foreign library.