(defproject thi-ng-geom-starter "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url ""
  :license {:name "Eclipse Public License"
            :url "-v10.html"}

  :dependencies [[org.clojure/clojure "1.8.0"]
                 [org.clojure/clojurescript "1.8.40" :scope "provided"]
                 [thi.ng/geom "0.0.1158-SNAPSHOT"]
                 [thi.ng/domus "0.3.0-SNAPSHOT"]
                 [thi.ng/strf "0.2.2"]
                 [ring "1.4.0"]
                 [ring/ring-defaults "0.2.0"]
                 [bk/ring-gzip "0.1.1"]
                 [ring.middleware.logger "0.5.0"]
                 [compojure "1.5.0"]
                 [environ "1.0.2"]
                 [reagent "0.5.1"]]

  :plugins [[cider/cider-nrepl "0.9.1"]
            [refactor-nrepl "1.1.0"]
            [lein-cljsbuild "1.1.1"]
            [lein-environ "1.0.1"]]

  :min-lein-version "2.6.1"

  :source-paths ["src/clj" "src/cljs" "dev"]

  :test-paths ["test/clj"]

  :clean-targets ^{:protect false} [:target-path :compile-path "resources/public/js"]

  :uberjar-name "thi-ng-geom-starter.jar"

  ;; Use `lein run` if you just want to start a HTTP server, without figwheel
  :main thi-ng-geom-starter.server

  nREPL by default starts in the : main namespace , we want to start in ` user `
  ;; because that's where our development helper functions like (run) and
  ;; (browser-repl) live.
  :repl-options {:init-ns user}

  :cljsbuild {:builds
              {:app
               {:source-paths ["src/cljs"]

                :figwheel true
                ;; Alternatively, you can configure a function to run every time figwheel reloads.
                ;; :figwheel {:on-jsload "thi-ng-geom-starter.core/on-figwheel-reload"}

                :compiler {:main thi-ng-geom-starter.core
                           :asset-path "js/compiled/out"
                           :output-to "resources/public/js/compiled/thi_ng_geom_starter.js"
                           :output-dir "resources/public/js/compiled/out"
                           :source-map-timestamp true}}}}

  When running figwheel from nREPL , figwheel will read this configuration
  stanza , but it will read it without passing through leiningen 's profile
  ;; merging. So don't put a :figwheel section under the :dev profile, it will
  ;; not be picked up, instead configure figwheel here on the top level.

  :figwheel {;; :http-server-root "public"       ;; serve static assets from resources/public/
  : server - port 3449                 ; ; default
  : server - ip " 127.0.0.1 "            ; ; default
             :css-dirs ["resources/public/css"]  ;; watch and update CSS

             ;; Instead of booting a separate server on its own port, we embed
  the server ring handler inside figwheel 's http - kit server , so
             ;; assets and API endpoints can all be accessed on the same host
             ;; and port. If you prefer a separate server process then take this
  out and start the server with `  run ` .
             :ring-handler user/http-handler

  Start an nREPL server into the running figwheel process . We
             ;; don't do this, instead we do the opposite, running figwheel from
  an nREPL process , see
             ;; -figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl
  : nrepl - port 7888

             ;; To be able to open files in your editor from the heads up display
             ;; you will need to put a script on your path.
             ;; that script will have to take a file path and a line number
             ;; ie. in  ~/bin/myfile-opener
             ;; #! /bin/sh
  emacsclient -n + $ 2 $ 1
             ;;
             ;; :open-file-command "myfile-opener"

             :server-logfile "log/figwheel.log"}

  :doo {:build "test"}

  :profiles {:dev
             {:dependencies [[figwheel "0.5.2"]
                             [figwheel-sidecar "0.5.2"]
                             [com.cemerick/piggieback "0.2.1"]
                             [org.clojure/tools.nrepl "0.2.12"]]

              :plugins [[lein-figwheel "0.5.2"]
                        [lein-doo "0.1.6"]]

              :cljsbuild {:builds
                          {:test
                           {:source-paths ["src/cljs" "test/cljs"]
                            :compiler
                            {:output-to "resources/public/js/compiled/testable.js"
                             :main thi-ng-geom-starter.test-runner
                             :optimizations :none}}}}}

             :uberjar
             {:source-paths ^:replace ["src/clj"]
              :hooks [leiningen.cljsbuild]
              :omit-source true
              :aot :all
              :cljsbuild {:builds
                          {:app
                           {:source-paths ^:replace ["src/cljs"]
                            :compiler
                            {:optimizations :advanced
                             :pretty-print false}}}}}})

 Use `lein run` if you just want to start a HTTP server, without figwheel
 because that's where our development helper functions like (run) and
 (browser-repl) live.
 Alternatively, you can configure a function to run every time figwheel reloads.
 :figwheel {:on-jsload "thi-ng-geom-starter.core/on-figwheel-reload"}
 merging. So don't put a :figwheel section under the :dev profile, it will
 not be picked up, instead configure figwheel here on the top level.
 :http-server-root "public"       ;; serve static assets from resources/public/
 ; default
 ; default
 watch and update CSS
 Instead of booting a separate server on its own port, we embed
 assets and API endpoints can all be accessed on the same host
 and port. If you prefer a separate server process then take this
 don't do this, instead we do the opposite, running figwheel from
 -figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl
 To be able to open files in your editor from the heads up display
 you will need to put a script on your path.
 that script will have to take a file path and a line number
 ie. in  ~/bin/myfile-opener
 #! /bin/sh

 :open-file-command "myfile-opener"
