Fix TypeScript config to extend Nuxt-generated tsconfig
This MR was entirely AI generated.
1. Change Summary
The root tsconfig.json was a standalone hand-written config that did not extend .nuxt/tsconfig.json. This caused vue-tsc (via pnpm type-check) to fail immediately on unresolvable vite/client and @types/node type entries—meaning the entire application was never successfully type-checked. All real type errors were masked behind these 2 fatal resolution failures.
What changed
| File | Change |
|---|---|
tsconfig.json |
Rewritten to extend .nuxt/tsconfig.json with proper include entries |
types/ → app/types/ |
Moved so @/types/* alias resolves correctly (@/ maps to app/) |
slippers-ui.d.ts |
Added wildcard declare module 'slippers-ui/icons/*' for per-icon subpath imports |
app/types/base.ts |
Replaced unresolvable @unhead/schema-org import with inline SchemaOrgThing type; added id? to BaseHero.config and BaseCard.config for BaseCopy inheritance compatibility |
app/types/addOnsCardTypes.ts, app/types/calculator.ts |
Updated to relative ./base imports |
common/constants.ts |
Updated import path for moved types dir |
server/plugins/feed.ts |
Fixed createEvent() h3 API compatibility (now requires IncomingMessage + ServerResponse); fixed $fetch wrapper type mismatch |
server/utils/feed/generators.ts |
Replaced Boolean(category) with direct truthiness check for proper TS narrowing |
Follow-up work
Now that type-checking actually works, vue-tsc reveals ~1045 pre-existing type errors across the codebase in component files. These are real issues that were always present but never surfaced. They should be triaged and fixed incrementally in follow-up MRs. Consider adding pnpm type-check to CI (initially as non-blocking).
2. QA Checklist
- Code Cleanup: Any messages, linter warnings, and/or deprecation warnings are cleaned up in the console
- Tech Debt: I have created, or documented, any fast follow-up work that needs to be done after this MR is merged
- Efficient Code Review: I have tested and reviewed my own changes thoroughly before assigning a reviewer
Testing steps
- Run
pnpm type-check— should surface the error numbers - Run
npx vue-tsc --noEmit -p server/tsconfig.json— should surface the error numbers - Verify IDE TypeScript support works (auto-imports like
ref,computedshould resolve;@/types/*imports should resolve)
3. Deployment Steps
No deployment configuration changes. This is a developer tooling fix only—no runtime behavior is affected.