Optimise CLJS build
- Dominant language
- Clojure
- Stars
- 49.3k
- Forks
- 6.8k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 653
Description
Before starting compilation, at the initialization stage, a shadow-cljs launch can take up to **20** seconds, plus we do this twice for the main build and static-viz. The same goes for the compilation itself, which we also do twice, taking **40-50** seconds on CI. If we learn to reuse the previous build, or do it in parallel, we could save about a **minute** on CLJS builds.
```[tasklist]
### Tasks
- [ ] https://github.com/metabase/metabase/issues/37580
- [ ] https://github.com/metabase/metabase/issues/43459
- [ ] https://github.com/metabase/metabase/issues/46706
- [ ] Research a way to reuse the previous build or run `build-frontend` in parallel
```
Contributor guide
Research direction
Start by reviewing issues 37580, 43459, and 46706, then investigate the `build-frontend` work mentioned in the task list. Compare reusing the previous build with running the main build and static-viz compilation in parallel, and measure CI time to confirm that the completed approach saves about a minute.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- build-system, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100