update dependencies. switch from immutant to http-kit

yowza, long time to go without updating dependencies. tried shadow-cljs
but i am not a fan of that thing AT ALL, so we'll stick with figwheel
and cljsbuild for now.
This commit is contained in:
Gered 2021-06-11 12:44:03 -04:00
parent 190e6abda5
commit 3b4df67329
3 changed files with 41 additions and 27 deletions

View file

@ -1,21 +1,21 @@
(defproject {{name}} "0.1.0-SNAPSHOT"
:dependencies [[cljsjs/bootstrap "3.3.6-1"]
[compojure "1.6.0"]
[environ "1.1.0"]
:dependencies [[cljsjs/react "17.0.2-0"]
[cljsjs/react-dom "17.0.2-0"]
[compojure "1.6.2"]
[environ "1.2.0"]
[hiccup "1.0.5"]
[org.clojure/clojure "1.8.0"]
[org.clojure/clojurescript "1.9.908"]
[org.immutant/web "2.1.9"]
[org.webjars/bootstrap "3.3.6"]
[reagent "0.7.0"]
[ring "1.6.2"]
[org.clojure/clojure "1.10.3"]
[org.clojure/clojurescript "1.10.866"]
[http-kit "2.5.3"]
[reagent "1.1.0"]
[ring "1.9.3"]
[ring-webjars "0.2.0"]
[ring/ring-defaults "0.3.1" :exclusions [javax.servlet/servlet-api]]]
[ring/ring-defaults "0.3.2" :exclusions [javax.servlet/servlet-api]]]
:plugins [[lein-cljsbuild "1.1.7"]
[lein-environ "1.1.0"]
[lein-figwheel "0.5.13"]]
:plugins [[lein-cljsbuild "1.1.8"]
[lein-environ "1.2.0"]
[lein-figwheel "0.5.20"]]
:main {{root-ns}}.server
@ -39,11 +39,11 @@
:profiles {:dev {:env {:dev? true}
:source-paths ["env/dev/src"]
:dependencies [[figwheel-sidecar "0.5.13"]
[org.clojure/tools.nrepl "0.2.13"]
[com.cemerick/piggieback "0.2.2"]]
:figwheel {:nrepl-port 7000
:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}
:dependencies [[figwheel-sidecar "0.5.20"]
[nrepl "0.8.3"]
[cider/piggieback "0.5.2"]]
:repl-options {:nrepl-middleware [cider.piggieback/wrap-cljs-repl]}
:figwheel {:nrepl-port 7000}
:cljsbuild {:builds {:app
{:source-paths ["src" "env/dev/src"]}}}}

View file

@ -1,14 +1,16 @@
(ns {{root-ns}}.client
(:require
[reagent.core :as r]))
[reagent.dom :as rd]))
(defn main-app-component
[]
[:h1 "Hello, world!"])
[:div
[:h1 "Hello, world!"]
[:p "This is my Clojure web app."]])
(defn reload
[]
(r/render-component [main-app-component] (.getElementById js/document "app")))
(rd/render [main-app-component] (.getElementById js/document "app")))
(defn ^:export run
[]

View file

@ -6,12 +6,14 @@
[environ.core :refer [env]]
[hiccup.element :refer [javascript-tag]]
[hiccup.page :refer [html5 include-css include-js]]
[immutant.web :as immutant]
[org.httpkit.server :as httpkit]
[ring.middleware.defaults :refer [wrap-defaults site-defaults]]
[ring.middleware.reload :refer [wrap-reload]]
[ring.middleware.webjars :refer [wrap-webjars]]
[ring.util.response :refer [response]]))
(defonce http-server (atom nil))
(defn render-home-page
[]
(html5
@ -20,7 +22,6 @@
[:meta {:http-equiv "X-UA-Compatible" :content "IE-edge"}]
[:meta {:name "viewport" :content "width=device-width, initial-scale=1"}]
[:title "{{name}} :: Home Page"]
(include-css "/assets/bootstrap/css/bootstrap.min.css")
(include-css "css/app.css")
(include-js "cljs/app.js")]
[:body
@ -33,15 +34,26 @@
(route/not-found "not found")))
(def handler
(as-> app-routes h
(as-> #'app-routes h
(if (:dev? env) (wrap-reload h) h)
(wrap-defaults h (assoc-in site-defaults [:security :anti-forgery] false))
(wrap-webjars h)))
(defn run-server
(defn stop-server!
[]
(immutant/run handler {:port 8080}))
(when-not (nil? @http-server)
(println "http-kit server stopping ...")
(httpkit/server-stop! @http-server)
(reset! http-server nil)))
(defn start-server!
[]
(let [config {:port 8080
:legacy-return-value? false}]
(reset! http-server (httpkit/run-server #'handler config))
(println "http-kit server status:" (httpkit/server-status @http-server) " port:" (httpkit/server-port @http-server))
@http-server))
(defn -main
[& args]
(run-server))
(start-server!))