Вступ
Що таке Hopak, коли його обирати та як він влаштований.
Hopak — це бекенд-фреймворк для Bun. Він генерує REST-сервіси зі звичайних файлів: ви пишете моделі та файли маршрутів, а CLI генерує решту.
Ментальна модель протилежна рантайм-магії: усе є файлом на диску. CRUD-ендпоїнти, міграції, девові сертифікати — все створюється командою hopak generate і лежить у Вашому дереві вихідного коду як звичайний код, який можна читати й редагувати. Рантайм лише виконує те, що є у Ваших файлах. Ніщо не синтезується з прапорця під час запуску.
Один файл моделі описує таблицю, тип рядка TypeScript і валідатор. Виконайте hopak generate crud <name> — і шість REST-ендпоїнтів з’являться у вигляді двох файлів маршрутів. Запустіть сервер через hopak dev, і схема матеріалізується через CREATE TABLE IF NOT EXISTS. Типізовані клієнти ctx.db.model('post') генеруються з тих самих моделей, які ви вже написали.
Обирайте Hopak, коли вам потрібен типізований REST-бекенд на Bun із мінімальною відстанню від «порожньої теки» до «робочого ендпоїнту». Це REST-first — без GraphQL і без генератора RPC; якщо вам потрібне щось із цього, оберіть інший інструмент. Realtime-ендпоїнти покрито: файл маршруту може експортувати WebSocket-хендлери або SSE-стрім.
Про цю документацію
Документація одна, і вона описує поточний реліз — версію показано в шапці, з посиланням на changelog. Усе, що в цьому релізі додано, змінено чи прибрано, позначено просто в тексті:
Додано у 1.0
Змінено у 1.0
Прибрано у 1.0
Якщо Ви на старішій версії, читайте Оновлення — там перелічено всі breaking changes по релізах, від найновішого — та Changelog з повною історією.
bun add -g @hopak/cli
hopak new my-app
cd my-app
hopak dev
Далі: Встановлення.