Manifeste du site
Comment Showly décrit les itinéraires, les commandes de construction et les besoins d'exécution.
Le manifeste du site est le document que Showly utilise pour savoir comment créer, déployer et servir votre site. Il se trouve à la racine de votre espace de travail importé sous le nom showly.json. C'est la source de vérité pour chaque build : la détection automatique produit une version initiale lors de l'importation ; vous pouvez le modifier manuellement à tout moment.
Chaque champ est facultatif, sauf rootDirectory, qui est par défaut .. Showly remplit les valeurs par défaut sensibles de la détection automatique, de sorte qu'un manifeste minimal valide peut être un objet vide.
Forme
{
"rootDirectory": ".",
"runtime": "node",
"runtimeVersion": "22",
"packageManager": "pnpm",
"installCommand": "pnpm install",
"buildCommand": "pnpm build",
"output": {
"type": "static",
"directory": "dist"
},
"startCommand": "node server.js"
}
Référence du champ
rootDirectory — Le répertoire dans le référentiel qui contient le site. La valeur par défaut est .. Définissez ceci lorsqu'un seul dépôt contient un site dans un sous-répertoire.
runtime — Le runtime d'exécution pour le site déployé. L'un des static, node, rust, go ou docker. En cas d'omission, Showly le déduit du framework détecté.
runtimeVersion — La version d'exécution (par exemple, la version majeure du nœud). Showly prend en charge les lignes Active LTS actuelles ; le live est à GET /admin/platform/runtime-catalog.
packageManager — Le gestionnaire de packages à utiliser (par exemple, pnpm, npm ou yarn). La valeur par défaut est celle détectée à partir du fichier de verrouillage.
installCommand — La commande shell qui installe les dépendances. La valeur par défaut est la commande d'installation standard du gestionnaire de packages.
buildCommand — La commande shell qui produit un artefact déployable. La valeur par défaut est la commande de construction standard du framework, mais vous pouvez fournir la vôtre.
output — Où et comment la build émet son artefact. Un objet imbriqué avec deux clés facultatives : type (le type d'artefact) et directory (le chemin sur lequel la construction écrit, par rapport à rootDirectory).
startCommand — Commande qui démarre le serveur pour les environnements d'exécution qui exécutent un processus de longue durée (par exemple, node). Les sites statiques n’en ont pas besoin.
Détection du framework
framework n'est pas une entrée de manifeste — Showly le détecte automatiquement à partir de package.json, du fichier de verrouillage et d'autres conventions du référentiel. La valeur détectée est l'une des valeurs astro, vite, next-export, static-html, custom ou unknown. Si le framework résout à unknown, la construction échoue avec un UnsupportedFrameworkError ; définissez runtime et les commandes pertinentes explicitement pour déployer un projet Showly qui ne peut pas être classé.
Quand effectuer une modification manuelle
- Vous avez modifié votre commande de build et souhaitez que Showly suive.
- Votre dépôt a le site dans un sous-répertoire — définissez
rootDirectory. - La détection automatique a mal deviné le moteur d'exécution - définissez explicitement
runtime. - Votre commande d'installation ou de démarrage diffère de la commande par défaut du gestionnaire de packages.
Modes de validation et d'échec
- Si
showly.jsonn'est pas un JSON valide, ou s'il est analysé en quelque chose d'autre qu'un objet, la construction échoue avec unInvalidManifestError. - Si le framework ne peut pas être classé (se résout à
unknown), la construction échoue avec unUnsupportedFrameworkError.
Ce que le manifeste ne contrôle pas
- Valeurs des variables d'environnement — celles-ci sont définies par environnement dans l'interface utilisateur Showly et résident dans le magasin de secrets.
- Règles d'approbation : il s'agit de la politique de l'espace de travail.
- Cible de déploiement (conteneur sans serveur vs statique CDN) — il s'agit d'un paramètre de cible de déploiement.
Le manifeste est _à quoi ressemble la construction_. Les paramètres de l'espace de travail sont _qui peut faire quoi avec le résultat_.