Hacker News new | ask | show | jobs
by tengstrand 2020 days ago
The Polylith team has just released a big update to the Polylith architecture. Now it's even simpler to grow software out of composable LEGO-like building blocks. The whole team is here to answer your questions.
1 comments

Can you sum up what's new, or point me to a changelog? I took a serious dive into it in late 2019, but ended up pausing because of tooling deficiencies - mainly dealing with symlinks, iirc.

I was really impressed with how it encouraged decoupling, and it has positively affected how I write code and think about dependencies.

We've simplified the architecture, by reducing the number of concepts down to just three: components, bases, and projects. The tool is simpler, gives faster feedback, and a better visualisation of your projects, due to (amount other design changes) switching from Leiningen to tools.deps.

The original version of the tool used: - Leiningen to compile and build the artefacts - symlinks to keep the code in one place (but allow for reuse in multiple artefacts) - "workspace interfaces" (empty component interfaces) to guarantee the decoupling between components

The new version of the tool uses: - tools.deps to build the artefacts and remove the need for symlinks - static code analysis to remove the need for "workspace components"

Nice! I went through the poly tool readme and I'm really impressed with the improvements. One thing I don't see highlighted that I'm curious about: have you used it to build cljs projects? Since shadow-cljs has deps.edn integration, I think it could theoretically work, though the repl might be a bit twitchy.