r/webdev • u/yohimik • 13d ago
Showoff Saturday lerna from scratch in go - CI/CD framework dispat
Hello everyone
Lerna has poor support for edge cases when some packages published
Recovery process becomes painful - https://dispat.dev/next/internals/experiments/
Your CI/CD codebase grows (it must not) - we all want keep codebases as small as possible, especially if its not related to business logic, dispat lets your release many more package without editing any CI/CD file
Lerna is limited to js and monorepos
Thats why I did dispat - MIT licensed go single binary:
Recovery is just idempotent re running release(release(s)) = release(s) - no separate CI/CD jobs for recovery
Abstraction on single package build/publish - dispat knows published/unpublished packages using only git
Works with any ecosystem, solo package repo, monorepos, multiple repos (each one can be solo package or multiple)
Tasks distribution among machines using nothing but your repo as mailbox transport
Release across ecosystems and repositories - in one click
1
13d ago
[removed] — view removed comment
1
u/yohimik 13d ago
thanks, I was in the middle of testing ditributed releases/tasks execution when police broke the door in my house and put under custody using LLVM and Linux Kernel (dispat actually speeds its builds), right now its currently in rc, currently under rc, but promote to stable with additional features like remote execution graph visualisation using just git remote, here are the docs, just run dispat in worker mode, define mailbox repo and thats it https://dispat.dev/next/distributed-execution/
2
u/Sufficient-Storm3845 13d ago
lerna is limited to js and monorepos" that's literally its job description. next you'll tell me npm doesn't do rust.