-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Description
See the parent issue for the motivation behind this upgrade: openedx/platform-roadmap#454
### General tasks
- [ ] Announce the deprecation of Node 20
- [x] Create an issue to track the upgrade on each MFE
- [x] Create an issue to track the upgrade on tutor-mfe
Upgrade process
For each MFE, one should do the following, in order:
-
Create and merge a PR that does nothing else but add Node 24 to the test matrix in a non-blocking manner (using
continue-on-error
).Example PR (Node 20 upgrade):
test: Add Node 20 to CI matrix frontend-template-application#743
-
If failures are detected on Node 24, create a second PR that addresses those failures while making sure Node 20 still works correctly. Get it merged.
-
Now create a second (or third) PR that:
- Updates
.nvmrc
to use Node 24 - Regenerates
package-lock.json
from scratch using it (hint:nvm use && rm package-lock.json && npm install
.) - Removes
continue-on-error
so Node 24 tests must pass - Fixes any issues in the codebase that arise from the above. At this point both NPM versions are supported, but Node 24 is used for development.
Example PR (Node 20 upgrade):
- Updates
-
Create/update DEPR ticket for Node 20
-
Create a final PR that removes Node 20 from the test matrix. If the MFE is officially supported by Tutor, wait to merge it until the DEPR is complete and tutor-mfe is flipped over to use Node 24 for its builds (see the tracking issue).
Example PR (Node 20 upgrade):
test: Remove support for Node 18 frontend-template-application#745
The following task list will track the above for individual MFEs:
### Tutor-supported MFEs
- [ ] https://github.com/overhangio/tutor-mfe/issues/261
- [ ] https://github.com/openedx/frontend-app-authn/issues/1502
- [ ] https://github.com/openedx/frontend-app-account/issues/1270
- [ ] https://github.com/openedx/frontend-app-communications/issues/238
- [ ] https://github.com/openedx/frontend-app-authoring/issues/2177
- [ ] https://github.com/openedx/frontend-app-discussions/issues/776
- [ ] https://github.com/openedx/frontend-app-gradebook/issues/469
- [ ] https://github.com/openedx/frontend-app-learning/issues/1735
- [ ] https://github.com/openedx/frontend-app-learner-dashboard/issues/663
- [ ] https://github.com/openedx/frontend-app-learner-record/issues/555
- [ ] https://github.com/openedx/frontend-app-ora-grading/issues/438
- [ ] https://github.com/openedx/frontend-app-profile/issues/1219
### Other MFEs
- [ ] https://github.com/openedx/frontend-template-application/issues/903
- [ ] https://github.com/openedx/frontend-app-admin-portal/issues/1548
- [ ] https://github.com/openedx/frontend-app-enterprise-public-catalog/issues/492
- [ ] https://github.com/openedx/frontend-app-learner-portal-enterprise/issues/1392
- [ ] https://github.com/openedx/frontend-app-learner-portal-programs
- [ ] https://github.com/openedx/frontend-app-ora/issues/313
- [ ] https://github.com/openedx/frontend-app-publisher/issues/1036
- [ ] https://github.com/openedx/frontend-app-support-tools
- [ ] https://github.com/openedx/edx-enterprise/issues/2418
- [ ] https://github.com/openedx/frontend-app-catalog/issues/9
### Libraries/Other
- [ ] https://github.com/openedx/browserslist-config/issues/20
- [ ] https://github.com/openedx/cypress-e2e-tests/issues/142
- [ ] https://github.com/openedx/edx-bootstrap/issues/317
- [ ] https://github.com/openedx/eslint-config/issues/177
- [ ] https://github.com/openedx/frontend-build/issues/657
- [ ] https://github.com/openedx/frontend-component-cookie-policy-banner
- [ ] https://github.com/openedx/frontend-component-footer/issues/542
- [ ] https://github.com/openedx/frontend-component-header/issues/607
- [ ] https://github.com/openedx/frontend-lib-special-exams
- [ ] https://github.com/openedx/frontend-platform/issues/822
- [ ] https://github.com/openedx/frontend-plugin-framework/issues/113
- [ ] https://github.com/openedx/mockprock
- [ ] https://github.com/openedx/paragon/issues/3658
- [ ] https://github.com/openedx/reactifex
- [ ] https://github.com/openedx/react-unit-test-utils
- [ ] https://github.com/openedx/stylelint-config-edx/issues/50