Low code platform for building business apps and workflows in minutes. Supports PostgreSQL, MySQL, MariaDB, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀
Right now budibase relies heavily on lerna. We bootstrap packages with lerna, and use it to version (all together) and publish all our packages to NPM.
We really want to be able to save the publish step only for merges into master - which keeps our release history much cleaner, and prevents us having to mess around with versions between develop and master when doing releases. We've had a few bad merges in the past due to this, and it's a guaranteed merge conflict we have to resolve when the time comes to release.
Understand how we can use a lerna alternative such as turborepo, nx or even hand rolled. This may not be necessary, but will go a long way to giving us faster builds and nice caching, and rich plugin ecosystems that can further improve our build pipeline.
Understand if we can build, deploy and run a docker image that only runs completely locally without publishing to NPM, that also works with pro and account portal
create a CI job that deploys a docker image for dev to ECR or private dockerhub
Look at moving pro and account portal into the main repo as submodules
Write up findings in a confluence doc and link to this ticket
Right now budibase relies heavily on lerna. We bootstrap packages with lerna, and use it to version (all together) and publish all our packages to NPM.
We really want to be able to save the publish step only for merges into
master
- which keeps our release history much cleaner, and prevents us having to mess around with versions betweendevelop
andmaster
when doing releases. We've had a few bad merges in the past due to this, and it's a guaranteed merge conflict we have to resolve when the time comes to release.Suggestions Really like the separation here that turborepo recommend. Having an
apps
andpackages
folder. https://turborepo.org/docs/getting-started/existing-monorepoapps
packages
COS
turborepo
,nx
or even hand rolled. This may not be necessary, but will go a long way to giving us faster builds and nice caching, and rich plugin ecosystems that can further improve our build pipeline.