Перейти к содержимому

Начало работы

vkma.dev — инструментарий для VK Mini Apps: собственный мост к платформе, роутер, devtools-панель, деплой и типизированные схемы событий и VK API. Пакеты публикуются под скоупом @vkma.dev и работают по отдельности: можно взять только мост, а можно собрать весь стек.

Окно терминала
npm create @vkma.dev/app my-app

CLI сгенерирует проект, установит зависимости и инициализирует git. Пресет выбирается интерактивно; без TTY передавай флаги:

Окно терминала
npm create @vkma.dev/app my-app -- --preset router --pm pnpm
Пресет Стек
base React + Vite + @vkma.dev/bridge, devtools-панель, деплой, без UI-кита
vkui base + VKUI 8, навигация Epic/Tabbar на локальном состоянии
router (по умолчанию) base + @vkma.dev/router + VKUI, URL-driven вьюхи, панели, модалки, popout’ы

Дальше:

Окно терминала
cd my-app
npm run dev

Devtools-панель уже вшита в dev-сервер: открой /__vkma/ и увиди весь диалог с мостом в реальном времени.

Пакет Что делает
create-app скаффолдер: приложение на Vite за одну команду
bridge независимый VK Bridge: send/subscribe, таймауты, tap для observability
router роутер на TanStack Router: вьюхи, панели, модалки и popout’ы как URL
vkui-bridge React-провайдер: тема, insets и адаптивность хоста в VKUI
devtools панель /__vkma/ на твоём dev-сервере: timeline, execute, клиенты
deploy деплой статики в хостинг VK Mini Apps, совместим с vk-miniapps-deploy
bridge-schema каталог событий VK Bridge как данные + TypeScript-типы
api-schema типы и zod/valibot-схемы всего VK API

Скаффолдер не обязателен. Мост в существующий проект:

Окно терминала
npm install @vkma.dev/bridge
import bridge from "@vkma.dev/bridge";
await bridge.send("VKWebAppInit");
const user = await bridge.send("VKWebAppGetUserInfo");

Devtools к нему (Vite):

Окно терминала
npm install -D @vkma.dev/devtools @vkma.dev/bridge devframe @devframes/vite
vite.config.ts
import { vkmaDevtools } from "@vkma.dev/devtools";
export default {
plugins: [vkmaDevtools()],
};

Деплой:

Окно терминала
npm install -D @vkma.dev/deploy
npx vkma-deploy init
npx vkma-deploy login
npx vkma-deploy
  • bridge — отправка событий и подписки, таймауты, tap
  • router — навигация мини-аппа на URL
  • devtools — панель разработчика на твоём dev-сервере
  • deploy — сборка и публикация в хостинг VK