project.clj 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. (defproject web-client "0.1.0-SNAPSHOT"
  2. :description "FIXME: write description"
  3. :url "http://example.com/FIXME"
  4. :license {:name "Eclipse Public License"
  5. :url "http://www.eclipse.org/legal/epl-v10.html"}
  6. :dependencies [[org.clojure/clojure "_"]
  7. [ring-server "0.4.0"]
  8. [reagent "_"
  9. :exclusions [org.clojure/tools.reader]]
  10. [reagent-forms "0.5.13"]
  11. [reagent-utils "0.1.7"]
  12. [ring "1.4.0"]
  13. [ring/ring-defaults "0.1.5"]
  14. [compojure "1.4.0"]
  15. [hiccup "1.0.5"]
  16. [environ "1.0.1"]
  17. [org.clojure/clojurescript "_" :scope "provided"]
  18. [secretary "1.2.3"]
  19. [venantius/accountant "0.1.6"
  20. :exclusions [org.clojure/tools.reader]]
  21. [speclj "3.3.1"]
  22. [com.github.harlanji.clojure-stack/core "_"]
  23. [com.stuartsierra/component :component/clojure1.7+]
  24. ]
  25. :plugins [[lein-environ "1.0.1"]
  26. [lein-cljsbuild "1.1.1"]
  27. [lein-asset-minifier "0.2.4"
  28. :exclusions [org.clojure/clojure]]
  29. [speclj "3.3.1"]
  30. [lein-modules "0.3.11"]
  31. ]
  32. :ring {:handler web-client.handler/app
  33. :uberwar-name "web-client.war"}
  34. :min-lein-version "2.5.0"
  35. :uberjar-name "web-client.jar"
  36. :main web-client.server
  37. :clean-targets ^{:protect false} [:target-path
  38. [:cljsbuild :builds :app :compiler :output-dir]
  39. [:cljsbuild :builds :app :compiler :output-to]]
  40. :source-paths ["src/clj" "src/cljc"]
  41. :test-paths ["spec/clj"]
  42. :resource-paths ["resources" "target/cljsbuild"]
  43. :minify-assets
  44. {:assets
  45. {"resources/public/css/site.min.css" "resources/public/css/site.css"}}
  46. :cljsbuild {:builds {:app {:source-paths ["src/cljs" "src/cljc"]
  47. :compiler {:output-to "target/cljsbuild/public/js/app.js"
  48. :output-dir "target/cljsbuild/public/js/out"
  49. :asset-path "js/out"
  50. :optimizations :none
  51. :pretty-print true}}}}
  52. :profiles {:dev {:repl-options {:init-ns web-client.repl}
  53. :dependencies [[ring/ring-mock "0.3.0"]
  54. [ring/ring-devel "1.4.0"]
  55. [prone "1.0.1"]
  56. [lein-figwheel "0.5.0-3"
  57. :exclusions [org.clojure/core.memoize
  58. ring/ring-core
  59. org.clojure/clojure
  60. org.ow2.asm/asm-all
  61. org.clojure/data.priority-map
  62. org.clojure/tools.reader
  63. org.clojure/clojurescript
  64. org.clojure/core.async
  65. org.clojure/tools.analyzer.jvm]]
  66. [org.clojure/clojurescript "1.7.170"
  67. :exclusions [org.clojure/clojure org.clojure/tools.reader]]
  68. [org.clojure/tools.nrepl "0.2.12"]
  69. [com.cemerick/piggieback "0.2.1"]
  70. [pjstadig/humane-test-output "0.7.1"]
  71. ]
  72. :source-paths ["env/dev/clj"]
  73. :plugins [[lein-figwheel "0.5.0-3"
  74. :exclusions [org.clojure/core.memoize
  75. ring/ring-core
  76. org.clojure/clojure
  77. org.ow2.asm/asm-all
  78. org.clojure/data.priority-map
  79. org.clojure/tools.reader
  80. org.clojure/clojurescript
  81. org.clojure/core.async
  82. org.clojure/tools.analyzer.jvm]]
  83. [org.clojure/clojurescript "1.7.170"]
  84. ]
  85. :injections [(require 'pjstadig.humane-test-output)
  86. (pjstadig.humane-test-output/activate!)]
  87. :figwheel {:http-server-root "public"
  88. :server-port 3449
  89. :nrepl-port 7002
  90. :nrepl-middleware ["cemerick.piggieback/wrap-cljs-repl"
  91. ]
  92. :css-dirs ["resources/public/css"]
  93. :ring-handler web-client.handler/app}
  94. :env {:dev true}
  95. :cljsbuild {:builds {:app {:source-paths ["env/dev/cljs"]
  96. :compiler {:main "web-client.dev"
  97. :source-map true}}
  98. :test {:source-paths ["src/cljs" "src/cljc" "spec/cljs"]
  99. :compiler {:output-to "target/test.js"
  100. :optimizations :whitespace
  101. :pretty-print true}}
  102. }
  103. :test-commands {"unit" ["phantomjs" "runners/speclj" "target/test.js"]}
  104. }}
  105. :uberjar {:hooks [minify-assets.plugin/hooks]
  106. :source-paths ["env/prod/clj"]
  107. :prep-tasks ["compile" ["cljsbuild" "once"]]
  108. :env {:production true}
  109. :aot :all
  110. :omit-source true
  111. :cljsbuild {:jar true
  112. :builds {:app
  113. {:source-paths ["env/prod/cljs"]
  114. :compiler
  115. {:optimizations :advanced
  116. :pretty-print false}}}}}})