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

Conversation

obulat
Copy link
Contributor

@obulat obulat commented Jun 4, 2023

Fixes

Part of #411

Description

Tagging @sarayourfriend and @zackkrida for their experience with frontend.

Process

This discussion is following the Openverse decision-making process. Information
about this process can be found
on the Openverse documentation site.
Requested reviewers or participants will be following this process. If you are
being asked to give input on a specific detail, you do not need to familiarise
yourself with the process and follow it.

Current round

This discussion is currently in the Decision round.

The deadline for review of this round is 2023-06-07

  • My pull request has a descriptive title (not a vague title likeUpdate index.md).
  • My pull request targets the default branch of the repository (main) or a parent feature branch.
  • My commit messages follow best practices.
  • My code follows the established code style of the repository.
  • I added or updated tests for the changes I made (if applicable).
  • I added or updated documentation (if applicable).
  • I tried running the project locally and verified that there are no visible errors.
  • I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@obulat obulat added 🟨 priority: medium Not blocking but should be addressed soon ✨ goal: improvement Improvement to an existing user-facing feature 💻 aspect: code Concerns the software code in the repository 🧱 stack: frontend Related to the Nuxt frontend 🧭 project: proposal A proposal for a project labels Jun 4, 2023
@obulat obulat requested a review from a team as a code owner June 4, 2023 17:36
@obulat obulat self-assigned this Jun 4, 2023
@github-actions github-actions bot added the 🧱 stack: documentation Related to Sphinx documentation label Jun 4, 2023
Copy link
Collaborator

@sarayourfriend sarayourfriend left a comment

Choose a reason for hiding this comment

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

LGTM save the detail about the Node upgrade being optional. If we want to add wiggle room, we could say that the requirement should be that Node is upgradeable (not necessarily upgraded, if we need another implementation plan to cover dangling, non-Nuxt version related issues) to current LTS but not necessarily the latest node.

The pnpm upgrade seems 100% optional to me and is just a nice to have. I'd be fine if it didn't happen and was handled in a separate smaller implementation plan if it has complexities to handle.

- 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

@sarayourfriend sarayourfriend self-requested a review June 5, 2023 01:29
@sarayourfriend sarayourfriend dismissed their stale review June 5, 2023 01:30

Just meant to leave a comment, not request review, as I think this is still in clarification (though I believe we can short-cut the rounds quickly on this one if Zack agrees as it's pretty straightforward).

@github-actions
Copy link

github-actions bot commented Jun 5, 2023

Full-stack documentation: https://docs.openverse.org/_preview/2311

Please note that GitHub pages takes a little time to deploy newly pushed code, if the links above don't work or you see old versions, wait 5 minutes and try again.

You can check the GitHub pages deployment action list to see the current status of the deployments.

@zackkrida
Copy link
Member

I also think we can shortcut the rounds quickly. I agree with the changes to making the pnpm upgrade entirely optional / a separate project and defaulting to Node 18 as well.

@obulat
Copy link
Contributor Author

obulat commented Jun 5, 2023

Based on the suggestions in the comments to short-circuit this discussion, I added the changes regarding the node and pnpm versions, and moved this discussion to the Decision step.

Comment on lines 33 to 34

- 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).
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- 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).
- 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).

Copy link
Member

@zackkrida zackkrida left a comment

Choose a reason for hiding this comment

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

LGTM. I think this project would have been okay without a project plan, and having one that is concise and ads further clarification about specific version numbers for Node is useful. LGTM.

Copy link
Collaborator

@sarayourfriend sarayourfriend left a comment

Choose a reason for hiding this comment

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

LGTM. I also agree that this would have gone okay without a plan but I am glad we got to have the discussion about the Node version assumption and make it explicit. Thanks, Olga!

@obulat obulat merged commit e3bc08a into main Jun 6, 2023
@obulat obulat deleted the project/nuxt_3_migration branch June 6, 2023 06:51
@obulat obulat mentioned this pull request Jun 6, 2023
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💻 aspect: code Concerns the software code in the repository ✨ goal: improvement Improvement to an existing user-facing feature 🟨 priority: medium Not blocking but should be addressed soon 🧭 project: proposal A proposal for a project 🧱 stack: documentation Related to Sphinx documentation 🧱 stack: frontend Related to the Nuxt frontend
Projects
Status: Accepted
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants