Monorepo tooling
Over the last few months I made some deep cuts in the PRPL monorepo:
- The CI now completes in 30 seconds! (down from more than 3 minutes)
- The entire monorepo has zero vulnerabilities reported by npm! (regardless of how actually useful that is)
- A full
git clone
andnpm i
for the project takes a couple seconds! (an absolutely scientific claim)
Sure, PRPL is a small-ish monorepo with small-ish modules. It's no surprise that these systems are fast. The thing is, it is surprising how difficult it is to build fast, maintainable monorepos of this size.
The way these unlocks came about wasn't the result of clever caching or compilation magic.
It was largely about replacing certain tools and refactoring usage of tools that remain. Specifically, it meant replacing Cypress and Lerna.
In this note I just want to take a beat and be happy with the current state of tooling in the PRPL monorepo, that's all.
In the future, I'll expand on what went into these replacement projects:
Until then, see you soon!
Thanks for reading! Go home for more notes.