> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # VercelDeployer `VercelDeployer` regroupe votre serveur Mastra et génère une sortie conforme à la [Build Output API](https://vercel.com/docs/build-output-api/v3) de Vercel. Vercel déploie directement cette sortie sous forme de fonctions serverless. ## Installation Pour utiliser `VercelDeployer`, installez le package `@mastra/deployer-vercel` : **npm**: ```bash npm install @mastra/deployer-vercel@latest ``` **pnpm**: ```bash pnpm add @mastra/deployer-vercel@latest ``` **Yarn**: ```bash yarn add @mastra/deployer-vercel@latest ``` **Bun**: ```bash bun add @mastra/deployer-vercel@latest ``` ## Exemple d’utilisation Importez `VercelDeployer` et définissez-le comme Deployer dans votre configuration Mastra : ```typescript import { Mastra } from '@mastra/core' import { VercelDeployer } from '@mastra/deployer-vercel' export const mastra = new Mastra({ deployer: new VercelDeployer(), }) ``` ## Options du constructeur Le Deployer accepte les options suivantes : - `studio?: boolean` : déploie [Studio](https://mastra.zisheng.pro/fr/docs/studio/overview) avec votre API sous forme de ressources statiques distribuées depuis l’Edge CDN de Vercel. La valeur par défaut est `false`. - `maxDuration?: number` : délai maximal d’exécution de la fonction, en secondes - `memory?: number` : mémoire de la fonction, en Mo - `regions?: 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 remplacements ```typescript 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 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)](https://vercel.com/docs/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 : ```bash .vercel/ └── output/ ├── config.json └── functions/ └── index.func/ ├── .vc-config.json ├── index.mjs └── node_modules/ ``` Avec `studio: true` : ```bash .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.