Skip to content

practicalli/clojure-webapp-hotload-libraries

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published