Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Nuxt 3 migration project proposal #2311

Merged
merged 4 commits into from
Jun 6, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# 2023-06-02 Project Proposal

**Author**: @olgabulat

## Reviewers

<!-- Choose two people at your discretion who make sense to review this based on their existing expertise. Check in to make sure folks aren't currently reviewing more than one other proposal or RFC. -->

- [ ] @zackkrida - for previous experience of migrating the project to Nuxt
- [ ] @sarayourfriend - for extensive experience on the frontend
obulat marked this conversation as resolved.
Show resolved Hide resolved

## Project summary

<!-- A brief one or two sentence summary of the project's features -->

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

## Goals

<!-- Which yearly goal does this project advance? -->

Developer experience

## Requirements

<!-- Detailed descriptions of the features required for the project. Include user stories if you feel they'd be helpful, but focus on describing a specification for how the feature would work with an eye towards edge cases. -->

- 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.
- (Optional) Nuxt app should use node version 20, and pnpm version 8.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pnpm version upgrade does seem optional to me, but moving off of Node 16 should either be a mandatory requirement of this, either to actually do it or identify the specific things that need to be done beyond Nuxt 3 upgrades (even in passing, to set up a subsequent implementation plan). Node 16 reaching EOL while we're still on it introduces a significant risk of security issues that we should prioritise avoiding.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll update it to say:

  • 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

obulat marked this conversation as resolved.
Show resolved Hide resolved

## Success

<!-- How do we measure the success of the project? How do we know our ideas worked? -->

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

## Participants and stakeholders

<!-- Who is working on the project and who are the external stakeholders, if any? Consider the lead, implementers, designers, and other stakeholders who have a say in how the project goes. -->

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

## Infrastructure

<!-- What infrastructural considerations need to be made for this project? If there are none, say so explicitly rather than deleting the section. -->

There should be no infrastructure changes.

## Accessibility

<!-- Are there specific accessibility concerns relevant to this project? Do you expect new UI elements that would need particular care to ensure they're implemented in an accessible way? Consider also low-spec device and slow internet accessibility, if relevant. -->

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

<!-- Are there potential marketing opportunities that we'd need to coordinate with the community to accomplish? If there are none, say so explicitly rather than deleting the section. -->

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

## Required implementation plans

<!-- What are the required implementation plans? Consider if they should be split per level of the stack or per feature. -->

Frontend implementation plan.
8 changes: 8 additions & 0 deletions documentation/projects/proposals/nuxt_3_migration/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Nuxt 3 Migration

```{toctree}
:titlesonly:
:glob:

*
```