Lambone (/lamˈbone/) is an project template for bare backend + frontend projects.
It proudly features boot and does not at the moment generate a Leiningen
project.clj
.
The backend is materialized by default, with +frontend
enabling both. This
division is present throughout the project, from boot dependencies
(backend-deps
vs frontend-deps
in build.boot
) to source files
organization (src/backend
vs src/frontend
).
It is bare in the sense that it does not include anything more than:
-
Backend
-
Frontend
Why would you want to use lambone
then?
This template does not want by any means to compete against Luminus, which the current maintainer is actually trying to enhance with boot support, but it does provide a couple of neat features that you can setup by yourself but are a bit cumbersome to remember every time you bootstrap a project:
- Three ready to use
boot build
,boot dev
andboot test
tasks boot dev
with no option launches two Repl instances within the same JVM- Easy to configure, flavor-like
boot
task configuration through multi-methods and-f|--flavor
option - Consistent hooks for taming Java logging and redirect all of it to log4j2
- Canonical reload workflow and browser refreshing
- Ready to use test harness (you only need to have PhantomJS on the target machine)
- Switch from a Clojurescript Repl to a Dirac Repl at will (
-d/--dirac
option to thedev
task) - Dependency hotload (backend only at the moment)
Don't skip reading the README once the project has been created to know more.
Very simply:
lein new lambone <project-name>
Or:
lein new lambone <project-name> +frontend
While boot-new
users can:
boot -d seancorfield/boot-new new -t lambone -n <project-name>
Or:
boot -d seancorfield/boot-new new -t lambone -n <project-name> -a +frontend
The authors and contributors of the following paved the way magnificently:
Copyright © 2016 Scalac Sp. z o.o.
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.