Description
Description
See the parent issue for the motivation behind this upgrade: openedx/platform-roadmap#363.
### General tasks
- [x] Announce the deprecation of Node 18
- [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 20 to the test matrix in a non-blocking manner (using
continue-on-error
).Example PR:
test: Add Node 20 to CI matrix frontend-template-application#743
-
If failures are detected on Node 20, create a second PR that addresses those failures while making sure Node 18 still works correctly. Get it merged.
-
Now create a second (or third) PR that:
-
Updates
.nvmrc
to use Node 20 -
Regenerates
package-lock.json
from scratch using it (hint:nvm use && rm package-lock.json && npm install
.) -
Migrates the lockfile check workflow to v3.
-
Removes
continue-on-error
so Node 20 tests must pass -
Fixes any issues in the codebase that arise from the above. At this point both NPM versions are supported, but Node 20 is used for development.
Example PR:
-
-
Create/update DEPR ticket for Node 18
-
Create a final PR that removes Node 18 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 20 for its builds (see the tracking issue).
Example PR:
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/198
- [ ] https://github.com/openedx/frontend-app-authn/issues/1196
- [ ] https://github.com/openedx/frontend-app-account/issues/1008
- [ ] https://github.com/openedx/frontend-app-communications/issues/199
- [ ] https://github.com/openedx/frontend-app-course-authoring/issues/873
- [ ] https://github.com/openedx/frontend-app-discussions/issues/678
- [ ] https://github.com/openedx/frontend-app-ecommerce/issues/374
- [ ] https://github.com/openedx/frontend-app-gradebook/issues/385
- [ ] https://github.com/openedx/frontend-app-learning/issues/1316
- [ ] https://github.com/openedx/frontend-app-learner-dashboard/issues/298
- [ ] https://github.com/openedx/frontend-app-learner-record/issues/298
- [ ] https://github.com/openedx/frontend-app-ora-grading/issues/319
- [ ] https://github.com/openedx/frontend-app-payment/issues/858
- [ ] https://github.com/openedx/frontend-app-profile/issues/980
### Other MFEs
- [ ] https://github.com/openedx/frontend-template-application/issues/742
- [ ] https://github.com/openedx/frontend-app-admin-portal/issues/1277
- [ ] https://github.com/openedx/frontend-app-enterprise-public-catalog/issues/438
- [ ] https://github.com/openedx/frontend-app-learner-portal-enterprise/issues/1161
- [ ] https://github.com/openedx/frontend-app-learner-portal-programs/issues/325
- [ ] https://github.com/openedx/frontend-app-ora/issues/237
- [ ] https://github.com/openedx/frontend-app-publisher/issues/977
- [ ] https://github.com/openedx/frontend-app-shell/issues/16
- [ ] https://github.com/openedx/frontend-app-support-tools/issues/404
- [ ] https://github.com/openedx/edx-enterprise/issues/2213
### Libraries/Other
- [ ] https://github.com/openedx/browserslist-config/issues/13
- [ ] https://github.com/openedx/cypress-e2e-tests/issues/125
- [ ] https://github.com/openedx/edx-bootstrap/issues/300
- [ ] https://github.com/openedx/eslint-config/issues/159
- [ ] https://github.com/openedx/frontend-build/issues/594
- [ ] https://github.com/openedx/frontend-component-cookie-policy-banner/issues/444
- [ ] https://github.com/openedx/frontend-component-footer/issues/466
- [ ] https://github.com/openedx/frontend-component-header/issues/532
- [ ] https://github.com/openedx/frontend-lib-special-exams/issues/151
- [ ] https://github.com/openedx/frontend-platform/issues/731
- [ ] https://github.com/openedx/frontend-plugin-framework/issues/85
- [ ] https://github.com/openedx/mockprock/issues/53
- [ ] https://github.com/openedx/paragon/issues/3233
- [ ] https://github.com/openedx/reactifex/issues/27
- [ ] https://github.com/openedx/react-unit-test-utils/issues/34
- [ ] https://github.com/openedx/stylelint-config-edx/issues/45
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status