-
Notifications
You must be signed in to change notification settings - Fork 3
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
feat: support uWebSocket.js #22
Conversation
FYI @nitedani |
https://github.com/vikejs/vike-node/actions/runs/11464915212/job/31902213911?pr=22 Error: 42.542][/test/vike-node/.prod-uws.test.ts][npm run prod][stderr] ✘ [ERROR] No loader is configured for ".node" files: ../../node_modules/.pnpm/uWebSockets.js@https+++codeload.github.com+uNetworking+uWebSockets.js+tar.gz+442087c0a01bf146_ef5o3ypzxljf3ryz2pfwb3ukxu/node_modules/uWebSockets.js/uws_linux_arm_108.node What should we use to load native Node ( Some alternatives:
There is a vike plugin to do that? |
|
f1e2417
to
9dd6074
Compare
I'll have a look at this PR after I'm done with my current backlog. ETA soon. |
Note: this PR can be used (generalized common factor) for all HTTP server frameworks that didn't use Node.js objects (Request, IncomingMessage, ServerResponse) |
@rtritto Thank you for your PR and the ping. It would indeed be great to support uWebSockets. In #16 we're starting using Note In case you're curious: the vision is to have powerful Vike extensions that can fully integrate with each other automatically (with eject if the user wishes more control). @magne4000 WDYT? On one hand it would quite nice to support uWebSockets and on the other hand if it slows us down too much then maybe it isn't worth it. |
uWebSockets would indeed need to be integrated into |
@magne4000 I don't have (yet) the knowledge to create a new adapter for Maybe @hattip/adapter-uwebsockets can help. Anyway you can start a PR and then ping me or ask for reviews or help. |
In the meantime, let's close this PR in favor of a potentially upcoming |
Probably not. Creating a new I'll let you know when I'll start working on it, but it's not on my priority list right now. |
Changes/TODO
cors
middleware (enabled by default) in Vite Dev Server:cors
middleware, used by Vite, uses isn't compatible with response and request as Request, IncomingMessage, ServerResponse of Node.js; source: https://github.com/vitejs/vite/blob/main/packages/vite/src/node/server/index.ts#L831createServerResponse.ts
file (same as https://github.com/vikejs/vike-node/blob/main/packages/vike-node/src/runtime/adapters/createServerResponse.ts) to bind (replace) theres.writeHead
used by Vite middleware https://github.com/vitejs/vite/blob/main/packages/vite/src/node/server/middlewares/base.tsFix #20
Note: Help and reviews are needed