This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-03-26
Channels
- # announcements (6)
- # beginners (51)
- # cider (3)
- # cljsrn (9)
- # clojure (4)
- # clojure-argentina (1)
- # clojure-houston (2)
- # clojure-italy (5)
- # clojure-nl (1)
- # clojure-spec (14)
- # clojurescript (17)
- # community-development (2)
- # cursive (53)
- # datomic (69)
- # fulcro (5)
- # graphql (15)
- # immutant (6)
- # jobs (2)
- # kaocha (1)
- # leiningen (15)
- # lumo (5)
- # midje (1)
- # nrepl (6)
- # off-topic (119)
- # pathom (11)
- # tools-deps (5)
The EAP6 changes seem to be working well for deps.edn
@kwladyka if you require A, then B and C will be reloaded
I spoke too soon, there still seem to be issues resolving symbols with deps.edn
Does anyone have tips on how to deal with “cannot be resolved” messages for the com.datomic/ion-dev dependency? I would like to be able to see params and quick doc and get rid of the warnings. I suspect this is related to these deps being loaded from an s3 repo that requires creds, but I don’t know how to go about figuring that out.
If I try and add the phonebook-api example project in juxt/edge, I get this error:
Error resolving <my directories>/edge/examples/phonebook-api: Manifest type not detected when finding deps for juxt.edge/app.logging in coordinate {:local/root "../edge.app.logging"}
@danielcompton That’s with eap6?
@danielcompton I'm not experiencing that in eap6, what version is clj -Sdescribe
giving you?
Trying now
{:version "1.10.0.442"
:config-files ["/usr/local/Cellar/clojure/1.10.0.442/deps.edn" "/Users/danielcompton/.clojure/deps.edn" "deps.edn" ]
:install-dir "/usr/local/Cellar/clojure/1.10.0.442"
:config-dir "/Users/danielcompton/.clojure"
:cache-dir ".cpcache"
:force false
:repro false
:resolve-aliases ""
:classpath-aliases ""
:jvm-aliases ""
:main-aliases ""
:all-aliases ""}
and just to check, are you using the command line, or the api interface from cursive?
That Sdescribe is from the CLI
@danielcompton How do you have deps configured in Preferences | Build, Execution, Deployment | Build Tools | Clojure Deps?
But the error I'm getting is when I add the module with Cursive
Project Structure > + > Import Module
Then clicking on the deps.edn file
It has kind of added it
but nothing is resolved in the Clojure source files
Is that something that you’d want to do? I had assumed that the edge examples were standalone projects, but I don’t know much about edge.
if it's defined as a single server, then no, you wouldn't usually do that. But if it's two things under the same company that may have runtime dependencies (e.g. an api which is called by a frontend), then yes.
@danielcompton re: your issue about importing multiple deps.edn files, sadly the deps integration is based on an API in IntelliJ which doesn’t support that. I’m starting to think that using that API was a mistake for several reasons (including this one), but rewriting it to work more like e.g. leiningen is a pretty big job.
@dominicm In IntelliJ a project is generally a whole thing you might want to work on at once. It’s composed of one or more modules, which generally correspond to e.g. a lein or deps project (i.e. a module is roughly equivalent to project.clj
/`deps.edn`/`pom.xml`)
I guess there's some room for ambiguity there then :thinking_face:. You very well may work on the api & frontend simultaneously making them one project.
Yes, I’d expect that. For example, my Cursive fulfilment is done via an SPA which talks to AWS lambda. I have that in one project, which contains one front-end module and one back-end Node module which runs on lambda.
Edge has several example apps, as well as libraries in the same repo
I would expect each one to be a module
In the same way you could have a project.clj
for each
Well, REPLing is difficult there since a) it’s CLJS and b) I can’t test the whole thing since it relies on AWS. I do more test-driven development for that project (not in the strict sense, I just use tests more than REPLs). But generally with a frontend/backend split, yes, you’d expect two REPLs.
@danielcompton What are you actually trying to achieve with this? You have a large project and you’re trying to import the various modules of it, right?
Yeah, the edge project is basically what we're doing
So there is examples/
, and then lib/
When importing using deps, the dependent libs will be discovered automatically, but the top-level apps generally have to be imported individually.
Ok, let me see if I can repro by creating a single project with a couple of the edge example apps in it.
Just clone the whole repo?
Open it with idea .
PEBCAK, I thought I'd updated Cursive plugin, but I hadn't