This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-02-22
Channels
- # aws-lambda (2)
- # beginners (195)
- # boot (47)
- # capetown (14)
- # cljs-dev (7)
- # cljsjs (1)
- # cljsrn (1)
- # clojure (103)
- # clojure-berlin (28)
- # clojure-dev (92)
- # clojure-dusseldorf (3)
- # clojure-finland (2)
- # clojure-germany (3)
- # clojure-italy (4)
- # clojure-russia (37)
- # clojure-spec (104)
- # clojure-uk (52)
- # clojured (2)
- # clojurescript (124)
- # community-development (7)
- # core-async (6)
- # cursive (41)
- # datomic (53)
- # dirac (2)
- # emacs (16)
- # hoplon (5)
- # jobs (3)
- # juxt (12)
- # lein-figwheel (6)
- # leiningen (15)
- # luminus (3)
- # off-topic (49)
- # om (5)
- # onyx (13)
- # overtone (27)
- # re-frame (7)
- # reagent (46)
- # ring (3)
- # ring-swagger (11)
- # spacemacs (2)
- # specter (40)
- # sql (6)
- # untangled (149)
- # vim (14)
I have a boot config via serve / cljs-repl / cljs / watch / target working perfectly fine for client side development. Now, I need to write my server side, in python. Is there a way to have my python code serve the boot cljs/js files in such a way that: (1) the client code can make api calls relative to the python code (2) boot-serve runs on 3000, python server on port 8000, and the js side still reloads
@qqq show -f
(or any other show
really) can be dropped in at any point in a pipeline of tasks where you want more information about what the fileset is at that point.
@geoffs: my confusion was not mapping "show -f" to (show :fileset true), which is what I need to use in the clj files
here's a dumb question:
(aot :all ture ...) (show :fileset true)
(jar :project ...) (show :fileset true)
so this outputs the jar file (good) but also the class files (bad)
is there a wya to say "generate for me the jar file -- and then ignore the old class files" ?@qqq there’s the sift
task and I think it has an option to filter out/remove files from the fileset
boot sift --help
for details
@martinklepsch : there's an optino to move based on regexp, but I don't see any to delete
I ended up creating a "build" directory, and moving all the important ones into a specific directory (and leaving the rest in another useless directory)
Oh, right, it’s a bit convoluted: you’ll need to combine the :include
and :invert
options
by combining it with invert you should be able to effectively turn it into :remove
when /src contains both server and client code, how do I setup boot? can I , with a single (comp (watch) ... ) generate both (aot) and (cljs) .... or do I need to weparate watch ?
you can do both in one watch cycle. Not sure why you’d want to do AOT during watch though?
server side is GAE, so I need to genrate *.classes and move it into google's dev_appserver.sh
do you do that on every file change during dev? @qqq
@martinklepsch : cpu cycles are basically free; what else would you use cpu cycles for?
@qqq if you consider the time those cycles need free as well 😉
@qqq I’d always optimize for fast compile cycles, especially when doing frontend work it’s incredibly nice to have a tight feedback loop
@martinklepsch : ah, you also do recompile every save -- but you're saying "only recompile client code", "don't recompile server code" on every save?
It sounded like you recompile server code that you’re not using right away, i.e. only upload to GAE later on… I’d avoid that and instead only recompile the code I need right in that moment.
could be I misunderstood but most dev setups I know don’t need AOT
does anyone use a workaround for Boot with Cursive that does not involve custom code in the project itself? the existing solution requires a dependency in each repo: https://github.com/boot-clj/boot/wiki/For-Cursive-Users
thinking about implementing a boot
wrapper so this can happen locally instead of in the repo
I know that :resource-paths can be set via set-env! however, can I reset it in side a task?
@rads I don’t think there’s any way to do that, unfortunately. Boot is fundamentally not very amenable to static analysis. Even the eventual Cursive integration will probably require writing a task to return project information back to the IDE.
I’m using ring-middleware-defaults to serve static assets from the public
subdirectory of resources
. I’m also using boot-reload
. My main.cljs.edn
file is locaded in resources/public
. The initial load works fine, but reloading does not, because boot-reload prepends public
to the url of the js files. Is there a way to tell boot-reload to not prepend public
or to serve public files from a /public
url path? I couldn’t find anything in the boot-reload or ring documentation. Thanks!
inside a task, at the very start, I need to do a (set-env! :resource-paths) since for two different tasks, I need two diferent resource-paths
if there's a runtime hook that's fine as long as the hook is instead declared in the developer's local config rather than the project repo
that's why I mentioned a boot
wrapper script because that code would live as a standalone thing instead of being duplicated as a dependency in every boot project
^ maybe this sounds obvious, but the code could go in profile.boot