318 Plugins
Phil Hagelberg edited this page 1 week ago

If you’ve created a plugin for Leiningen, please add it here!

Please note that inclusion on this list does not constitute endorsement by the Leiningen maintainers.

Development Tools

  • lein-inferv An opinionated Leiningen plugin for inferring versions from UTC timestamp and git sha
  • lein-v A leiningen plugin for integrating project versions more tightly with git. Never edit project.clj again to update a version. See the blog post.
  • lein-cljfmt A tool for formatting Clojure code
  • lein-kibit static code analysis to find more idiomatic ways to write your Clojure code.
  • lein-eastwood A Clojure linting tool that inspects Clojure code and reports possible problems.
  • lein-bikeshed Notify you if your code is bad
  • lein-check-namespace-decls Linter that checks whether your ns forms are sorted and don't include unused namespaces
  • lein-docstring-checker Linter that checks that all public vars have docstrings
  • lein-ancient Check your projects and plugins for outdated dependencies.
  • ultra A Leiningen plugin for a superior development environment
  • lein-try Try out libraries without creating a dummy project/dependency.
  • configleaf Build profiles and access to project.clj at runtime. (see also 'slothcfg', an updated fork)
  • datomic-schema-grapher A library and lein plugin for graphing datomic schemas
  • hiccup-bridge Hiccup to html, html to hiccup
  • lein-4clj An unofficial companion to 4clojure, a Clojure kata site.
  • lein-amp Leiningen plugin for generating Alfresco Module Package (AMP) files.
  • lein-annotations Displays comment annotations in your project.
  • lein-aot-filter Filtering of AOT compiled class files
  • lein-auto Automatically perform a task when source files change
  • lein-autoreload Reload your source in the background while running the repl.
  • lein-bootclasspath-deps Adding dependency to JVM bootclasspath
  • lein-capsule Capsule plugin for Leiningen
  • lein-cascade Execute cascading task dependencies
  • lein-checkall lein check && lein kibit && lein eastwood && lein bikeshed
  • lein-checkouts Build all dependency "checkouts" projects before the current project is build
  • lein-chromebuild Create chrome extensions from clojurescript
  • lein-clean-m2 Remove all artifacts from local repo not used by current project
  • lein-codeindex Index code and all project dependencies using etags, ctags or gtags
  • lein-collisions Find conflicting files on the classpath
  • lein-cooper Foreman style plugin for Leiningen for running long running dev tasks in parallel.
  • lein-cprint Like lein-pprint, but with color.
  • lein-create-template Create Leiningen templates from existing skeleton projects
  • lein-depgraph Generate a namespace dependency graph as an svg file
  • lein-dependency-check A Leiningen plugin for detecting vulnerable project dependencies
  • lein-exec Execute Clojure scripts in a project
  • lein-expand-resource-paths Expand glob patterns in :resource-paths to work alongside alternative dependency managers
  • lein-extend-cp Adds paths to the classpath
  • lein-externs Generate externs for your ClojureScript project
  • lein-cljs-externs Generate externs for your Clojurescript project, specified via metadata
  • lein-figwheel Pushes ClojureScript code changes to the client as you code
  • lein-file-replace Replace text in files with other text, possibly from a project map
  • lein-filegen Generate files from data and a template
  • lein-fore-prob Import problems from 4clojure
  • lein-git-info Generate current project and all "checkouts" projects git information to file resources/version.txt
  • lein-git-deps Pull dependencies via git
  • lein-git-version Middleware DRYs up versions by substituting version info found in git tags into project map.
  • lein-githooks Manage git hooks in project.clj.
  • lein-gitify Create and initialize Github/git in your new Leiningen projects.
  • lein-grep Improved repository searching built off the search subcommand.
  • lein-hadoop-cluster Run Leiningen tasks with the configuration necessary to access a live Hadoop cluster.
  • lein-hiera Generate namespace dependency graphs from Leiningen projects.
  • lein-idefiles Generate IDE files (Eclipse, IDEA) for Leiningen projects
  • lein-inject Inject vars into convenience namespaces for the REPL.
  • lein-instant-cheatsheet Generate a cheatsheet for your project and dependencies
  • lein-javac-resources Copy resources from :java-source-paths to compile path (hooks into lein javac)
  • lein-jdk-tools Add tools.jar to the classpath
  • lein-jshint static code analysis for JS, based on JSHint
  • lein-jslint static code analysis for JS, based on JSLint
  • lein-libdir Copy dependencies to a 'lib' folder in your project
  • lein-localrepo Work with the local Maven repository
  • lein-maven Support for maven projects in checkouts
  • lein-modules An alternative to Maven multi-module projects
  • lein-mvn Interop plugin that runs arbitrary mvn commands in an embedded Maven instance
  • lein-nevam Convert Maven pom.xml files to project.clj files
  • lein-nodecljs Support for Clojurescript on NodeJS platform
  • lein-nomis-ns-graph Shows namespace dependencies as a graph, and also shows the namespace hierarchy
  • lein-notes See inline notes from sources
  • lein-ns-dep-graph Show namespace dependencies of Clojure project sources as a graph
  • lein-nsorg Keep ns declarations lexicographically sorted
  • lein-oneoff Simplify working with one-off, single-file clojure programs
  • lein-open Open any dependency or installed jar in an editor.
  • lein-oramvn A leiningen plugin that enables retrieving dependencies from the Oracle Maven Repository
  • lein-parent Inherit properties from a parent project
  • lein-pdo Run lein tasks concurrently in parallel
  • lein-plz Add dependencies to projects quickly
  • lein-project-edn Emit project details as EDN
  • lein-re-frisk Web server for the remote debugging re-frame applications (react native, electron, web) using re-frisk-remote library
  • lein-resource Copy files and transform using stencil
  • lein-shell Run sub-processes from within Leiningen.
  • lein-sub Execute tasks on sub-projects
  • lein-sync Synchronize the shared codebase between leiningen projects
  • lein-tarsier Add a VimClojure server to your project
  • lein-teamcity Add an on-the-fly stages, artifacts and tests reporting in TeamCity
  • lein-thrush Feed the return value of one task into the input of another
  • lein-ubersource Download the source code for all of the project's (transitive) dependencies.
  • lein-vanity Lines of code statistics for vanity's sake
  • lein-var-file Creates an environment variables file. Works great with environ and useful when running Docker containers.
  • lein-marathon Generate JSON config file for marathon framework from (luminus friendly) config.edn
  • lein-vertx Develop vertx applications in clojure
  • lein-webdav Enables uploading of deployments to webdav repos
  • lein-webrepl A browser based nREPL interface
  • lein-whimrepl Start a REPL session in a Vim-targetable server for use with vim-slime.
  • io.aviso/pretty Enable formatted, colorized, readable exceptions
  • reloadable-app Leiningen template for a new component based app implementing the reloaded workflow.
  • slothcfg Build profiles and access to project.clj at runtime. Updated fork of 'configleaf'.
  • varspotting Count public Vars meeting certain criteria (holding functions, macros etc.)
  • mranderson Download and use some dependencies as source.
  • gargamel generates pretty (with links etc) changelog based on git commit messages in multiple formats
  • walmartlabs/shared-deps allow sub-modules to more easily share common dependencies
  • lein-repetition-hunter find repetitions in clojure code
  • lein-template-replace substitute templates with given values
  • lein-tools-deps tools.deps support for leiningen.
  • lein-git-revisions Automatically control Leiningen project version based on Git metadata. Supports extremely configurable version patterns and is 100% hands off after initial setup.

Compilers

Testing

Deployment

Web

  • garden-watch Watches for changes in your Garden (edn (CSS)) source files.
  • hiccup-watch Watches for changes in your Hiccup (edn (HTML)) source files.
  • lein-bower Bower web lib dependency management
  • lein-gaeshi Google App Engine webs apps using Joodo.
  • lein-gwt-plugin Runs and compiles GWT applications
  • lein-httpd Start a web server in the current directory.
  • lein-joodo Simple web app library. Tasks to create, test, generate, your code.
  • lein-karma Runs JavaScript tests with Karma
  • lein-misaki Helps you building web sites using the Misaki static site generator
  • lein-protractor Runs AngularJS e2e tests with Protractor
  • lein-ring Work with web applications using Ring
  • lein-s3-static-deploy Deploy a local directory as a static website on s3
  • lein-servlet Work with servlet-based webapps
  • lein-simpleton Serve files via http out of a local directory.
  • moarweba Get up and running with a RESTful web-server in one minute.
  • touchme Touch files when html (by example) files are modified. Can be used to update enlive templates.
  • lein-sitecompiler The plugin allows generating a static website. Supports many template engines such as Mustache, Hiccup, Cuma, Fleet, Markdown.
  • lein-tornado A plugin for fast automatic recompilation of Tornado stylesheets to generate CSS efficiently and easily.

