2025-04-24 Frontend Working Group Meeting Notes: Build optimization

2025-04-24 Frontend Working Group Meeting Notes: Build optimization

 Date, time, location

 Discussion topic(s)

One, maybe two topics to be presented or discussed in depth in the upcoming meeting.

🎥Recording

 Participants

Adolfo Brandes, Brian Smith, Jesse Stewart-WGU, Max Frank

🤖 Summary

🛠️ Discussion on Build Dependency Optimization

Context & Problem

  • Brian Smith initiated a conversation around reducing build times and bundle sizes, referencing a PR by Reis involving the reclassification of frontend build dependencies as devDependencies.

  • This PR, however, could break current behavior, since Micro Frontends (MFs) rely on these dependencies at runtime.

Alternative Solution

  • Brian suggested a cleaner approach involving the use of optionalDependencies and reconfiguring frontend-platform so that frontend-build can be treated as a devDependency.

  • This strategy aims to:

    • Reduce unintended direct dependencies in MF bundles.

    • Enable frontend-build to be omitted during runtime unless explicitly needed.

Unresolved Issue

  • The team was waiting for input from Adam to understand the results of his discovery and whether this strategy introduces any regressions or issues.


🧪 Jesse Stewart's First Contribution

PR Overview

  • Jesse described a fix addressing a navigation visibility issue in locked or future-dated courses.

    • The navigation was disappearing due to a boolean value; Jesse adjusted this and added a useEffect to maintain correct navigation state.

  • Uncertainty remained on whether this was a regression or intended behavior, so Jesse wisely created a proposal and sought product feedback.

Action Items

  • Jesse:

    • Confirmed steps from the review checklist.

    • Engaged with the Product Core group via Slack to validate the intended behavior.

  • Group:

    • Suggested quick confirmation with Product.

    • Agreed it’s a likely bug but wanted documentation of product sign-off.


🔧 Footer Slot Change and External Scripts

Max Frank’s Update

  • Confirmed that the footer slot change in Learner Dashboard is approved and ready to go.

  • Discussed duplicating the change in their fork to handle arbitrary JavaScript injection.

Frontend Base Considerations

  • Adolfo explained that as frontend-base matures (moving toward v1.0):

    • Many one-off configurations are being removed or refactored into plugins.

    • Features like external scripts may need to be reconsidered or rebuilt.

    • Encouraged collaboration to define what's essential and modularize accordingly.


📦 Frontend Base Refactor & Module Federation

Overview

  • Frontend Base is a major refactor aiming to make the frontend ecosystem more modular, maintainable, and scalable.

  • Highlights include:

    • Leveraging Module Federation (MF) to allow independent module deployments.

    • Transitioning shared functionality into a plugin architecture.

    • Reducing build bloat and avoiding multiple versions of shared libraries like React.

Key Takeaways

  • Jesse showed enthusiasm for module federation, sharing relevant experience.

  • Team members expressed support for the modular direction and acknowledged the challenges with version management across MFs.

  • Adolfo noted that though this isn’t yet a monorepo dream, it’s a strong step forward.

 Action items

  • Adolfo to follow up with Adam regarding the dependency discovery.

  • Jesse to await product feedback and finalize his PR based on it.

  • Max & Brian to finalize footer slot handling and consider long-term improvements for injecting JavaScript.

 Decisions