boot-cljs icon indicating copy to clipboard operation
boot-cljs copied to clipboard

Alternative integration with other tasks, without .cljs.edn

Open Deraen opened this issue 6 years ago • 1 comments

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:

  • How will this work with several cljs builds in the pipeline?
  • What if reload is only enabled for some of the builds?

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.

Deraen avatar Aug 04 '17 22:08 Deraen

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?

arichiardi avatar Aug 09 '17 13:08 arichiardi