VercelDeployer
VercelDeployer regroupe votre serveur Mastra et génère une sortie conforme à la Build Output API de Vercel. Vercel déploie directement cette sortie sous forme de fonctions serverless.
InstallationLien direct vers Installation
Pour utiliser VercelDeployer, installez le package @mastra/deployer-vercel :
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/deployer-vercel@latest
pnpm add @mastra/deployer-vercel@latest
yarn add @mastra/deployer-vercel@latest
bun add @mastra/deployer-vercel@latest
Exemple d’utilisationLien direct vers Exemple d’utilisation
Importez VercelDeployer et définissez-le comme Deployer dans votre configuration Mastra :
import { Mastra } from '@mastra/core'
import { VercelDeployer } from '@mastra/deployer-vercel'
export const mastra = new Mastra({
deployer: new VercelDeployer(),
})
Options du constructeurLien direct vers Options du constructeur
Le Deployer accepte les options suivantes :
studio?: boolean: déploie Studio avec votre API sous forme de ressources statiques distribuées depuis l’Edge CDN de Vercel. La valeur par défaut estfalse.maxDuration?: number: délai maximal d’exécution de la fonction, en secondesmemory?: number: mémoire de la fonction, en Moregions?: string[]: régions dans lesquelles déployer la fonction, par exemple['sfo1','iad1']
Les options maxDuration, memory et regions sont fusionnées dans .vercel/output/functions/index.func/.vc-config.json tout en préservant les champs par défaut (handler, launcherType, runtime, shouldAddHelpers).
Exemple avec des remplacementsLien direct vers Exemple avec des remplacements
import { Mastra } from '@mastra/core'
import { VercelDeployer } from '@mastra/deployer-vercel'
export const mastra = new Mastra({
deployer: new VercelDeployer({
studio: true,
maxDuration: 600,
memory: 1536,
regions: ['sfo1', 'iad1'],
}),
})
Sortie de compilationLien direct vers Sortie de compilation
Après l’exécution de mastra build, le Deployer génère un répertoire .vercel/output conforme à la Build Output API (v3) de Vercel. Ce répertoire contient la configuration du routage et les bundles de fonctions serverless que Vercel déploie directement, sans passer par la détection du framework.
La sortie contient :
- config.json : configuration du routage qui dirige les requêtes vers le gestionnaire approprié
- functions/ : votre serveur Mastra regroupé sous la forme d’une fonction serverless
- static/ : ressources de la SPA Studio, uniquement lorsque
studio: true
Sans Studio :
.vercel/
└── output/
├── config.json
└── functions/
└── index.func/
├── .vc-config.json
├── index.mjs
└── node_modules/
Avec studio: true :
.vercel/
└── output/
├── config.json
├── static/
│ ├── index.html
│ └── assets/
│ ├── *.js
│ └── *.css
└── functions/
└── index.func/
├── .vc-config.json
├── index.mjs
└── node_modules/
Lorsque Studio est activé, le routage est configuré de sorte que les requêtes /api/* soient traitées par la fonction serverless, que les ressources statiques (JS, CSS) soient distribuées depuis l’Edge CDN de Vercel sans invoquer de fonction et que tous les autres chemins utilisent index.html comme solution de repli pour le routage côté client.
Ce dossier est généré lors de la compilation et ne doit pas être ajouté au système de gestion de versions.