2023-06-02 Project Proposal

Author: @olgabulat

Reviewers

  • [x] @zackkrida - for previous experience of migrating the project to Nuxt

  • [x] @sarayourfriend - for extensive experience on the frontend

Project summary

Openverse should migrate from Nuxt 2, which is about to reach end-of-life, to Nuxt 3.

Goals

Developer experience

Requirements

  • Openverse should run on Nuxt 3.

  • All the current functionality should work as expected.

  • All the dependencies should be either updated to latest versions that support Nuxt 3 or replaced with the ones that support Nuxt 3.

  • Nuxt app should migrate from node version 16 to the active LTS version 18 (or the current version 20, which will become active LTS on 2023-10-24).

  • (Optional) Nuxt app should migrate to pnpm version 8

Success

Openverse uses Nuxt 3, the end-users see no regressions, and the developer experience is improved due to faster build times.

Participants and stakeholders

Lead: @obulat Implementation: @obulat, TBD Stakeholders: Openverse team

Infrastructure

There should be no infrastructure changes.

Accessibility

Updating to Nuxt 3 could improve the accessibility for slow internet/low-spec devices by improving the app performance. There should be no changes in terms of accessibility for screen-reader and keyboard users.

Marketing

We could share a post on Make WordPress about the Nuxt 3 migration.

Required implementation plans

Frontend implementation plan.