NestJS (Node.js)

NestJS fonctionne sur Kavio sans aucune configuration particulière. Un projet créé avec nest new se déploie tel quel.

Ce qui n'est pas nécessaire

Vous n'avez rien à faire concernant :

  • PORT — le squelette par défaut de nest new lit déjà process.env.PORT dans main.ts (app.listen(process.env.PORT ?? 3000)), sans réglage de votre part.
  • Le gestionnaire de paquets — npm, yarn, pnpm ou bun sont tous détectés automatiquement (via le fichier de verrouillage présent dans votre dépôt).
  • Le disque applicatif — inscriptible sur Kavio, aucune redirection de fichiers à prévoir (utile si vous utilisez SQLite).

Ce qu'il faut garder dans package.json

Kavio exécute automatiquement les scripts build puis start. Un projet nest new les a déjà par défaut :

{
    "scripts": {
        "build": "nest build",
        "start": "nest start"
    }
}

Si vous les avez renommés ou supprimés, remettez-les — c'est la seule chose que Kavio attend de votre package.json.

Les fichiers statiques ne sont pas servis par défaut

Contrairement à Express, un projet Nest neuf ne sert aucun dossier statique tant que vous ne l'avez pas monté vous-même :

import { NestFactory } from '@nestjs/core';
import { NestExpressApplication } from '@nestjs/platform-express';
import { join } from 'path';

const app = await NestFactory.create<NestExpressApplication>(AppModule);
app.useStaticAssets(join(__dirname, '..', 'public'));

Ce n'est pas une contrainte propre à Kavio — c'est le comportement de NestJS sur n'importe quel hébergeur.