Browse code

Merge branch 'feat/version-string'

Add embedder version string.

Closes #45.

Joseph Weston authored on 08/12/2021 03:49:14
Showing 4 changed files
... ...
@@ -11,6 +11,7 @@
11 11
   [garden "1.3.10"]
12 12
   [net.dhleong/spade "1.1.0"]
13 13
 
14
+  [day8/shadow-git-inject "0.0.5"]
14 15
   [binaryage/devtools "1.0.3"]
15 16
   [day8.re-frame/re-frame-10x "1.2.0"]
16 17
   [cider/cider-nrepl "0.26.0"]
... ...
@@ -25,6 +26,7 @@
25 26
   {:target     :browser
26 27
    :output-dir "resources/public/js/compiled"
27 28
    :asset-path "/js/compiled"
29
+   :build-hooks [(shadow-git-inject.core/hook)]
28 30
    :modules
29 31
    {:app {:init-fn dmr.core/init}}
30 32
    :devtools
... ...
@@ -32,9 +34,13 @@
32 34
    :dev
33 35
    {:compiler-options
34 36
     {:closure-defines
35
-     { re-frame.trace.trace-enabled? true
36
-      day8.re-frame.tracing.trace-enabled? true}}}
37
+     {re-frame.trace.trace-enabled? true
38
+      day8.re-frame.tracing.trace-enabled? true
39
+      dmr.config/version :shadow-git-inject/version}}}
37 40
    :release
38
-   {:build-options
41
+   {:compiler-options
42
+     {:closure-defines
43
+      {dmr.config/version :shadow-git-inject/version}}
44
+    :build-options
39 45
     {:ns-aliases
40 46
      {day8.re-frame.tracing day8.re-frame.tracing-stubs}}}}}}
... ...
@@ -1,4 +1,8 @@
1
-(ns dmr.config)
1
+(ns dmr.config
2
+  (:require [cljs.core :refer [goog-define]]))
2 3
 
3 4
 (def debug?
4 5
   ^boolean goog.DEBUG)
6
+
7
+; This will be filled in at compile time by shadow-git-inject
8
+(goog-define ^String version "-- no version --")
... ...
@@ -73,6 +73,9 @@
73 73
 (defclass main-panel []
74 74
     {:width :88ch})
75 75
 
76
+(defclass footer []
77
+    {:font-size :0.75rem})
78
+
76 79
 (defclass history-style []
77 80
   {:list-style-type :none
78 81
    :padding 0}
... ...
@@ -3,6 +3,7 @@
3 3
    [re-frame.core :as re-frame]
4 4
    [clojure.string :as string]
5 5
    [goog.string :as gstr]
6
+   [dmr.config :as config]
6 7
    [dmr.styles :as styles]
7 8
    [dmr.subs :as subs]
8 9
    [dmr.events :as events]))
... ...
@@ -284,7 +285,11 @@
284 285
       (for [[index item] (enumerated @history)]
285 286
         ^{:key index} [:li [input (item :input)] [output (item :output)]])]))
286 287
 
288
+(defn footer []
289
+  [:footer {:class (styles/footer)}
290
+   [:span.version (spaced "version:" config/version)]])
291
+
287 292
 (defn main-panel []
288 293
   [:div {:class (styles/screen)}
289 294
    [:div {:class (styles/main-panel)}
290
-    [title] [history] [prompt]]])
295
+    [title] [history] [prompt] [footer]]])