-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Plugins
Kevin Poalses edited this page Jan 28, 2023
·
319 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.
- 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 intolein 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.
- funcgo-lein Funcgo is a compiler that converts Functional Go into Clojure, to run on the JVM or as JavaScript.
- kotlinc-lein Compile Kotlin
- lein-aggravate Aggregate & compress .css files, general file aggregation options
- lein-antlr Generates source code from ANTLR grammars
- lein-beaver Generates source code from Beaver/JFlex grammars
- lein-cirru-sepal Compile Cirru code into Clojure subset.
- lein-cl2c Compile Chlorine (a subset of Clojure) and Hiccup to Javascript/HTML files
- lein-cljsbuild Compile ClojureScript automatically upon modification and share code between Clojure and ClojureScript
- lein-shadow Compile ClojureScript with shadow-cljs and manage JavaScript dependencies with a Node.js package manager (e.g. NPM or Yarn)
- lein-clr Automate build tasks for ClojureCLR projects on .NET and Mono
- lein-coffeescript Compile CoffeeScript
- lein-cssgenbuild Generate stylesheets from cssgen
- lein-debian Package build products and/or dependencies as Debian (.deb) packages
- lein-droid Compile Android projects
- lein-fruit Compile iOS projects
- lein-groovyc Compile Groovy
- lein-lesscss Compile Less CSS resources.
- lein-less4j Compile Less CSS using Less4j. Supports reading imports from classpath.
- lein-ragel Compile Ragel sources to Java sources
- lein-sass4clj Compile Sass using Libsass over JNA.
- lein-sassy Use Sass with Clojure.
- lein-scss Watch and compile scss files with sassc.
- lein-scalac Compile Scala
- lein-thriftc Compile Thrift
- lein-typescript Compile TypeScript
- lein-zinc Compile Scala and Java with Typesafe zinc incremental compiler.
- lein-autoexpect Watch project for changes and automatically run expectations
- lein-cloverage Generate cloverage coverage reports
- lein-cucumber Run clojure-based cucumber-jvm specifications
- org.clojars.punkisdead/lein-cucumber Run clojure-based cucumber-jvm specifications (an up to date fork of the lein-cucumber plugin)
- lein-difftest Display diffs when a test fails
- lein-expectations Run Expectations-based tests
- lein-fixtures-sql Generate sql fixtures from your db.
- lein-guzheng Branch coverage analysis usable with any testing framefork
- lein-jmh Run jmh-clojure benchmarks.
- lein-junit Run JUnit tests
- lein-midje Run Midje tests
- lein-pjotest Run test namespaces in parallel with JUnit XML output
- lein-play Play a different sound at the end of your test runs depending on whether they pass or fail
- lein-prism Auto-reload and rerun tests, works with vanilla clojure.test unlike the others mentioned here.
- lein-test-bang-bang Run each test namespace in a separate JVM
- lein-test-from Run your test namespaces, starting from a particular namespace
- lein-test-partition Partition your tests automatically, to run across multiple build nodes
-
lein-test-refresh Watch project for changes and automatically reload namespaces and run
clojure.test
tests. - remote-test-refresh Synchronize code change between local and remote repository per SSH.
- perforate Painless benchmarking with Leiningen and Criterium
- quickie Autotest clojure.test files. Filters stacktraces to skip over some of the clojure cruft.
- speclj (pronounced “speckle”) TDD/BDD framework, with auto-runner, based on rspec
- test2junit Write test results to JUnit XML format suited for creating HTML reports. Allows automation of report generation as well.
- parallel-test Run clojure.test tests in parallel with lein test style output. Supports fine grained configuration of what tests are executed in parallel, and how.
- humane-test-output Humane output for Clojure Tests. Pretty prints output, and diffs equality assertions.
- lein-pact-publish Publish generated PACTS(json) files to pact broker.
- jar-copier A Leiningen plugin to copy a jar from your dependencies into your resources.
- lein-assemble A maven-assembly like plugin for leiningen
- lein-aws A leiningen plugin to interact with Amazon Web Services
- lein-beanstalk Deploy to AWS Elastic Beanstalk
- lein-bin Generate cross-platform standalone executables of your project
- lein-binplus (Enhanced version of lein-bin) - Generate cross-platform standalone executables of your project
- lein-cloudbees Deploy clojure apps to cloudbees
- lein-clj-lambda Deploy (JVM) AWS Lambda functions
- lein-lambda An opinionated Leiningen plugin to automate AWS Lambda deployments, and a template to create projects that use it.
- lein-cljs-lambda Template, plugin & library for deploying Clojurescript functions to AWS Lambda.
- lein-daemon Run app as a daemon
- lein-deploy-deps Deploy project dependencies to a remote repository
- lein-dist Create a standalone tarball of your project source and dependencies
- lein-docker Build and push Docker images
- lein-emr Create jobflows on Amazon Elastic MapReduce.
- lein-fpm Build packages for multiple platforms (rpm, deb, etc.) using fpm
- lein-gitlab-cart A plugin to access and deploy to GitLab package registries.
- lein-heroku The official Heroku Leiningen plugin. Deploy locally built artifacts to Heroku.
- lein-heroku-deploy Simplify your Heroku deploy
- lein-immutant Manage and deploy applications to an Immutant server
- lein-init-script Generate **NIX daemon scripts for your project
- lein-jelastic Deploy to Jelastic
-
lein-launch4j Wrap your project into a Windows
.exe
from any platform. - lein-native-image Generate GraalVM native images
- lein-otf Create non-AOT uberjars
- lein-package Allows for the packaging, installing, and deploying of artifacts besides jars, or multiple artifact projects.
- lein-ping Leiningen plugin that pings websites/urls.
- lein-release Bumps your version number and deploys
-
lein-release-4digit-version Leiningen plugin that enhances
lein release
andlein change
with 4 digit version numbering schemes. - lein-runit Integration with runit, a UNIX init scheme with service supervision
- lein-runproject Run any project's -main function directly from the repository
- lein-s3-static-deploy Deploy a local directory as a static website on s3
- lein-s3-wagon-vault Pull AWS credentials for s3-wagon-private from Hashicorp Vault
- lein-set-version Sets the version number in your project.clj
- lein-sha-version Middleware to set the project version based on git SHA
- lein-git-inject Middleware to set the project version based on the latest Git tag
- lein-sitemap Plugin for resubmitting sitemaps to Google Webmaster Tools.
- lein-tar Create a tarball of your project and its dependencies, formerly lein-release
- lein-zip Create a ZIP file
- lein-uberimage Create a docker image with your project's uberjar
- lein-version-spec Set the version number of your project according to rules
- lein-wagon-ssh-external Use the apache wagon-ssh-external provider
- lein-worker Upload worker jars to IronWorker
- record-deps Save and optionally check the dependency tree in a resource file
- 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.
- 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)
- 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
-
fw1-template Create FW/1 projects (use
lein new fw1 myapp
instead) -
lein-clojars Deploy to Clojars (use
lein deploy clojars
instead) - lein-idea Generates Intellij IDEA project files
- lein-midje-lazytest Run Midje/Clojure tests on top of lazytest (Just a meta-package!)
-
lein-noir Create and manage Noir projects (use
new
task) - lein-outdated List newer available versions of dependencies (use lein-ancient instead)
- lein-swank Launch a Swank server for Emacs integration (nrepl or ritz is recommended)
- 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+)