deploy
@vkma.dev/deploy — CLI и библиотека деплоя для хостинга VK Mini Apps, современная drop-in-совместимая замена @vkontakte/vk-miniapps-deploy.
npx @vkma.dev/deploy # или: pnpm dlx / yarn dlx / bunxvkma-deploy # деплой по конфигу в проектеDrop-in совместимость. Существующая настройка продолжает работать:
- читает
vk-hosting-config.json(легаси-формат) как fallback - читает env-переменные
MINI_APPS_ACCESS_TOKEN,MINI_APPS_APP_ID,MINI_APPS_ENVIRONMENT,CI_URLS(навсегда, без депрекации) - переиспользует токен официального тула, так что миграция не требует перелогина
Быстрый старт
Заголовок раздела «Быстрый старт»npm install -D @vkma.dev/deploynpx vkma-deploy init # создать vkma-deploy.config.ts (интерактивно)npx vkma-deploy login # разовая авторизация в браузереnpx vkma-deploy --dry-run # проверить конфиг и собрать без загрузкиnpx vkma-deploy # деплойinit не трогает существующий конфиг (указывает на файл для правки), импортирует значения из легаси-vk-hosting-config.json, если он лежит в текущей директории (токен в новый файл не копируется никогда), и спрашивает только недостающее. В CI передавай значения флагами: npx vkma-deploy init --app-id 42 --endpoints mobile,web.
Конфигурация
Заголовок раздела «Конфигурация»Поиск идёт вверх от текущей директории; на каждом уровне побеждает первый найденный файл (ближайший файл бьёт тип файла). Один файл — вся правда, мерджа между конфигами нет.
vkma-deploy.config.{ts,mts,js,mjs,json}(предпочтительно)vk-hosting-config.json(легаси-формат, snake_case, маппится автоматически с предупреждениями об игнорируемом)
TypeScript-конфиги работают без лишних зависимостей (нативный type stripping, Node >= 22.18):
import { defineDeployConfig } from "@vkma.dev/deploy";
export default defineDeployConfig({ appId: 42, staticPath: "./build", environment: "both", // "dev" | "production" | "both"});JSON-конфиги получают автодополнение через $schema:
{ "$schema": "https://unpkg.com/@vkma.dev/deploy/schema/vkma-deploy.config.schema.json", "appId": 42, "staticPath": "./build",}- CLI — команды, флаги, промпты, exit-коды.
- Конфигурация — все поля конфига и легаси-формат.
- Env и CI — переменные окружения, деплой в CI, прокси.