August 2018 Monthly Update
By Daniel Compton
Clojurists Together news
August was the first month of funding for the quarter, so today we present the initial round of updates on new projects, cljdoc and Shadow CLJS.
This month we have hired Rachel Magruder part-time to help out with the day-to-day running of Clojurists Together. If you send us an email you may get a response from her. She is also helping out with the backend processing of contracts, grant reports, payments, e.t.c.
Thanks to all of our members who support Clojurists Together. It’s thanks to your generous support that we can do this.
cljdoc updates
I switched the storage layer. SQLite is now used instead of lib-grimoire. More details in the respective architecture decision record: ADR-0013
This was a lot of work but it sets the project up for more interesting extensions besides API documentation and articles (think specs & examples).
Also I looked more into integrating specs but without changes to spec it is impossible to determine if a spec originates from the artefact that is being analysed or from one of its dependencies. To fix this specs will need to support metadata (CLJ-2194) but the timeline for this is unclear.
In the light of this I’m considering focusing on examples first. More details to come.
Some more minor things that happened:
- I printed stickers which I’m planning to send to contributors.
- Bozhidar likes favicons so I added one :)
- Work is underway to integrate cljdoc into Dash
- Various fixes to the analyser code, mostly to eliminate slight differences between Clojure and ClojureScript as well as some dependency related improvements.
- I shipped a quick switcher (demo) that allows you to switch between projects that you opened recently. I hope to expand this to quickly finding vars, namespaces and articles in the current project.
I’ll also be at ClojuTRE next week. Say hi if you’re around! 👋
Oh and after ClojuTRE I’ll be on a sailboat for two weeks so there will be less activity than usual.
Shadow CLJS updates
August 1 - 15
I released shadow-cljs versions 2.4.31 up to 2.5.1.
Noteworthy changes include:
- Started reworking the shadow-cljs standalone launcher which is responsible for downloading dependencies and launching the actual tool. Intent here is to gain access to git-deps and dynamically loading dependencies without requiring a hard restart.
- Started publishing AOT compiled shadow-cljs versions which can significantly improve start-up times. Used by default when using the standalone launcher.
- Fixed a few minor bugs and cleaned up some rogue log output.
August 16-31
I released shadow-cljs versions 2.6.0 up to 2.6.6
UI Work
The UI is still a Work-in-Progress but it is now possible to control builds via the Web UI. Builds can be started/stopped and inspected (although the UI doesn’t visualize this well yet).
Launcher Re-Work
I reverted the launcher changes I did recently due to some compatibility issues where tools.deps
was handling dependencies differently than pomegranate
and thus breaking builds that were working previously. Need to investigate this a bit more before making the switch again. There were also a few classloader issues that need to be sorted out.
Minor bugfixes
- Fixed an issue with npm link
- Fixed an issue with CSS reloading in Electron
- Fixed an
ns
parsing issue where an invalidns
form would pass without warnings
New features
- Added support for private
s3
maven repos via s3-wagon-private