Skip to main content

Role - App

Use role-app for application code whose framework or bundler emits the deployable files.

Why Use This Preset?

  1. Keeps TypeScript responsible for type-checking while the application build tool owns output.
  2. Prevents stray JavaScript and declaration files from appearing beside application source.
  3. Separates what the code does from where it runs and which framework builds it.

Usage

Place the role immediately after the Nova baseline, before runtime, framework, and tool layers.

tsconfig.json
json
{
  "extends": [
    "@cbnventures/nova/presets/tsconfig/dx-essentials.json",
    "@cbnventures/nova/presets/tsconfig/dx-strict.json",
    "@cbnventures/nova/presets/tsconfig/role-app.json",
    "@cbnventures/nova/presets/tsconfig/runtime-browser.json",
    "@cbnventures/nova/presets/tsconfig/tool-vite.json"
  ]
}

What This Preset Configures

SettingValueDescription
declarationfalseDoes not produce declaration files for application code.
declarationMapfalseDoes not produce declaration maps.
noEmittrueLeaves all emitted application output to the build tool.