Alternative integration with other tasks, without .cljs.edn
- Dominant language
- Clojure
- Stars
- 176
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
Research direction
Start by reading the boot-reload and boot-cljs-repl tasks and how fileset metadata is represented. Define how tasks contribute namespaces without .cljs.edn, including multiple ClojureScript builds and reload enabled for only some builds. Done should include tests covering those cases and the alternative to path-based :ids.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100