2016-10-24 21:08:31 +00:00
|
|
|
(defproject datomish "0.2.0-SNAPSHOT"
|
2016-07-05 19:05:49 +00:00
|
|
|
:description "A persistent, embedded knowledge base inspired by Datomic and DataScript."
|
|
|
|
:url "https://github.com/mozilla/datomish"
|
|
|
|
:license {:name "Mozilla Public License Version 2.0"
|
2016-07-06 01:55:55 +00:00
|
|
|
:url "https://github.com/mozilla/datomish/blob/master/LICENSE"}
|
2016-11-15 22:38:33 +00:00
|
|
|
:dependencies [[org.clojure/clojurescript "1.9.293"]
|
2016-07-11 23:48:40 +00:00
|
|
|
[org.clojure/clojure "1.8.0"]
|
|
|
|
[org.clojure/core.async "0.2.385"]
|
2016-11-17 04:54:54 +00:00
|
|
|
[datascript "0.15.4"]
|
2016-10-12 16:10:18 +00:00
|
|
|
[org.clojars.rnewman/honeysql "0.8.2"]
|
2016-11-16 01:46:38 +00:00
|
|
|
;[com.taoensso/tufte "1.0.2"]
|
2016-07-11 23:48:40 +00:00
|
|
|
[jamesmacaulay/cljs-promises "0.1.0"]]
|
2016-07-06 01:13:29 +00:00
|
|
|
|
2016-09-21 20:47:20 +00:00
|
|
|
;; The browser will never require from the .JAR anyway.
|
2016-09-22 17:38:45 +00:00
|
|
|
:source-paths [
|
|
|
|
"src/common"
|
|
|
|
;; Can't be enabled by default: layers on top of cljsbuild!
|
|
|
|
;; Instead, add the :node profile:
|
|
|
|
;; lein with-profile node install
|
2016-10-13 23:12:16 +00:00
|
|
|
;; "src/node"
|
2016-09-22 17:38:45 +00:00
|
|
|
]
|
2016-09-21 20:47:20 +00:00
|
|
|
|
2016-11-17 04:54:44 +00:00
|
|
|
:test-paths ["test" "src/helpers"]
|
|
|
|
|
2016-09-08 00:00:47 +00:00
|
|
|
:cljsbuild {:builds
|
|
|
|
{
|
|
|
|
:release-node
|
|
|
|
{
|
2016-09-22 22:56:20 +00:00
|
|
|
:source-paths ["src/common" "src/node"]
|
2016-09-08 00:00:47 +00:00
|
|
|
:assert false
|
|
|
|
:compiler
|
|
|
|
{
|
2016-09-22 22:56:20 +00:00
|
|
|
;; :externs specified in deps.cljs.
|
2016-09-08 00:00:47 +00:00
|
|
|
:elide-asserts true
|
|
|
|
:hashbang false
|
|
|
|
:language-in :ecmascript5
|
|
|
|
:language-out :ecmascript5
|
|
|
|
:optimizations :advanced
|
2016-09-22 22:56:20 +00:00
|
|
|
:output-dir "target/release-node"
|
|
|
|
:output-to "target/release-node/datomish.bare.js"
|
2016-09-08 00:00:47 +00:00
|
|
|
:output-wrapper false
|
|
|
|
:parallel-build true
|
2016-09-15 22:11:58 +00:00
|
|
|
:pretty-print true
|
|
|
|
:pseudo-names true
|
|
|
|
:static-fns true
|
2016-09-08 00:00:47 +00:00
|
|
|
:target :nodejs
|
|
|
|
}
|
|
|
|
:notify-command ["release-node/wrap_bare.sh"]}
|
|
|
|
|
2016-11-15 18:54:55 +00:00
|
|
|
:release-addon
|
|
|
|
;; Release builds for use in Firefox add-ons are much like the ones
|
|
|
|
;; for Firefox itself, but they can freely use `console` and must
|
|
|
|
;; `require("chrome")` to get access to Components.
|
|
|
|
{
|
|
|
|
:source-paths ["src/common" "src/browser-common" "src/addon"]
|
|
|
|
:assert false
|
|
|
|
:compiler
|
|
|
|
{
|
|
|
|
:elide-asserts true
|
|
|
|
:externs ["src/browser-common/externs/datomish.js"]
|
|
|
|
:language-in :ecmascript5
|
|
|
|
:language-out :ecmascript5
|
|
|
|
:optimizations :advanced
|
|
|
|
:output-dir "target/release-addon"
|
|
|
|
:output-to "target/release-addon/datomish.bare.js"
|
|
|
|
:output-wrapper false
|
|
|
|
:parallel-build true
|
|
|
|
:preloads [datomish.preload]
|
|
|
|
:pretty-print true
|
|
|
|
:pseudo-names true
|
|
|
|
:static-fns true
|
|
|
|
}
|
|
|
|
:notify-command ["release-addon/wrap_bare.sh"]}
|
|
|
|
|
2016-09-08 00:00:47 +00:00
|
|
|
:release-browser
|
|
|
|
;; Release builds for use in Firefox must:
|
|
|
|
;; * Use :optimizations > :none, so that a single file is generated
|
|
|
|
;; without a need to import Closure's own libs.
|
|
|
|
;; * Be wrapped, so that a CommonJS module is produced.
|
|
|
|
;; * Have a preload script that defines what `println` does.
|
|
|
|
;;
|
|
|
|
;; There's no point in generating a source map -- it'll be wrong
|
|
|
|
;; due to wrapping.
|
|
|
|
{
|
2016-11-15 18:54:55 +00:00
|
|
|
:source-paths ["src/common" "src/browser-common" "src/browser"]
|
2016-09-08 00:00:47 +00:00
|
|
|
:assert false
|
|
|
|
:compiler
|
|
|
|
{
|
2016-11-15 18:54:55 +00:00
|
|
|
:verbose true
|
2016-09-08 00:00:47 +00:00
|
|
|
:elide-asserts true
|
2016-11-15 18:54:55 +00:00
|
|
|
:externs ["src/browser-common/externs/datomish.js"]
|
|
|
|
:language-in :ecmascript5-strict
|
|
|
|
:language-out :ecmascript5-strict
|
|
|
|
:optimizations :simple
|
2016-09-22 22:56:20 +00:00
|
|
|
:output-dir "target/release-browser"
|
|
|
|
:output-to "target/release-browser/datomish.bare.js"
|
2016-09-08 00:00:47 +00:00
|
|
|
:output-wrapper false
|
|
|
|
:parallel-build true
|
|
|
|
:preloads [datomish.preload]
|
|
|
|
:pretty-print true
|
|
|
|
:pseudo-names true
|
|
|
|
:static-fns true
|
|
|
|
}
|
|
|
|
:notify-command ["release-browser/wrap_bare.sh"]}
|
|
|
|
|
|
|
|
:test
|
|
|
|
{
|
2016-11-17 04:54:44 +00:00
|
|
|
:source-paths ["src/common" "src/node" "src/helpers" "test"]
|
2016-09-08 00:00:47 +00:00
|
|
|
:compiler
|
|
|
|
{
|
|
|
|
:language-in :ecmascript5
|
|
|
|
:language-out :ecmascript5
|
|
|
|
:main datomish.test
|
|
|
|
:optimizations :none
|
|
|
|
:output-dir "target/test"
|
|
|
|
:output-to "target/test/datomish.js"
|
|
|
|
:parallel-build true
|
|
|
|
:source-map true
|
|
|
|
:target :nodejs
|
|
|
|
}}
|
|
|
|
}}
|
2016-07-06 01:13:29 +00:00
|
|
|
|
2016-09-22 17:38:45 +00:00
|
|
|
:profiles {:node {:source-paths ["src/common" "src/node"]}
|
|
|
|
:dev {:dependencies [[cljsbuild "1.1.3"]
|
2016-07-12 05:02:53 +00:00
|
|
|
[tempfile "0.2.0"]
|
2016-07-08 19:44:57 +00:00
|
|
|
[com.cemerick/piggieback "0.2.1"]
|
|
|
|
[org.clojure/tools.nrepl "0.2.10"]
|
2016-11-09 00:15:19 +00:00
|
|
|
[org.clojure/java.jdbc "0.6.2-alpha3"]
|
|
|
|
[org.xerial/sqlite-jdbc "3.15.1"]]
|
2016-08-19 16:20:50 +00:00
|
|
|
:jvm-opts ["-Xss4m"]
|
2016-07-06 01:13:29 +00:00
|
|
|
:repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}
|
2016-07-08 19:44:57 +00:00
|
|
|
:plugins [[lein-cljsbuild "1.1.3"]
|
2016-08-26 00:23:25 +00:00
|
|
|
[lein-doo "0.1.6"]
|
|
|
|
[venantius/ultra "0.4.1"]
|
|
|
|
[com.jakemccrary/lein-test-refresh "0.16.0"]]
|
2016-07-06 01:55:55 +00:00
|
|
|
}}
|
|
|
|
|
|
|
|
:doo {:build "test"}
|
2016-07-06 01:13:29 +00:00
|
|
|
|
2016-09-22 22:56:20 +00:00
|
|
|
:clean-targets ^{:protect false} ["target"]
|
2016-07-06 01:13:29 +00:00
|
|
|
)
|