2024-08-01 Frontend Working Group Meeting Notes: Coverage, Default Theme, and frontend-base
Date, time, location
Date:Aug 1, 2024 at 15:00 UTC (timezone converter)
Location: https://meet.google.com/cxz-yjwi-gvi
Discussion topic(s)
Strategy around coverage (@Brian Smith)
Indigo as the default theme (@Adolfo Brandes )
Review of the new frontend-base repository. (@David Joy)
🎥Recording
Video: Frontend Working Group Meeting (2024-08-01 12:02 GMT-3)
Chat: Frontend Working Group Meeting (2024-08-01 12:02 GMT-3) - Chat Transcript
Transcript: Frontend Working Group Meeting (2024-08-01 12:02 GMT-3) - Transcript
Participants
Adolfo Brandes, Brayan Cerón, Brian Smith, David Joy, Fox Piacenti, Jason Wesson, Juan Carlos Iasenza (Aulasneo), Milad Emami
🤖 Summary
1. Strategies Around Coverage in Frontends (Presented by Brian Smith)
Context:
Discussion started in the Paragon working group about adding types to Paragon.
Moving away from prop types to using Typescript for type coverage.
Integrating type coverage into CI without relying on external services.
Aiming for a holistic strategy covering code coverage, type coverage, bundle size monitoring, etc.
Issues with Current Approach:
Dependence on external services like Codecov can cause CI workflow interruptions.
Maintenance burden due to external service changes.
Proposal:
Run coverage reporting within GitHub actions to avoid reliance on external services.
Ensure the system is robust and does not add complexity to developers' workflows.
Discussion Points:
Need to identify tools that provide similar benefits to current services.
Importance of understanding the details provided by services like Codecov (e.g., identifying uncovered lines).
Actions:
Investigate alternatives that integrate seamlessly with GitHub actions.
Possibly open an issue to continue the discussion and gather more input.
2. Deprecating the Current Default Theme of Open edX (Presented by Adolfo Brandes)
Context:
Product working group proposed deprecating the current default theme.
Aim to unify the user experience across the platform by adopting a consistent default theme.
Current Situation:
Various themes exist: default theme in edx-platform, Paragon's defaults, and Tutor Indigo.
Tutor Indigo is often the de facto default due to its use in Tutor installations.
Proposal:
Integrate Tutor Indigo’s defaults into Open edX as the official default theme.
Move the integration upstream, ensuring it is maintained and tested by the community.
Discussion Points:
Importance of having a clear, cohesive default theme.
Ensuring the theme is accessible and does not introduce opinionated styles that conflict with customization.
Potentially keep Paragon’s base styles minimal and accessible while offering Indigo as a more feature-rich default.
Actions:
Adopt Tutor Indigo as the default theme, ensuring it is part of the Open edX organization.
Maintain clear documentation and examples to help users customize their themes.
3. Frontend Base Initiative (Presented by David Joy)
Context:
Introduction of
frontend-base
, a unified library to replace multiple core frontend libraries.Supports OEP-65 for module federation, enabling runtime composition of MFEs.
Current Architecture:
MFEs currently rely on multiple separate libraries (frontend-platform, frontend-build, frontend-component, etc.).
Complexity in building and deploying MFEs, with many environment-specific configurations.
New Architecture:
frontend-base
will include:Runtime library (replacing frontend-platform and plugin framework).
Configurations (webpack, eslint, typescript).
CLI for streamlined development and build processes.
Shell for initializing and managing MFEs.
Benefits:
Simplifies MFE structure by consolidating dependencies.
Improves maintainability and iteration speed by centralizing initialization and configuration.
Supports both current deployment mechanisms and future module federation architecture.
Discussion Points:
Transition path from current MFEs to the new architecture.
Ensuring compatibility with existing deployment workflows.
Gradually introducing changes to avoid disruption.
Actions:
Continue developing
frontend-base
and testing with existing MFEs.Create detailed migration guides and tools to assist developers in transitioning.
Engage with the community for feedback and refinement.
Next Steps:
Further investigation and discussion on replacing external CI services with self-hosted solutions.
Finalizing the decision to adopt Tutor Indigo as the default theme and planning the integration.
Continuing development on
frontend-base
and planning the transition path for existing MFEs.
Note:
David Joy will continue to post updates in the WG frontend and module federation Slack channels for those interested in following the progress of frontend-base
.