2024-04-11 Frontend Working Group Meeting Notes: Node 18 upgrade

 Date, time, location

 Discussion topic(s)

The Node 18 upgrade.

🎥Recording

 Participants

Adolfo Brandes, Brian Smith, Chintan Joshi, David Joy, Fox Piacenti, Jason Wesson, Max Frank

🤖 Summary

A summary of the meeting, generated by an LLM.

Key Points Discussed:

  1. Node and Webpack Upgrades: Brian Smith provided an update on the challenges faced with upgrading from Node 16 to 18 and transitioning from Webpack 4 to Webpack 5. The complexity of the upgrade largely stems from the changes necessary in Webpack configurations, which are not straightforward due to various dependency issues and configuration nuances.

  2. Test Suite Issues: A significant portion of the discussion focused on problems with the test suite where certain tests were not running due to incomplete or failed Webpack builds. Brian noted that while some tests pass, others fail without clear reasons, suggesting discrepancies in the build and test environments. The group discussed the need to ensure that production configurations are tested thoroughly to prevent such issues.

  3. Forking and Dependency Management: Brian mentioned the necessity to fork certain dependencies that are no longer maintained and to manage versions more effectively to accommodate new upgrades. There was also a mention of problems with using older tools like Tutor and Devstack for development due to dependency issues.

  4. Configuration and Build Issues: The discussion included technical details on how Webpack’s configurations are causing build issues, especially around chunking and module naming, which are not aligning with test configurations leading to failures.

  5. Future Directions and Maintenance: Adolfo Brandes highlighted the ongoing efforts to simplify the edx platform by possibly removing outdated frontend code and dependencies, which are hard to maintain. This aligns with broader goals to make the platform more manageable and less dependent on legacy configurations.

  6. Plugins and Extensions: The latter part of the meeting shifted towards discussing the management of plugins and the integration of new functionalities via the frontend platform. The group discussed how to handle plugin slots and ensure that they are documented and managed effectively to support extensibility.

Decisions and Actions:

  • Continued Investigation: Brian and others will continue to investigate the root causes of the build and test failures, focusing on configuration and dependency management.

  • Documentation and Management of Plugins: There was a consensus on the need for better documentation of plugin slots and their management to facilitate easier integration and maintenance.

 Action items

 Decisions