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

fix: initialize nitro app before plugins run #1906

Merged
merged 8 commits into from
Sep 20, 2024

Conversation

harlan-zw
Copy link
Contributor

@harlan-zw harlan-zw commented Nov 12, 2023

πŸ”— Linked issue

❓ Type of change

  • πŸ“– Documentation (updates to the documentation, readme, or JSdoc annotations)
  • 🐞 Bug fix (a non-breaking change that fixes an issue)
  • πŸ‘Œ Enhancement (improving an existing functionality like performance)
  • ✨ New feature (a non-breaking change that adds functionality)
  • 🧹 Chore (updates to the build process or auxiliary tools and libraries)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to change)

πŸ“š Description

This is more of a proof-of-concept to highlight the issue and maybe offer a solution, feel free to close for your own solution.

The issue is that when a plugin wants to make an internal fetch, if that endpoint is using useNitroApp, then it will fail. This is because plugins are ran without the nitroApp context being available.

I've got around it previously using a timeout "hack" (harlan-zw/nuxt-link-checker@646e6ff), but as has been pointed out, this isn't exactly reliable (nuxt-modules/sitemap#149 (comment)).

πŸ“ Checklist

  • I have linked an issue or discussion.
  • I have updated the documentation accordingly.

@pi0
Copy link
Member

pi0 commented Nov 12, 2023

Thanks for making PR. Although it is slightly a breaking/risky behavior change i was considering to do similar change also in order to allow async plugins. I will carefully review it soon to make sure we won't break anything before moving forward.

@pi0
Copy link
Member

pi0 commented Nov 20, 2023

(delaying to next minor) -- update marked as draft to investigate more

@pi0 pi0 marked this pull request as draft February 27, 2024 17:13
@pi0 pi0 changed the base branch from main to v2 September 20, 2024 12:05
@pi0 pi0 marked this pull request as ready for review September 20, 2024 12:09
@pi0 pi0 merged commit 33988d5 into v2 Sep 20, 2024
5 checks passed
@pi0 pi0 deleted the fix/initialize-nitro-app-pre-plugins branch September 20, 2024 12:12
@pi0
Copy link
Member

pi0 commented Sep 20, 2024

Thank you!!

@pi0 pi0 mentioned this pull request Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants