Plugins

fourtytoo edited this page Sep 28, 2018 · 298 revisions

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-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-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-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.

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.

Databases

  • 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-dynamodb-local Download and run an instance of DynamoDB Local
  • 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-asciidoctor Generate documentation using Asciidoctor
  • lein-clique Generate a graph of dependencies between the functions in your project
  • 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-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+)
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.