Last active
June 1, 2022 12:40
-
-
Save athanhat/30cb76a76dd4d713b7e767b52c773df9 to your computer and use it in GitHub Desktop.
Figwheel project file with modifications to run ClojureScript nREPL middleware library
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defproject figwheel-demo "0.1.0-SNAPSHOT" | |
:description "FIXME: write this!" | |
:url "http://example.com/FIXME" | |
:license {:name "Eclipse Public License" | |
:url "http://www.eclipse.org/legal/epl-v10.html"} | |
:min-lein-version "2.9.1" | |
:dependencies [[org.clojure/clojure "1.10.0"] | |
[org.clojure/clojurescript "1.10.773"] | |
[org.clojure/core.async "0.4.500"]] | |
:plugins [[lein-figwheel "0.5.20"] | |
[lein-cljsbuild "1.1.7" :exclusions [[org.clojure/clojure]]]] | |
:source-paths ["src"] | |
:cljsbuild {:builds | |
[{:id "dev" | |
:source-paths ["src"] | |
;; The presence of a :figwheel configuration here | |
;; will cause figwheel to inject the figwheel client | |
;; into your build | |
:figwheel {:on-jsload "figwheel-demo.core/on-js-reload" | |
;; :open-urls will pop open your application | |
;; in the default browser once Figwheel has | |
;; started and compiled your application. | |
;; Comment this out once it no longer serves you. | |
:open-urls ["http://localhost:3449/index.html"]} | |
:compiler {:main figwheel-demo.core | |
:asset-path "js/compiled/out" | |
:output-to "resources/public/js/compiled/figwheel_demo.js" | |
:output-dir "resources/public/js/compiled/out" | |
:source-map-timestamp true | |
;; To console.log CLJS data-structures make sure you enable devtools in Chrome | |
;; https://github.com/binaryage/cljs-devtools | |
:preloads [devtools.preload]}} | |
;; This next build is a compressed minified build for | |
;; production. You can build this with: | |
;; lein cljsbuild once min | |
{:id "min" | |
:source-paths ["src"] | |
:compiler {:output-to "resources/public/js/compiled/figwheel_demo.js" | |
:main figwheel-demo.core | |
:optimizations :advanced | |
:pretty-print false}}]} | |
:figwheel {;; :http-server-root "public" ;; default and assumes "resources" | |
;; :server-port 3449 ;; default | |
;; :server-ip "127.0.0.1" | |
:css-dirs ["resources/public/css"] ;; watch and update CSS | |
;; Start an nREPL server into the running figwheel process | |
;; :nrepl-port 7888 | |
;; Server Ring Handler (optional) | |
;; if you want to embed a ring handler into the figwheel http-kit | |
;; server, this is for simple ring servers, if this | |
;; doesn't work for you just run your own server :) (see lein-ring) | |
;; :ring-handler hello_world.server/handler | |
;; To be able to open files in your editor from the heads up display | |
;; you will need to put a script on your path. | |
;; that script will have to take a file path and a line number | |
;; ie. in ~/bin/myfile-opener | |
;; #! /bin/sh | |
;; emacsclient -n +$2 $1 | |
;; | |
;; :open-file-command "myfile-opener" | |
;; if you are using emacsclient you can just use | |
;; :open-file-command "emacsclient" | |
;; if you want to disable the REPL | |
;; :repl false | |
;; to configure a different figwheel logfile path | |
;; :server-logfile "tmp/logs/figwheel-logfile.log" | |
;; to pipe all the output to the repl | |
;; :server-logfile false | |
} | |
;; ------8<------8<----------8<-------------------8<------------------------8<------------------ | |
;; This is the part of the expression that we modify | |
:profiles {:dev {:dependencies [[binaryage/devtools "1.0.0"] | |
[figwheel-sidecar "0.5.20"] | |
[cider/piggieback "0.5.3"] | |
[nrepl "0.9.0"]] | |
:repl-options {:nrepl-middleware [cider.piggieback/wrap-cljs-repl]} | |
;; need to add dev source path here to get user.clj loaded | |
:source-paths ["src" "dev"] | |
;; need to add the compiled assets to the :clean-targets | |
:clean-targets ^{:protect false} ["resources/public/js/compiled" | |
:target-path]}} | |
;; ------8<------8<----------8<-------------------8<------------------------8<------------------ | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment