This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-06-23
Channels
- # bangalore-clj (1)
- # beginners (23)
- # boot (90)
- # cljs-dev (133)
- # cljsrn (5)
- # clojure (104)
- # clojure-austin (1)
- # clojure-belgium (2)
- # clojure-dev (12)
- # clojure-gamedev (4)
- # clojure-italy (2)
- # clojure-russia (6)
- # clojure-spec (30)
- # clojure-uk (117)
- # clojurescript (197)
- # core-async (25)
- # cursive (9)
- # datomic (95)
- # devops (1)
- # dirac (49)
- # emacs (1)
- # hoplon (3)
- # immutant (10)
- # lein-figwheel (2)
- # luminus (5)
- # off-topic (43)
- # pedestal (1)
- # protorepl (1)
- # re-frame (13)
- # sql (5)
- # untangled (1)
cjhowe: No. No more than there is a list of lein-new
templates, I’m afraid.
boot-new
has Boot-specific versions of the same built-in templates that lein new
has, but beyond that you’ll get whatever the Boot or Leiningen template has.
This is probably the easiest way to find Boot-specific templates: https://clojars.org/search?q=boot-template — a wiki page would always be out of date.
But all of these Leiningen templates should also work with boot-new
too: https://clojars.org/search?q=lein-template
@cjhowe boot-new
is compatible with lein template so you can use any of them
no it will generate whatever is in the template
@cjhowe templates like https://github.com/Lambda-X/lambone are boot only
but depends from template to template
This is probably the easiest way to find Boot-specific templates: https://clojars.org/search?q=boot-template — a wiki page would always be out of date.
But all of these Leiningen templates should also work with boot-new
too: https://clojars.org/search?q=lein-template
I have :source-paths #{"src/clj" "src/cljs" "src/cljc"}
and :resource-paths #{"resources"}
in my build.boot, and apparently that's not okay - I get java.lang.AssertionError: Assert failed: The :source-paths, :resource-paths, and :asset-paths must not overlap. (empty? (set/intersection paths parents))
.
What's the recommended solution for this?
that should be ok, is it possible there’s more stuff added to source/resource-paths later on?
@dm3 Also, I have boot-lein, and it writes a project.clj
with exactly those four paths.
Is there something else I need to do to get boot-reload working besides (comp ... (reload :ip "0.0.0.0" :port 9999 :on-jsload 'myapp.core/init) (cljs) ...)
?
I've got that set up, and the browser is making the WS connection, I see 'Reload socket connected', but when I change CLJS files, nothing happens
@pandeiro the :on-jsload
should go in a main.cljs.edn
and yes after watch
you can also try boot-figreload
if you want 😄
is there any equivalent to https://github.com/nilswloka/lein-cucumber for boot?
Hi! I'm trying to tweak cljs-repl-web, and I broke it. It's got a 'dev' task that serves up files to the browser. I added a symlink to a directory with more files I want available in the browser, but now I get a stacktrace from boot that I don't comprehend at all. Shall I paste it somewhere?
@chouser the dev
task should serve it without symlinks but does not materialize it
because boot does not materialize in target
by default
so you can either build it and serve it yourself or use boot dev
to have it served on 3000
Hm... ok, I just now got past my exception by commenting out this line: https://github.com/Lambda-X/cljs-repl-web/blob/0dabe8ff18d8c0f4ae6c9f052dc23eb1f5ad262c/build.boot#L157
well that file should be there 😄
but it is not super important
But the things you're saying are surely still relevant because although I'm not getting an error, the files under my symlink are still not available over http.
yeah because boot-http
serves the fileset
so boot has an abstraction over the filesystem (the fileset)
all the tasks create and modify that instead of stuff in your project
no well it should be, the files are added as :source-paths
or :resource-paths
and boot-http
should serve them
not sure about symlinks though (I have never tried)
is it a separate folder?
if it is static asset, it should probably go in resources/public
it looks like resources/public/ is already in :resource-paths, and I put a symlink from resources/public/b to the directory of stuff I want.
yeah, that is my only doubt, what if you copy?
yeah, so prolly there is a problem there with symlinks
well....yeah...
no problem, it is my baby, let me know if you need further help 😉
the directory in question is a subdir of javascript from a third-party git repo. I was thinking I'd include that project via git submodules and then symlink from resources to just the part I need.
...perhaps the right way would be to have a separate item in :resource-paths that point directly to the subdir I want, instead of trying to graft it into resources/pubilc via cp or link?
you know, I was assuming that symlink would work
you can add any additional folder in resource-paths
but keep in mind that it will be served starting from ./
I really don't know the details of that...I should dig into it, maybe an issue in boot would be good
you mean an additional folder?
yes I was going to suggest what pandeiro is going to say 😄
Can I add that to resource-paths
in some way that will cause "Babylon.js/dist/preview release/foo.js" to be available via http as "/babylon/foo.js"?
@chouser In that repo you mention, if you were to add :dir "name-of-dir-with-your-symlink"
to the (serve)
part...
:dir
might be a better option here
This build.boot
file I'm tweaking has a bunch of other stuff in it, perhaps for packaging up a standalone something (though I'm not sure about that). If I want this dir of js to be included, (serve ... :dir)
won't work, right? I'd want to stick with resource-paths
or something instead?