Monorepo
Monorepo Setup
Use Dex in a monorepo with other packages.
Structure
my-monorepo/
├─ packages/
│ ├─ web/ # Dex app
│ │ ├─ dex.config.ts
│ │ ├─ web/
│ │ └─ package.json
│ └─ api/ # Other package
├─ package.json
└─ tsconfig.jsonWorkspace Config
In packages/web/dex.config.ts:
import { defineConfig } from 'dex/config'
export default defineConfig({
pagesDir: 'web/pages',
layoutsDir: 'web/layouts',
publicDir: 'web/public',
outDir: 'web/.generated',
})Root Package.json
{
"name": "my-monorepo",
"private": true,
"scripts": {
"dev": "cd packages/web && bun run dev",
"build": "cd packages/web && bun run build"
}
}Cross-Package Imports
// packages/web/web/pages/index.tsx
import { shared } from '@my-org/shared'
export default function Home() {
return <h1>{shared.title}</h1>
}See Also
- Custom Structure — Config options
- Workspace Setup — Bun workspaces