project.clj 6.3 KB

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