project.clj 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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 "1.8.0"]
  7. [ring-server "0.4.0"]
  8. [reagent "0.5.1"
  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 "1.7.228" :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. ]
  23. :plugins [[lein-environ "1.0.1"]
  24. [lein-cljsbuild "1.1.1"]
  25. [lein-asset-minifier "0.2.4"
  26. :exclusions [org.clojure/clojure]]
  27. [speclj "3.3.1"]
  28. ]
  29. :ring {:handler web-client.handler/app
  30. :uberwar-name "web-client.war"}
  31. :min-lein-version "2.5.0"
  32. :uberjar-name "web-client.jar"
  33. :main web-client.server
  34. :clean-targets ^{:protect false} [:target-path
  35. [:cljsbuild :builds :app :compiler :output-dir]
  36. [:cljsbuild :builds :app :compiler :output-to]]
  37. :source-paths ["src/clj" "src/cljc"]
  38. :test-paths ["spec/clj"]
  39. :resource-paths ["resources" "target/cljsbuild"]
  40. :minify-assets
  41. {:assets
  42. {"resources/public/css/site.min.css" "resources/public/css/site.css"}}
  43. :cljsbuild {:builds {:app {:source-paths ["src/cljs" "src/cljc"]
  44. :compiler {:output-to "target/cljsbuild/public/js/app.js"
  45. :output-dir "target/cljsbuild/public/js/out"
  46. :asset-path "js/out"
  47. :optimizations :none
  48. :pretty-print true}}}}
  49. :profiles {:dev {:repl-options {:init-ns web-client.repl}
  50. :dependencies [[ring/ring-mock "0.3.0"]
  51. [ring/ring-devel "1.4.0"]
  52. [prone "1.0.1"]
  53. [lein-figwheel "0.5.0-3"
  54. :exclusions [org.clojure/core.memoize
  55. ring/ring-core
  56. org.clojure/clojure
  57. org.ow2.asm/asm-all
  58. org.clojure/data.priority-map
  59. org.clojure/tools.reader
  60. org.clojure/clojurescript
  61. org.clojure/core.async
  62. org.clojure/tools.analyzer.jvm]]
  63. [org.clojure/clojurescript "1.7.170"
  64. :exclusions [org.clojure/clojure org.clojure/tools.reader]]
  65. [org.clojure/tools.nrepl "0.2.12"]
  66. [com.cemerick/piggieback "0.2.1"]
  67. [pjstadig/humane-test-output "0.7.1"]
  68. ]
  69. :source-paths ["env/dev/clj"]
  70. :plugins [[lein-figwheel "0.5.0-3"
  71. :exclusions [org.clojure/core.memoize
  72. ring/ring-core
  73. org.clojure/clojure
  74. org.ow2.asm/asm-all
  75. org.clojure/data.priority-map
  76. org.clojure/tools.reader
  77. org.clojure/clojurescript
  78. org.clojure/core.async
  79. org.clojure/tools.analyzer.jvm]]
  80. [org.clojure/clojurescript "1.7.170"]
  81. ]
  82. :injections [(require 'pjstadig.humane-test-output)
  83. (pjstadig.humane-test-output/activate!)]
  84. :figwheel {:http-server-root "public"
  85. :server-port 3449
  86. :nrepl-port 7002
  87. :nrepl-middleware ["cemerick.piggieback/wrap-cljs-repl"
  88. ]
  89. :css-dirs ["resources/public/css"]
  90. :ring-handler web-client.handler/app}
  91. :env {:dev true}
  92. :cljsbuild {:builds {:app {:source-paths ["env/dev/cljs"]
  93. :compiler {:main "web-client.dev"
  94. :source-map true}}
  95. :test {:source-paths ["src/cljs" "src/cljc" "spec/cljs"]
  96. :compiler {:output-to "target/test.js"
  97. :optimizations :whitespace
  98. :pretty-print true}}
  99. }
  100. :test-commands {"unit" ["phantomjs" "runners/speclj" "target/test.js"]}
  101. }}
  102. :uberjar {:hooks [minify-assets.plugin/hooks]
  103. :source-paths ["env/prod/clj"]
  104. :prep-tasks ["compile" ["cljsbuild" "once"]]
  105. :env {:production true}
  106. :aot :all
  107. :omit-source true
  108. :cljsbuild {:jar true
  109. :builds {:app
  110. {:source-paths ["env/prod/cljs"]
  111. :compiler
  112. {:optimizations :advanced
  113. :pretty-print false}}}}}})