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:
export default {
pagesDir: 'web/pages',
layoutsDir: 'web/layouts',
outRoutesTs: 'core/router/.generated/routes.ts',
outRoutesJson: 'core/router/.generated/manifest.json',
outLayoutsTs: 'core/router/.generated/layouts.ts',
}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