Monorepo Overview
This is a Javscript based monorepo that holds a bunch of my projects. I will likely not finish many of these projects but its primarily a playground for me to tinker and learn in. Its a my Javascript Tool bench if you will.
This monorepo is built using Bun and as i have worked in it i have built out more cli tooling for working in a monorepo via bun. I hope to expand on this as i use it more and the needs arise to hopefully build a robust monorepo developer environment based on what i think is the next evolution of javascript runtimes.
Working in the Monorepo
When working in the monorepo its important to understand some of the tooling that is currently built out for your convenience.
Project Structure
This repo is broken down into a handful of top level folders:
js-monorepo/├── projects/├── node-projects/├── modules/├── infra/└── scripts/projects
This is where the Bun based applications are defined. This and the modules are the primary focuses of the monorepo tooling. Each applciation will have a directory here
node-project
This is where any Node.js based applications are defined. I try to avoid this as I want to focus on Bun, but until it has 100$ node compat some things just dont work and WASM is one of them.
modules
This is where the modules that are shared across applciations are defined. If you want to define libraries this is where you would do it.
infra
This is where I define utility methods that monorepo scripts might rely on.
scripts
This is where i define cli commands I run via Bun. Sometimes I wire them up to package.json scripts other times i run them directly via bun run {script-name}. And other times still I call them via other scripts with Bun.spawn.
See the scripts option in the side navigation for a more in-depth look at the individual scripts exposed thus far.
NOTE: app & modules in the /projects and /modules directories can define their own scripts by placing the scripts in their respective app’s {app-name}/scripts folder. i.e. /my-app/scripts/custom-start.ts.
Standards
Javascript Engines
Language & Framework Technologies
| Frontend | Backend / Runtime | Other |
|---|---|---|
| React | Express | WASM |
| Fermyon Spin | Docker | |
| Astro | Postgres |