This is the Datum UI monorepo. This repo is intended to help our teams and developers speed up development while building sustainable and low carbon footprint user interfaces.
This monorepo is run on Bun and built using Turborepo. It includes the following packages/apps:
docs
: susUI docs repo https://docs.sus-ui.datum.net/operator
: Datum Operator Portal https://console.datum.net/@repo/ui
: susUI component library shared by our other applications@repo/dally
: DAL library for sharing common patterns and functionality in our other apps@repo/eslint-config
: eslint
configurations (includes eslint-config-next
and eslint-config-prettier
)@repo/typescript-config
: tsconfig.json
s used throughout the monorepoEach package/app is 100% TypeScript.
Our team using this stack for our Turborepo:
Datum suggests using Bun for its speed and versatility, however, Turborepo supports many of the common package managers such as npm
, yarn
, or pnpm
.
To install Bun run:
curl -fsSL https://bun.sh/install | bash
To build all apps and packages, run the following command:
bun run build
Copy the .env, this is in .gitignore so you do not have to worry about accidentally committing it. This hold example of environment configurations which you should review and potentially override depending on your needs.
cp ./config/.env-example ./config/.env
To develop all apps and packages, run the following command:
bun install
bun dev
Alternatively, you can run a single repo instead of all the repos with the filter argument:
For example to develop on the docs app only run:
bun dev --filter docs