This is all very complicated the dependency problem, can't see any other solution at the moment than to use package.json for npm deps and some other package manager for .jar deps. A small comfortable step may be to support deps.edn
bit in such a way that the dependencies are added to classpath. Saves myself at least to effort of haveing different emacs functions prepared for every lumo project I'm working on.
That would work for adding .jar's on the classpath, doesn't avoid adding source directories too tough...
Maybe just a job for Calvin at this point in time.
@hlolli I agree, this dependency story is very complex. Even if cljs src deps were distributed via npm, there’d have to be dependency resolution logic built into the runtime ala node.js require
. However, I feel personally that the JVM ecosystem nitty gritty (maven, the CLASSPATH 😅) is enough to prevent many js devs from even poking around the cljs ecosystem. Furthermore, such dep management may not be the job of lumo but instead another tool such as Calvin – imo lumo’s scope should be limited, it can’t solve all of this
actually, if I’m understanding lumo internals correctly, lumo is populating the npm-deps
compiler option
(but that’s for js deps not cljs src)
deps.edn
can have providers so in theory it could download both mvn and npm deps..but agree it feels a bit messy