# tsconfig.json

Connect the frontend and server TypeScript configurations.

The root configuration coordinates frontend and server environments without mixing their types.

```json
{
  "files": [],
  "references": [
    { "path": "./.app/tsconfig.app.json" },
    { "path": "./tsconfig.node.json" }
  ]
}
```

`.app/tsconfig.app.json` is generated by `runable prepare`. It already contains `app/` sources, Runable declarations, aliases, and Vue-specific options. You do not need a root `tsconfig.app.json` unless you want project-specific settings.

This separation prevents Node types from leaking into Vue components or server code from assuming that `window` exists.

Run the check with:

```bash
pnpm vue-tsc --build
```

Run `runable prepare` first, especially after a new installation or after deleting `.app/`.

If you create a root `tsconfig.app.json` to customize TypeScript, point the reference to that file. It must extend the generated configuration instead of copying it.
