You can't wrap it with your own scripting because compiling is too slow. That's the essential problem, Leiningen has to be the center of your workflow. There's no other (meaningfully productive) way.
What I dislike is the need to run a background task per-project, every time I work on the project. What I would like is either:
1) Faster (sub 500ms) compile times so that I can flexibly use a workflow I prefer.
2) A "Leiningen daemon" that runs when I start my computer and automatically compiles any project.clj files that exist.
3) ClojureScript to build in the browser, so that my workflow can be any text editor + refresh the browser.
Leiningen plugins cannot give me any of those things, correct?
Fast JVM startup is possible with a preloader like Nailgun. A Leiningen daemon is very easy to create. lein-cljsbuild automatically generates ClojureScript so you can use any editor and refresh your browser.
The JVM way of doing things is different but not inferior. You extend Leiningen with Leiningen plugins written in JVM languages, not with external tools. Yes, you can do everything you would ever want to do.
> Fast JVM startup is possible with a preloader like Nailgun.
This has never worked for me with Clojure. I'd enjoy a more specific example.
> A Leiningen daemon is very easy to create.
Could you explain more? I specifically want 1 Lein daemon for all projects, not 1 per project. I want to be able to create new projects on the fly. I only want this feature because the ClojureScript build process is too slow to do on demand.
What I dislike is the need to run a background task per-project, every time I work on the project. What I would like is either:
1) Faster (sub 500ms) compile times so that I can flexibly use a workflow I prefer.
2) A "Leiningen daemon" that runs when I start my computer and automatically compiles any project.clj files that exist.
3) ClojureScript to build in the browser, so that my workflow can be any text editor + refresh the browser.
Leiningen plugins cannot give me any of those things, correct?