Role - App
Use role-app for application code whose framework or bundler emits the deployable files.
Why Use This Preset?
- Keeps TypeScript responsible for type-checking while the application build tool owns output.
- Prevents stray JavaScript and declaration files from appearing beside application source.
- 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
{
"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
| Setting | Value | Description |
|---|---|---|
declaration | false | Does not produce declaration files for application code. |
declarationMap | false | Does not produce declaration maps. |
noEmit | true | Leaves all emitted application output to the build tool. |
Related
- Use Role - Source when TypeScript itself must emit the source.
- Review the complete layer order in TSConfig Best Practices.