forked from pmgl/microstudio
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Objective:
Eliminate CoffeeScript from the microstudio8 codebase and adopt modern TypeScript for improved type safety, maintainability, and developer experience.
Benefits:
- Remove legacy CoffeeScript compilation layer
- Strong typing catches errors earlier
- Modern syntax (ES2018+) improves readability
- Better IDE tooling (IntelliSense, refactoring)
- Clear interfaces & contracts ease onboarding
- Source maps & direct TS debugging
Scope Summary:
- Backend: DB, session, server bootstrap, API, application subsystems (build, content, forum, relay, filestorage)
- Frontend: Editor, project management, language parsers
- Tooling: Introduce tsconfig, replace coffee build steps, integrate tests
- Documentation & cleanup post migration
Task Checklist (subtasks):
- Phase 1: Assess CoffeeScript codebase & identify critical paths #1 Phase 1: Audit & preparation
- Phase 2: Migrate core infrastructure (DB, session, server, API) to TypeScript #2 Phase 2: Core infrastructure migration
- Phase 3: Migrate application layer modules (build, content, forum, relay, filestorage) #3 Phase 3: Application layer migration
- Phase 4: Migrate frontend CoffeeScript (editor, project, languages) to TypeScript #4 Phase 4: Frontend migration
- Phase 5: Testing & documentation refinement post-migration #5 Phase 5: Testing & documentation refinement
Execution Guidelines:
- Copy existing compiled .js to .ts then refactor incrementally
- Introduce interfaces progressively; prefer correctness over premature optimization
- Replace var with const/let, remove CoffeeScript binding IIFEs
- Keep PRs scoped per subsystem to reduce review risk
- Maintain passing startup smoke test after each phase
Acceptance Criteria for Epic Completion:
- No .coffee files remain in repository
- All server and client code compiles via TypeScript (tsc) without errors (strict mode)
- Updated README & migration docs committed
- Test suite covers critical paths (startup, DB ops, session, core API endpoints)
- Documented before/after metrics (file counts, LOC, type coverage snapshot)
Risks & Mitigations:
- Large refactor instability → phased approach with smoke tests per phase
- Type gaps: start with loose types, tighten in later commits
- Build complexity: adopt minimal tooling first, optimize later
Tracking:
This issue remains open until all checklist items are completed and closed.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request