boot-clj / boot-cljs

Boot task to compile ClojureScript programs.
Eclipse Public License 1.0
176 stars 40 forks source link

Alternative integration with other tasks, without .cljs.edn #169

Open Deraen opened 7 years ago

Deraen commented 7 years ago

Currently boot-reload and boot-cljs-repl use .cljs.edn files to tell boot-cljs about namespaces that have to be included in the build. Without .cljs.edn file Boot-cljs falls back to compiling EVERY .cljs file in the fileset. This is usually bad choice.

I think this could be solved by adding another way for other tasks to contribute to Boot-cljs, in addition to the file. Fileset metadata (meta) should be easy way to solve this (Clojure metadata on the fileset object, not Boot Fileset metadata, which is tied to files). This will need some testing...

Things to consider:

Also, can :ids be replaced with something else? Maybe the ID could be set manually instead of using the path of the file. That would allow tasks to communicate without .cljs.edn files, and would be even simpler than using the paths.

arichiardi commented 7 years ago

Agree that adding meta with clear semantic on what is merged into what, can be a good option (actually the only one left :smile:). About build ids, probably some sort of sanity check should make sure we build and reload the same things?