Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. ClojureScript
  3. lein-cljsbuild

lein-cljsbuild

NOASSERTIONClojure1.1.8

A Leiningen plugin for automatic ClojureScript compilation and development workflows.

GitHubGitHub
1.1k stars149 forks0 contributors

What is lein-cljsbuild?

lein-cljsbuild is a Leiningen plugin that automates the compilation of ClojureScript code into JavaScript. It solves the problem of manual compilation and JVM startup delays by providing automatic rebuilding on file changes and integrating compiler configuration directly into the Leiningen project file.

Target Audience

Clojure and ClojureScript developers using Leiningen as their build tool, particularly those working on web applications or libraries who need efficient compilation workflows.

Value Proposition

Developers choose lein-cljsbuild for its tight integration with Leiningen, eliminating the need for external build tools, and its features like parallel builds, REPL support, and testing automation that streamline ClojureScript development.

Overview

Leiningen plugin to make ClojureScript development easy.

Use Cases

Best For

  • Automating ClojureScript compilation during development
  • Configuring ClojureScript compiler options within Leiningen projects
  • Running multiple ClojureScript build configurations in parallel
  • Launching ClojureScript REPLs for interactive coding
  • Integrating ClojureScript testing into Leiningen workflows
  • Library development requiring compilation at different optimization levels

Not Ideal For

  • Projects not using Leiningen as their build tool (e.g., those based on Boot or tools.deps)
  • Teams requiring modern JavaScript toolchain integration like Webpack, Vite, or npm module bundling
  • Applications needing advanced hot-reloading or Hot Module Replacement (HMR) beyond basic file watching

Pros & Cons

Pros

Seamless Leiningen Integration

Configures ClojureScript compiler options directly in project.clj, eliminating the need for external build scripts and making development feel native to the Leiningen ecosystem.

Efficient Auto-Compilation

Watches source files and recompiles on changes with 'lein cljsbuild auto', avoiding repeated JVM startup overhead for faster iterative development, as highlighted in the README.

Parallel Build Support

Supports compiling multiple configurations simultaneously, useful for library development or different optimization levels, demonstrated in the advanced example projects.

Built-in REPL and Testing

Launches ClojureScript REPLs for interactive coding and runs external test processes, with dedicated documentation linked for seamless integration into workflows.

Cons

Hook Conflicts and Bugs

Known issues with hooks, especially for uberjar builds (issue #366), require workarounds like using :prep-tasks instead, adding complexity and potential for errors.

Ecosystem Lock-in

Tied strictly to Leiningen, making it incompatible with alternative Clojure build tools like Boot or tools.deps, which limits flexibility in modern Clojure projects.

Limited Active Maintenance

The latest version is 1.1.8 from years ago, with deprecation notes for features like crossovers, suggesting reduced updates and potential compatibility issues with newer ClojureScript versions.

Frequently Asked Questions

Quick Stats

Stars1,095
Forks149
Contributors0
Open Issues43
Last commit5 years ago
CreatedSince 2011

Tags

#javascript-compilation#development-workflow#clojurescript#build-automation#repl#leiningen-plugin#testing#clojure

Built With

C
ClojureScript
L
Leiningen

Included in

ClojureScript1.1k
Auto-fetched 22 hours ago

Related Projects

lein-figwheellein-figwheel

Figwheel builds your ClojureScript code and hot loads it into the browser as you are coding!

Stars2,875
Forks205
Last commit2 years ago
shadow-cljsshadow-cljs

ClojureScript compilation made easy

Stars2,391
Forks187
Last commit5 days ago
LumoLumo

Fast, cross-platform, standalone ClojureScript environment

Stars1,875
Forks83
Last commit4 years ago
DevcardsDevcards

Devcards aims to provide a visual REPL experience for ClojureScript

Stars1,535
Forks107
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub