Upgrade bundled http-proxy to modern replacement (httpxy or http-proxy-3)

Current http-proxy v1.18.1 is unmaintained (2018) with 513 open issues
and triggers Node.js deprecation warnings. Recommend replacing with httpxy
(more active, better features) or http-proxy-3 (API compatible).

Top 2 Recommendations

:trophy: httpxy (Recommended)

  • Stars: 277 :star: | Open Issues: 9 | Last Updated: March 2026
  • URL: https://github.com/unjs/httpxy
  • Key Benefits:
    • :white_check_mark: Most active (unjs is a reputable org behind Nuxt/Nitro/Vite ecosystem)
    • :white_check_mark: Full-featured HTTP & WebSocket proxy
    • :white_check_mark: TypeScript with modern patterns
    • :white_check_mark: ESM-native (modern module system)
    • :white_check_mark: Minimal dependencies
    • :white_check_mark: Actively maintained (9 issues only)

:2nd_place_medal: http-proxy-3 (Direct Replacement)

  • Stars: 92 | Open Issues: 13 | Last Updated: March 2026
  • URL: https://github.com/sagemathinc/http-proxy-3
  • Key Benefits:
    • :white_check_mark: Drop-in replacement (“Modern rewrite of node-proxy”)
    • :white_check_mark: API compatible with original http-proxy
    • :white_check_mark: TypeScript
    • :white_check_mark: Requires Node.js 18+
    • :warning: Fewer stars/maturity than httpxy
1 Like

Super useful to raise this point :saluting_face:

After looking at Meteor’s current usage in run-proxy.js, I’d probably lean toward http-proxy-3 for now. It seems like the safer option if the goal is to modernize the current implementation without turning this into a broader refactor :grimacing:

1 Like

@storyteller already has us covered

4 Likes

Yeah but seems stuck. Thanks Jan for pushing this.

I wonder if httpxy would have given us less problems (with Linux).

The swap itself is straightforward, the real blocker is the dev_bundle rebuild, swapping http-proxy for http-proxy-3 in dev-bundle-tool-package.js requires the core team to generate a new bundle for CI

It also required beforehand support for Node 24 in our CI, since we plan for it to be part of Meteor 3.5 and that is the version fully aligned with it. But it’s true, next step on those efforts is to have a dev_bundle and analyze CI passes. We will proceed on it soon.

We will act on these contributions, and many others that have come up recently, as our time and capacity allow. We also have other fronts open, such as Meteor 3.4.1, update our meteor/examples and others.

We are still humans, sadly not yet replaced by flawless AI entities that reply in half a second, solve everything instantly, and probably never need coffee, sleep or emotional recovery after reading a huge PR. So we need to carefully analyze things and act on them, and lately many have been coming at us at once.:rofl:

1 Like

Can we work on the examples ? :slight_smile:

1 Like

Already covering the examples in this PR. But feel free to add as many examples with useful showcases that we can include, apart from those existing there which are being covered already.

@dupontbertrand: Btw, GitHub - meteor/mobile-packages: Meteor packages that provide functionality on mobile and desktop via Cordova plugins. · GitHub, need also to be adapted. Anybody could contribute to these if they want. We didn’t started that yet.