41 lines
1.8 KiB
Clojure
41 lines
1.8 KiB
Clojure
;; Two builds and no more:
|
|
;;
|
|
;; app the tool. Output goes straight into the Django staticfiles tree, so
|
|
;; `python manage.py runserver` and `shadow-cljs watch app` are the whole
|
|
;; dev loop with nothing copying files between them.
|
|
;; test :node-test, because everything below `ui/` and `fx/` is pure and has
|
|
;; no business needing a browser to be asserted about. The canvas-facing
|
|
;; parts get asserted through domain/raster's byte buffer instead, which
|
|
;; is what the JS selftest already did.
|
|
{:source-paths ["src" "test"]
|
|
|
|
:dependencies [[reagent "1.2.0"]
|
|
[re-frame "1.4.3"]]
|
|
|
|
;; Dev server for the CLJS half, on a different port from serve.py (8777) so the
|
|
;; old tool and the port can run side by side. js/ remains the source for the
|
|
;; measurement stages not yet ported.
|
|
;;
|
|
;; Two roots: `public` holds the host page, `..` is the repo root so the bundle
|
|
;; at /static/arthur/js/ resolves, and so manifest.json, audio.wav and frames/
|
|
;; are reachable for real footage.
|
|
;;
|
|
;; THE ORDER IS LOAD-BEARING. The repo root has an index.html too — the old
|
|
;; tool's — so with `..` first, /index.html would quietly serve the prototype
|
|
;; instead of the port. That would look like the CLJS build having regressed to
|
|
;; a suspiciously complete tool rather than like a misconfigured server.
|
|
;;
|
|
;; Open /index.html, not /. This shadow-cljs does no directory-index resolution,
|
|
;; so bare / is a 404 whatever the roots are. Django serves the page from step 9
|
|
;; and this whole key goes away.
|
|
:dev-http {8778 ["public" ".."]}
|
|
|
|
:builds
|
|
{:app {:target :browser
|
|
:output-dir "../static/arthur/js"
|
|
:asset-path "/static/arthur/js"
|
|
:modules {:main {:init-fn arthur.core/init}}}
|
|
|
|
:test {:target :node-test
|
|
:output-to "out/node-tests.js"
|
|
:ns-regexp "-test$"}}}
|