Databases

  • clj-dynamodb-local Download and run an instance of DynamoDB Local
  • clj-sql-up A simple plugin for running SQL database migrations
  • datomic-schema-grapher A library and lein plugin for graphing datomic schemas
  • drift Create and run Rails like database migrations in Clojure
  • lein-dbmaintain DbMaintain integration for Leiningen
  • lein-embongo Create a managed/embedded instance of MongoDB during a lein build (e.g. for integration testing).
  • lein-flyway - Flyway Migration Tool ported to Leiningen
  • lein-h2 - Start a TCP mode H2 database server as part of your lein build.
  • lein-ldapimem - Create an embedded instance of unboundID's LDAP service (e.g. for testing)
  • lein-memcached - Create an embedded instance of memcached (useful for testing)
  • lein-postgres Create an embedded instance of postgres for testing and development.
  • lein-tern - DB migrations as Clojure data.
  • zookem Create a embedded instance of Zookeeper during a lein build (e.g. for integration testing)

Documentation

  • cloc Generate API docs for your project and dependencies and serve them through a local web server, with a fast Lucene full-text search.
  • codox A tool for generating API documentation from Clojure source code. (html)
  • lein-art Render Ash Ra Template (ART) templates with Clojure language processing.
  • lein-asciidoctor Generate documentation using Asciidoctor
  • lein-clique Generate a graph of dependencies between the functions in your project
  • lein-deps-table Generate CSV file of dependencies.
  • lein-html5-docs Generate HTML5 API docs
  • lein-javadoc Automatically run javadoc on the java sources in your project
  • lein-licenses List licenses of all dependencies
  • lein-licenses-file Writes the licenses of all dependencies to a file in EDN format.
  • lein-margauto Watches your source directories for changes to your clojure source files and rebuilds the Marginalia documentation whenever you update your source code
  • lein-marginalia Generate Marginalia documentation
  • lein-mustache Evaluate Mustache templates with Clojure data files (e.g. for creating templatized documentation)
  • lein-plantuml Generate UML diagrams using PlantUML
  • lein-precate Transform project.clj into Leiningen 2.x-compatible form.
  • lein-sphinx Generate documentation from reStructuredText using Sphinx.
  • lein-viz Visualize graph and tree data
  • nephila Show a graph of your Clojure namespaces
  • gargamel generates pretty (with links etc) changelog based on git commit messages in multiple formats

Deprecated

Merged into Leiningen

  • lein-javac For compiling Java source (1.4+)
  • lein-multi Run tasks against multiple dependency sets (such as multiple Clojure versions) at once (2.0+)
  • lein-newnew Next-generation lein new supporting custom project skeletons (2.0+)
  • lein-plugin Manage plugins (1.4+)
  • lein-retest Run only the test namespaces which failed last time around (1.6+)
  • lein-run Call -main functions from the command-line (1.4+)
  • lein-search Search remote repositories for artifacts (1.6+)