-
Notifications
You must be signed in to change notification settings - Fork 227
npm: update express to 5.1 #8531
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
base: master
Are you sure you want to change the base?
Conversation
6069139
to
eddc6ad
Compare
eddc6ad
to
585e4ce
Compare
Any new thoughts about this? |
no, unfortunately not. there is certainly work left to do, though. |
ok wait, I'll check again. I think I got something to work, but I was a bit surprised in the end. There are probably aspects left I didn't test, so, that's the "unknown" for me here. |
I watched a talk on youtube from nodeconf eu 24 about this express update. I guess there had been no major updates in ~10 years, or something, and somebody got inspired to modernize express, which finally led to a 5.x release. So it could indeed be challenging! |
Ref #8529
I think I got it to work. It needs a thorough check and more testing, though...
This is a note from earlier ...
This gives me headaches. The core issue is there are no longer those flexible regex routes. Rather a more strict system, i.e.
path-to-regexp
updated. One place where I'm stuck is the proxy setup for projects. The idea I have is to create a small middleware, which checks if the supposed project ID is actually an UUID – otherwise to pass on internally to the next route. router level middleware This also implies that the "string-regex" passed toinitUpgrade
needs to be different than the more general path for the route.What I got to work is e.g. the index page, loading frontend, redirecting to specific frontend pages, etc. The websocket connection doesn't work though. Some detail must be off.
Also, just while running the dev server, I get weird sudden crashes like that:
What I haven't even started to look into is the api/v2 endpoint: