build()
Génère un site statique à partir d'un objet de configuration. Retourne un GenerateStaticResult décrivant ce qui a été écrit.
import { build } from 'sovrium'
const result = await build({ name: 'my-site', pages: [{ name: 'Home', path: '/' }] })
console.log(result.outputDir) // "./static"
console.log(result.files.length)
Comme start(), build() valide d'abord face à AppSchema et rejette avec Sovrium failed to build: plutôt que d'émettre un site partiel.
GenerateStaticOptions
| Propriété | Description |
|---|---|
outputDir |
Répertoire de sortie. Par défaut : ./static. |
baseUrl |
URL de base pour le sitemap et les liens canoniques. |
basePath |
Préfixe de chemin pour les déploiements en sous-répertoire. |
deployment |
Plateforme cible : github-pages ou generic. |
languages |
Tableau des codes de langue à générer. |
defaultLanguage |
Code de la langue par défaut. |
generateSitemap |
Génère sitemap.xml. Par défaut : false. |
generateRobotsTxt |
Génère robots.txt. Par défaut : false. |
hydration |
Émet le runtime d'hydratation côté client. Par défaut : false. |
generateManifest |
Génère manifest.json pour les PWA. Par défaut : false. |
bundleOptimization |
Stratégie de découpage : split ou none. |
publicDir |
Répertoire de ressources statiques à copier dans la sortie. |
outputDir diffère du CLI. Appeler build() directement écrit par défaut dans ./static, relatif au répertoire de travail. sovrium build app.yaml écrit plutôt par défaut dans un répertoire dist/ à côté du fichier de configuration. Passez outputDir explicitement dès que les deux chemins coexistent dans un projet.
GenerateStaticResult
| Propriété | Description |
|---|---|
outputDir |
Chemin du répertoire de sortie effectivement écrit. |
files |
Chaque fichier généré pendant le build (HTML, CSS, ressources, sitemap). |
Le tableau files est le manifeste de déploiement — énumérez-le plutôt que de reparcourir le répertoire, puisqu'il exclut tout ce qui s'y trouvait déjà.
Un build statique complet
import { build } from 'sovrium'
import type { GenerateStaticResult } from 'sovrium'
const result: GenerateStaticResult = await build(
{
name: 'my-site',
pages: [
{
name: 'Home',
path: '/',
components: [
{ type: 'hero', content: 'Welcome' },
{ type: 'text', content: 'Built with Sovrium.' },
],
},
],
},
{
outputDir: './dist',
baseUrl: 'https://example.com',
deployment: 'github-pages',
generateSitemap: true,
generateRobotsTxt: true,
}
)
console.log(`Wrote ${result.files.length} files to ${result.outputDir}`)
deployment: 'github-pages' ajoute les fichiers attendus par cet hébergeur — notamment un marqueur .nojekyll, sans lequel les répertoires commençant par un tiret bas seraient avalés par Jekyll au lieu d'être servis.
Recherche dans les pages
Si une page déclare un composant pageSearch, build() exécute aussi l'indexeur de recherche et écrit un répertoire sovrium-search/ dans la sortie. Les fichiers supplémentaires apparaissent dans result.files. Sans un tel composant, rien n'est émis et aucun coût d'indexation n'est payé — la fonctionnalité est conditionnée par la configuration, pas par une option.
Pages associées
- Aperçu de l'API TypeScript —
AppConfiget les autres fonctions. - Commandes de projet —
sovrium buildet ses variablesSOVRIUM_*. - SEO et métadonnées — ce qu'alimentent
baseUrlet le sitemap. - Aperçu de la recherche — le composant
pageSearch.
Dernière mise à jour 27 juillet 2026
Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta — les contributions et corrections sont les bienvenues.