Scope:
Convert foundational backend CoffeeScript modules to TypeScript: database layer, session management, main server bootstrap, and API layer.
Priority Order:
- server/db/*.coffee
- server/session/*.coffee
- server/server.coffee & server/webapp.coffee
- server/api.coffee
Key Actions per file:
- Copy existing compiled .js → .ts
- Introduce interfaces/types for data models and records
- Replace var with const/let, remove CoffeeScript IIFE/binding patterns
- Add explicit return types and error handling
- Remove .coffee version after verification
Acceptance Criteria:
- All targeted core files exist as .ts with no TypeScript errors
- Unit / smoke tests pass for startup & one sample API call
- CoffeeScript originals removed for migrated subset
Deliverables:
- Type definitions for DB records & session objects
- Updated build script using tsc (no coffee step) for these modules
Risks:
- Implicit dynamic structures → mitigate with incremental typing (any → interfaces)
- Circular dependencies revealed by ES module resolution
Scope:
Convert foundational backend CoffeeScript modules to TypeScript: database layer, session management, main server bootstrap, and API layer.
Priority Order:
Key Actions per file:
Acceptance Criteria:
Deliverables:
Risks: