epicenter
epicenter copied to clipboard
refactor: created TSConfig hierarchy
What changed:
- Centralized common TypeScript settings in tsconfig.base.json and removed redundant fields from child configs.
- Standardized a single cross-workspace UI alias in base: "#/" → "packages/ui/src/".
- Configured SvelteKit apps to use the same alias via kit.alias:
- apps/whispering/svelte.config.js
- apps/sh/svelte.config.js
- apps/epicenter/svelte.config.js
- Preserved $lib by not defining tsconfig "paths" in SvelteKit projects; SvelteKit’s generator remains the source of truth.
- For NodeNext libraries, set "moduleResolution": "NodeNext" to avoid TS5095 when inheriting bundler settings.
Intended usage
- Non‑SvelteKit workspaces import UI internals with "#/…".
- SvelteKit apps also import with "#/…"; alias is provided by kit.alias (see links above).
- Keep using $lib inside SvelteKit for app-local imports.
Rationale
- Consistency - no surprises
- Extensibility - future shared changes
- Reliability - svelte-check aligns with IDE, $lib remains intact
- Clarity - child tsconfigs only declare environment/build specifics
- Minimality: smallest config surface
Scope
- Config-only changes.
- mcp-adapters excluded per request.
- Pinned TypeScript 5.8.3 for checks.