practicalli / clojure-webapp-hotload-libraries

REPL driven development with hot loading of libraries to build a very simple web application server using http-kit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TO BE DEPRECATED

Clojure 1.12.x includes the add-libs function directly and the clojure.tools.deps.alpha library approach is deprecated.

The approach used in this repository will still work for Clojure 1.11.x, although will eventually be replaced by a Clojure 1.12.x version.

Clojure REPL driven development with hotload of libraries

REPL driven development with hot-loading of Libraries

A simple web application server that is created using REPL driven development and hot-loading of libraries using clojure.tools.deps.alpha

NOTE: clojure.tools.deps.alpha.repl/add-libs design is not finalized and may change at any time without notice. If hot-loading stops working, check the GitHub project for changes.

Usage

Start a REPL using the :repl/reloaded alias from practicalli/clojure-deps-edn user-level configuration

With Rebel Readline Terminal REPL UI with nREPL support:

clojure -M:repl/reloaded

Alternatively, use :dev/reloaded or :lib/hotload aliases with any clojure command to start a REPL

Open the src/practicalli/hot_loading.clj file and evaluate each expression in turn that is contained within the (comment ,,,) rich commend block.

Alternatively, use the deps.edn project configuration file to hotload libraries.

Use cases to explore

  1. building a web application and wish to try different html generation libraries, hiccup and sablono. Hot load each of these libraries and try them out with the existing web application server.

License

Copyright © 2021 Practicalli

Distributed under the Creative Commons Attribution Share-Alike 4.0 International

About

REPL driven development with hot loading of libraries to build a very simple web application server using http-kit


Languages

Language:Clojure 100.0%