Skip to content

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 functions
  • flashcards.js (775 lines): FlashcardFeature class
  • committee.js (528 lines): CommitteeFeature class
  • matrix.js (846 lines): MatrixFeature class
  • factcheck.js (691 lines): FactcheckFeature class
  • research.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