Bun.serve на Vercel: локальный сервер уезжает в прод без фреймворка

Vercel Functions на рантайме Bun принимают Bun.serve() как точку входа — с веб-сокетами и картой маршрутов. Vercel добавил поддержку: сервер, который поднимаете локально через Bun, уезжает в прод без обёртки во фреймворк.
Как включить рантайм
В vercel.json укажите "bunVersion": "1.x" — Functions переключатся на Bun, и Bun.serve() станет точкой входа. Отдельный адаптер под фреймворк не нужен.
Сервер с маршрутами
Создайте server.ts в корне проекта с картой маршрутов — Vercel подхватит его при деплое. Тот же файл, что гоняете локально, работает на проде как есть.
Веб-сокеты на Fluid compute
- В обработчике
fetchвызовитеserver.upgrade(request)на подходящих запросах — остальная логика сервера не меняется. - Соединения идут через Fluid compute с тарификацией Active CPU: платите за обработку сообщений, а не за простой открытого канала.
- Одно соединение закреплено за одним инстансом Function на всё время жизни; один инстанс держит несколько параллельных подключений.
- Рассылку между инстансами координируйте через внешнее хранилище — Redis, очередь или базу.
Источник: Bun runtime for Vercel Functions now accepts Bun.serve as an entrypoint.