Added Luminus re-frame profile

This commit is contained in:
Simon Brooke 2020-01-24 09:55:20 +00:00
parent 0b4a7fafdd
commit ca72a63199
41 changed files with 1114 additions and 0 deletions

View file

@ -0,0 +1,11 @@
(ns datamapper.dev-middleware
(:require
[ring.middleware.reload :refer [wrap-reload]]
[selmer.middleware :refer [wrap-error-page]]
[prone.middleware :refer [wrap-exceptions]]))
(defn wrap-dev [handler]
(-> handler
wrap-reload
wrap-error-page
(wrap-exceptions {:app-namespaces ['datamapper]})))

15
env/dev/clj/datamapper/env.clj vendored Normal file
View file

@ -0,0 +1,15 @@
(ns datamapper.env
(:require
[selmer.parser :as parser]
[clojure.tools.logging :as log]
[datamapper.dev-middleware :refer [wrap-dev]]))
(def defaults
{:init
(fn []
(parser/cache-off!)
(log/info "\n-=[datamapper started successfully using the development profile]=-"))
:stop
(fn []
(log/info "\n-=[datamapper has shut down successfully]=-"))
:middleware wrap-dev})

12
env/dev/clj/datamapper/figwheel.clj vendored Normal file
View file

@ -0,0 +1,12 @@
(ns datamapper.figwheel
(:require [figwheel-sidecar.repl-api :as ra]))
(defn start-fw []
(ra/start-figwheel!))
(defn stop-fw []
(ra/stop-figwheel!))
(defn cljs []
(ra/cljs-repl))

33
env/dev/clj/user.clj vendored Normal file
View file

@ -0,0 +1,33 @@
(ns user
"Userspace functions you can run by default in your local REPL."
(:require
[datamapper.config :refer [env]]
[clojure.pprint]
[clojure.spec.alpha :as s]
[expound.alpha :as expound]
[mount.core :as mount]
[datamapper.figwheel :refer [start-fw stop-fw cljs]]
[datamapper.core :refer [start-app]]))
(alter-var-root #'s/*explain-out* (constantly expound/printer))
(add-tap (bound-fn* clojure.pprint/pprint))
(defn start
"Starts application.
You'll usually want to run this on startup."
[]
(mount/start-without #'datamapper.core/repl-server))
(defn stop
"Stops application."
[]
(mount/stop-except #'datamapper.core/repl-server))
(defn restart
"Restarts application."
[]
(stop)
(start))

19
env/dev/cljs/datamapper/app.cljs vendored Normal file
View file

@ -0,0 +1,19 @@
(ns^:figwheel-no-load datamapper.app
(:require
[datamapper.core :as core]
[cljs.spec.alpha :as s]
[expound.alpha :as expound]
[devtools.core :as devtools]))
(extend-protocol IPrintWithWriter
js/Symbol
(-pr-writer [sym writer _]
(-write writer (str "\"" (.toString sym) "\""))))
(set! s/*explain-out* expound/printer)
(enable-console-print!)
(devtools/install!)
(core/init!)

1
env/dev/resources/config.edn vendored Normal file
View file

@ -0,0 +1 @@
{}

34
env/dev/resources/logback.xml vendored Normal file
View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<charset>UTF-8</charset>
<pattern>%date{ISO8601} [%thread] %-5level %logger{36} - %msg %n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>log/datamapper.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/datamapper.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 30 days of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%date{ISO8601} [%thread] %-5level %logger{36} - %msg %n</pattern>
</encoder>
</appender>
<logger name="org.apache.http" level="warn" />
<logger name="org.xnio.nio" level="warn" />
<logger name="org.eclipse.jetty" level="warn" />
<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>