This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-06-13
Channels
- # beginners (36)
- # boot (1)
- # cider (4)
- # cljsrn (2)
- # clojure (137)
- # clojure-brasil (3)
- # clojure-czech (3)
- # clojure-italy (17)
- # clojure-nl (8)
- # clojure-spec (7)
- # clojure-uk (153)
- # clojurescript (84)
- # data-science (2)
- # datascript (13)
- # datomic (30)
- # editors (64)
- # emacs (22)
- # events (6)
- # figwheel (26)
- # fulcro (7)
- # hoplon (5)
- # jobs (5)
- # jobs-discuss (57)
- # keechma (3)
- # leiningen (4)
- # luminus (1)
- # midje (2)
- # off-topic (26)
- # portkey (18)
- # re-frame (4)
- # reagent (10)
- # ring-swagger (3)
- # shadow-cljs (135)
- # spacemacs (5)
- # sql (14)
- # tools-deps (125)
where's the cutting edge example for figwheel.main
? I was just about to go looking for that
I am thinking of adding it to http://github.com/hagmonk/depify, so that existing figwheel projects can be more easily converted over
I'm sure there are some leiningen-isms that are not possible to bring across, or considered an anathema in the eyes of deps.edn, but I'd like to bootstrap people to the greatest extent possible
I'm already generating Makefiles for my internal projects, so that particular pandora's box is open
Just remember that literal $ signs need to be $$ to stop make from interpreting them :) Got caught by that one
I have noticed something interesting, if you use lein without plugins and only use the profiles and aliases, the performance is pretty similar
inherent to changing the classpath dynamically, or something specific with clojure like having to compile?
If the jar is in the classpath beforehand, is compilation skipped or just faster because the JVM gets to batch it all up at once?
that would be very tedious
however, you could graalvm the classpath maker
@hagmonk that would happen if you were somehow getting an earlier version of CLJS than 1.10
ticket welcome
I thought I actually had a check for that, but maybe not
seems like it’s more likely to be a typo than cleverness
I’ve used the lein stuff for this a bit and it’s SUPER slow
so slow that I just go use the equivalent web pages instead
I have no idea why
but maybe worth understanding
some next level stuff would be to think about bridging the gap between ns and dep
@alexmiller what are the important features of the search? I've got a week of open source and JUXT are interested in deps.edn.
lein search does approximately what I want, I just find it too slow to use
I want google for deps
runtime is the part I’m referring to
I think there might be some giant index file that gets downloaded periodically?
I don’t remember what maven has for this
maybe I’m wrong that they do
I just tried lein search again and it was pretty fast
been a while
how about this - I’d like to do lein search functionality without being tied to lein
no reason it needs to be there
I don’t think maven actually has apis for this - it’s site-specific functionality iirc
(which also means they are different :)
well, maybe they’re the same then, not sure
the next level and far more interesting problem is how to connect namespaces and artifacts
Rich and I have talked about it a lot but it’s a place where Maven doesn’t really help you much
I don’t have one :)
sorry, other things I need to focus on atm
Lein now uses the Clojars api iirc. It used to download some kind of massive index which was very slow
Glad I’m not imagining that, and that it doesn’t now! It did seem plenty fast
@seancorfield trying to use clj-new with a locally installed lein template and not getting very far
@bhauman Can you be a bit more specific?
"locally installed"?
Hmm, my normal process for testing templates is to install them locally and then try to use them via new
...
Exception in thread "main" clojure.lang.ExceptionInfo: Unable to locate Clojure's edn files {:exit 1, :out "Invalid option: -Sdescribe\n", :err ""}
Ah, that's where it shells out (via tools.deps.alpha
) to run clojure -Sdescribe
...
So the error is coming from tools.deps.alpha
not being able to run that command.
If you type clojure -Sdescribe
in the folder where you are running clj-new
what do you get?
No, this isn't about deps.edn
How old is your version of clojure
?
Here's what I see in a folder without deps.edn
:
(! 665)-> clojure -Sdescribe
{:version "1.9.0.375"
:config-files ["/usr/local/Cellar/clojure/1.9.0.375/deps.edn" "/Users/sean/.clojure/deps.edn" ]
:install-dir "/usr/local/Cellar/clojure/1.9.0.375"
:config-dir "/Users/sean/.clojure"
:cache-dir "/Users/sean/.clojure/.cpcache"
:force false
:repro false
:resolve-aliases ""
:classpath-aliases ""
:jvm-aliases ""
:main-aliases ""
:all-aliases ""}
I thought -Sdescribe
had been in there for ages... 👀
@seancorfield and you are enforcing that project names are multisegment and qualified?
By popular demand, I am disallowing single-segment project names, yes. You can either use a multi-segment name or a qualified name (or both).
Some templates don't accept a qualified name -- which I consider a bug in those templates 🙂
@seancorfield it worked 🙂 but I'd like to be able to specify a single segement name like lein allows
If they don't accept a qualified name, they should accept a multi-segment name.
Yes, which is a terrible idea.
Even Phil says so.
You can always do this:
(! 666)-> clj -A:new app bhauman.core
Generating a project called bhauman.core based on the 'app' template.
Wed Jun 13 16:43:52
(sean)-(jobs:0)-(~/clojure/scratch)
(! 667)-> tree bhauman.core/
|____
| |____.gitignore
| |____.hgignore
| |____CHANGELOG.md
| |____deps.edn
| |____doc
| | |____intro.md
| |____LICENSE
| |____README.md
| |____resources
| | |____.keep
| |____src
| | |____bhauman
| | | |____core.clj
| |____test
| | |____bhauman
| | | |____core_test.clj
is (! 666)->
your bash prompt
er; I guess the last of three lines of it
Ah, yes, my crazy bash prompt... just a sec, I'll get the code for that...
#
PS1="\n\d \t\n\[\e[32;1m\](\[\e[37;1m\]\u\[\e[32;1m\])-(\[\e[37;1m\]jobs:\j\[\e[32;1m\])-(\[\e[37;1m\]\w\[\e[32;1m\])\n(\[\[\e[37;1m\]! \!\[\e[32;1m\])-> \[\e[0m\]"
@seancorfield OK well I don't see the disturbing problem with using a single segment when you are developing a webapp
Then use <whatever>.core
as your project name and you'll get what Leiningen does.
thanks I understand that, was just wanting to keep things familiar for folks who are used to doing lein new figwheel hello-world
See comments about ClojureScript in that thread, as well as Alex's comment.
You seemed to be when you complained that clj-new
disallowed them 🙂
I haven't -- yet -- disallowed them in boot-new
but I may well propose that.
Yes, and having thousands of projects with spurious .core
namespaces, just because we were all too lazy to teach beginners to name things properly, is not a great situation to be in.