boot-clj / boot-clj/boot-cljs

Implement cljs.closure/watch logic for rebuilds

Open
#194 0 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Clojure
Stars
176
Forks
40
PR merge metrics
No merged PRs in 30d

Description

ClojureScript `watch` no longer (since Feb 2015, after Boot-cljs was originally written) calls `build` each time any file is changed. Only if .cljs, .cljc, .clj or .js file is changed, compiler is called.

https://github.com/clojure/clojurescript/blob/master/src/main/clojure/cljs/closure.clj#L3096-L3100
https://github.com/clojure/clojurescript/commit/0db90e6898434c1719fc2bfc6ab9cf741dde4cf2

Boot-cljs should copy this behavior, to optimize cases where only `.css`, `.less` etc. file is changed.

Contributor guide

Open the contributing guide

Research direction

Start with the referenced ClojureScript cljs/closure.clj lines 3096-3100 and commit 0db90e6898434c1719fc2bfc6ab9cf741dde4cf2 to understand the watch decision. Locate the corresponding Boot-cljs watch entry point, then verify that changes to .cljs, .cljc, .clj, or .js trigger compilation while changes to .css or .less do not.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure, javascript
Domain
build-system
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.