Tree shaking and building for monorepos
Baum is similar to turbo and other monorepo manangers. But it comes with more flexibility for running tasks. & Also the caching is completly free & is fully functional as long as you host your own npm registry. Oherwise you can define your own logic to cache, for example using a file or any other custom mechanism.
It is built with flexibility in mind.
-
install baum using npm or yarn:
npm install install baumoryarn add baum -
Create a file named
baum.tsin any diretory that belongs to the ci, it does not need to be part of the monorepo. -
Define some steps in your baum.ts file like in
ci/test/steps.tsignore the file namesteps.ts, since these steps are used in multiple places whilist thebaum.tsfile just contains the configuration & also imports runs the function defined insteps.ts. -
Define the baum command in the package.json like this:
baum --config ci/test. -
Now Run the defined command.
- clone the repoistory.
- run
npm installin the root directory. - run
npm run baum-testto verify that everthing is working as expected.
You just create a tag in github, the rest is done by baum itself. Forking is currently not supported, but will be in the future.