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:
parent
190e6abda5
commit
3b4df67329
|
@ -1,21 +1,21 @@
|
||||||
(defproject {{name}} "0.1.0-SNAPSHOT"
|
(defproject {{name}} "0.1.0-SNAPSHOT"
|
||||||
|
|
||||||
:dependencies [[cljsjs/bootstrap "3.3.6-1"]
|
:dependencies [[cljsjs/react "17.0.2-0"]
|
||||||
[compojure "1.6.0"]
|
[cljsjs/react-dom "17.0.2-0"]
|
||||||
[environ "1.1.0"]
|
[compojure "1.6.2"]
|
||||||
|
[environ "1.2.0"]
|
||||||
[hiccup "1.0.5"]
|
[hiccup "1.0.5"]
|
||||||
[org.clojure/clojure "1.8.0"]
|
[org.clojure/clojure "1.10.3"]
|
||||||
[org.clojure/clojurescript "1.9.908"]
|
[org.clojure/clojurescript "1.10.866"]
|
||||||
[org.immutant/web "2.1.9"]
|
[http-kit "2.5.3"]
|
||||||
[org.webjars/bootstrap "3.3.6"]
|
[reagent "1.1.0"]
|
||||||
[reagent "0.7.0"]
|
[ring "1.9.3"]
|
||||||
[ring "1.6.2"]
|
|
||||||
[ring-webjars "0.2.0"]
|
[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"]
|
:plugins [[lein-cljsbuild "1.1.8"]
|
||||||
[lein-environ "1.1.0"]
|
[lein-environ "1.2.0"]
|
||||||
[lein-figwheel "0.5.13"]]
|
[lein-figwheel "0.5.20"]]
|
||||||
|
|
||||||
:main {{root-ns}}.server
|
:main {{root-ns}}.server
|
||||||
|
|
||||||
|
@ -39,11 +39,11 @@
|
||||||
|
|
||||||
:profiles {:dev {:env {:dev? true}
|
:profiles {:dev {:env {:dev? true}
|
||||||
:source-paths ["env/dev/src"]
|
:source-paths ["env/dev/src"]
|
||||||
:dependencies [[figwheel-sidecar "0.5.13"]
|
:dependencies [[figwheel-sidecar "0.5.20"]
|
||||||
[org.clojure/tools.nrepl "0.2.13"]
|
[nrepl "0.8.3"]
|
||||||
[com.cemerick/piggieback "0.2.2"]]
|
[cider/piggieback "0.5.2"]]
|
||||||
:figwheel {:nrepl-port 7000
|
:repl-options {:nrepl-middleware [cider.piggieback/wrap-cljs-repl]}
|
||||||
:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}
|
:figwheel {:nrepl-port 7000}
|
||||||
:cljsbuild {:builds {:app
|
:cljsbuild {:builds {:app
|
||||||
{:source-paths ["src" "env/dev/src"]}}}}
|
{:source-paths ["src" "env/dev/src"]}}}}
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
(ns {{root-ns}}.client
|
(ns {{root-ns}}.client
|
||||||
(:require
|
(:require
|
||||||
[reagent.core :as r]))
|
[reagent.dom :as rd]))
|
||||||
|
|
||||||
(defn main-app-component
|
(defn main-app-component
|
||||||
[]
|
[]
|
||||||
[:h1 "Hello, world!"])
|
[:div
|
||||||
|
[:h1 "Hello, world!"]
|
||||||
|
[:p "This is my Clojure web app."]])
|
||||||
|
|
||||||
(defn reload
|
(defn reload
|
||||||
[]
|
[]
|
||||||
(r/render-component [main-app-component] (.getElementById js/document "app")))
|
(rd/render [main-app-component] (.getElementById js/document "app")))
|
||||||
|
|
||||||
(defn ^:export run
|
(defn ^:export run
|
||||||
[]
|
[]
|
||||||
|
|
|
@ -6,12 +6,14 @@
|
||||||
[environ.core :refer [env]]
|
[environ.core :refer [env]]
|
||||||
[hiccup.element :refer [javascript-tag]]
|
[hiccup.element :refer [javascript-tag]]
|
||||||
[hiccup.page :refer [html5 include-css include-js]]
|
[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.defaults :refer [wrap-defaults site-defaults]]
|
||||||
[ring.middleware.reload :refer [wrap-reload]]
|
[ring.middleware.reload :refer [wrap-reload]]
|
||||||
[ring.middleware.webjars :refer [wrap-webjars]]
|
[ring.middleware.webjars :refer [wrap-webjars]]
|
||||||
[ring.util.response :refer [response]]))
|
[ring.util.response :refer [response]]))
|
||||||
|
|
||||||
|
(defonce http-server (atom nil))
|
||||||
|
|
||||||
(defn render-home-page
|
(defn render-home-page
|
||||||
[]
|
[]
|
||||||
(html5
|
(html5
|
||||||
|
@ -20,7 +22,6 @@
|
||||||
[:meta {:http-equiv "X-UA-Compatible" :content "IE-edge"}]
|
[:meta {:http-equiv "X-UA-Compatible" :content "IE-edge"}]
|
||||||
[:meta {:name "viewport" :content "width=device-width, initial-scale=1"}]
|
[:meta {:name "viewport" :content "width=device-width, initial-scale=1"}]
|
||||||
[:title "{{name}} :: Home Page"]
|
[:title "{{name}} :: Home Page"]
|
||||||
(include-css "/assets/bootstrap/css/bootstrap.min.css")
|
|
||||||
(include-css "css/app.css")
|
(include-css "css/app.css")
|
||||||
(include-js "cljs/app.js")]
|
(include-js "cljs/app.js")]
|
||||||
[:body
|
[:body
|
||||||
|
@ -33,15 +34,26 @@
|
||||||
(route/not-found "not found")))
|
(route/not-found "not found")))
|
||||||
|
|
||||||
(def handler
|
(def handler
|
||||||
(as-> app-routes h
|
(as-> #'app-routes h
|
||||||
(if (:dev? env) (wrap-reload h) h)
|
(if (:dev? env) (wrap-reload h) h)
|
||||||
(wrap-defaults h (assoc-in site-defaults [:security :anti-forgery] false))
|
(wrap-defaults h (assoc-in site-defaults [:security :anti-forgery] false))
|
||||||
(wrap-webjars h)))
|
(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
|
(defn -main
|
||||||
[& args]
|
[& args]
|
||||||
(run-server))
|
(start-server!))
|
||||||
|
|
Loading…
Reference in a new issue