(defproject thi-ng-geom-starter "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url ""
  :license {:name "Eclipse Public License"
            :url "-v10.html"}

  :dependencies [[org.clojure/clojure "1.8.0"]
                 [org.clojure/clojurescript "1.8.40" :scope "provided"]
                 [thi.ng/geom "0.0.1158-SNAPSHOT"]
                 [thi.ng/domus "0.3.0-SNAPSHOT"]
                 [thi.ng/strf "0.2.2"]
                 [ring "1.4.0"]
                 [ring/ring-defaults "0.2.0"]
                 [bk/ring-gzip "0.1.1"]
                 [ring.middleware.logger "0.5.0"]
                 [compojure "1.5.0"]
                 [environ "1.0.2"]
                 [reagent "0.5.1"]]

  :plugins [[cider/cider-nrepl "0.9.1"]
            [refactor-nrepl "1.1.0"]
            [lein-cljsbuild "1.1.1"]
            [lein-environ "1.0.1"]]

  :min-lein-version "2.6.1"

  :source-paths ["src/clj" "src/cljs" "dev"]

  :test-paths ["test/clj"]

  :clean-targets ^{:protect false} [:target-path :compile-path "resources/public/js"]

  :uberjar-name "thi-ng-geom-starter.jar"

  :main thi-ng-geom-starter.server

  nREPL by default starts in the : main namespace , we want to start in ` user `
  :repl-options {:init-ns user}

  :cljsbuild {:builds
              {:app
               {:source-paths ["src/cljs"]

                :figwheel true

                :compiler {:main thi-ng-geom-starter.core
                           :asset-path "js/compiled/out"
                           :output-to "resources/public/js/compiled/thi_ng_geom_starter.js"
                           :output-dir "resources/public/js/compiled/out"
                           :source-map-timestamp true}}}}

  When running figwheel from nREPL , figwheel will read this configuration
  stanza , but it will read it without passing through leiningen 's profile


  the server ring handler inside figwheel 's http - kit server , so
  out and start the server with `  run ` .
             :ring-handler user/http-handler

  Start an nREPL server into the running figwheel process . We
  an nREPL process , see
  : nrepl - port 7888

  emacsclient -n + $ 2 $ 1

             :server-logfile "log/figwheel.log"}

  :doo {:build "test"}

  :profiles {:dev
             {:dependencies [[figwheel "0.5.2"]
                             [figwheel-sidecar "0.5.2"]
                             [com.cemerick/piggieback "0.2.1"]
                             [org.clojure/tools.nrepl "0.2.12"]]

              :plugins [[lein-figwheel "0.5.2"]
                        [lein-doo "0.1.6"]]

              :cljsbuild {:builds
                          {:test
                           {:source-paths ["src/cljs" "test/cljs"]
                            :compiler
                            {:output-to "resources/public/js/compiled/testable.js"
                             :main thi-ng-geom-starter.test-runner
                             :optimizations :none}}}}}

             :uberjar
             {:source-paths ^:replace ["src/clj"]
              :hooks [leiningen.cljsbuild]
              :omit-source true
              :aot :all
              :cljsbuild {:builds
                          {:app
                           {:source-paths ^:replace ["src/cljs"]
                            :compiler
                            {:optimizations :advanced
                             :pretty-print false}}}}}})
