Skip to content

packages config

Claude edited this page Sep 23, 2026 · 3 revisions

Config (@safrs/config)

Scope. tsconfig presets for root workspace members (packages/*, tools/*, included projects/*/*/apps/*). Excluded capsules (SentraBot, Kediri, Smartboard) ship their own tsconfig.

Purpose

Shared TypeScript presets so root-workspace packages get identical strict compiler settings. Two presets; consumed as a dev dependency by those packages' typecheck scripts.

Key source files

File Purpose
packages/config/package.json Exports ./tsconfig/base.json and ./tsconfig/nextjs.json
packages/config/tsconfig/base.json The strict baseline preset
packages/config/tsconfig/nextjs.json Next.js preset extending the baseline

The presets

packages/config/tsconfig/base.json enforces the monorepo's strict baseline:

  • target: ES2024
  • module: NodeNext, moduleResolution: NodeNext
  • strict: true
  • noEmit: true
  • skipLibCheck: true
  • verbatimModuleSyntax: true

packages/config/tsconfig/nextjs.json extends the baseline for Next.js surfaces:

  • lib: ["DOM", "DOM.Iterable", "ES2024"]
  • jsx: "preserve"
  • the next TypeScript plugin

Usage

// package.json (workspace member)
{
  "devDependencies": { "@safrs/config": "workspace:*" }
}
// tsconfig.json (workspace member)
{
  "extends": "@safrs/config/tsconfig/base.json"
}

Integration points

  • Every packages/* package lists @safrs/config as a dev dependency and runs tsc --project tsconfig.json for typecheck.
  • projects/internal/golden-path/apps/web uses @safrs/config/tsconfig/nextjs.json for its App Router surface.

Verification

pnpm --filter @safrs/config lint

Related pages

Clone this wiki locally