Version 0.1.35¶
This release delivers a major refactoring of the frontend codebase, splitting the monolithic app.js into dedicated feature modules for better maintainability and developer experience.
Refactoring¶
- Split app.js into six dedicated feature modules using dependency injection pattern:
utils.js(402 lines): Pure utility functionsflashcards.js(775 lines): FlashcardFeature classcommittee.js(528 lines): CommitteeFeature classmatrix.js(846 lines): MatrixFeature classfactcheck.js(691 lines): FactcheckFeature classresearch.js(348 lines): ResearchFeature class- Reduced app.js from ~8,479 to 5,503 lines (35% reduction). (d1c6221) (Eric Ma)
Technical Details¶
- All feature modules use lazy initialization via getters in App class
- Feature modules are reset when graph changes to ensure fresh state
- All 55 JS tests and 48 Python tests pass