My App

Config Schema

Config Schema

Reference for dex.config.ts.

Basic Config

import type { DexConfig } from '@dex/router'

export default {
  // Router generation paths
  pagesDir: 'web/pages',
  layoutsDir: 'web/layouts',
  outRoutesTs: 'core/router/.generated/routes.ts',
  outRoutesJson: 'core/router/.generated/manifest.json',
  outLayoutsTs: 'core/router/.generated/layouts.ts',

  // Runtime and server settings
  mode: 'spa',
  port: 7990,
  renderStrategy: 'spa',

  // Watch configuration
  watchFiles: [],
  watchDirs: [],
} satisfies DexConfig

Options

OptionTypeDefaultDescription
pagesDirstring'web/pages'Directory containing route page components (.tsx)
layoutsDirstring'web/layouts'Directory containing layout components (.tsx, .ts)
outRoutesTsstring'core/router/.generated/routes.ts'Output file path for generated route definitions TypeScript
outRoutesJsonstring'core/router/.generated/manifest.json'Output file path for generated route manifest JSON
outLayoutsTsstring'core/router/.generated/layouts.ts'Output file path for generated layout loader map TypeScript
modestring'spa'Application mode ('spa' or 'mpa')
portnumber7990Server and dev port
renderStrategystring'spa'Page rendering strategy ('spa', 'ssg', 'ssr', 'ppr', 'dynamic')
watchFilesstring[][]Additional file paths to watch
watchDirsstring[][]Additional directory paths to watch

Config File Resolution

Dex searches for configuration files starting from the current working directory up to the filesystem root, checking for:

  • dex.config.ts
  • dex.config.js
  • dex.config.mjs
  • dex.config.cjs

All relative paths specified in the configuration are resolved against the directory containing the config file.

See Also

On this page