Configurazione come codice

La configurazione di un progetto può stare in un unico file che committi e pushi. La produzione cambia quando pubblichi una release, e lo stesso file può descrivere sia lo staging sia la produzione.

Cosa dichiara il file

foir.config.ts dichiara modelli, chiavi API, hook e provider di login. Copre anche operazioni, pianificazioni, placement, segmenti, ruoli per i tuoi utenti, installazioni di app, design token, locale, dimensioni di contesto, il catalogo delle varianti, i testi delle email e le impostazioni del progetto. Per una chiave API, il file committato contiene la dichiarazione: nome, tipo, scope e la variabile d'ambiente da usare. La CLI esegue il provisioning della chiave durante un push e scrive il suo valore nel tuo file env sotto quella variabile.

Un push prepara una bozza

foir push parte con una prova a secco sul server, quindi un rifiuto arriva prima che venga scritto qualcosa. Poi scrive le bozze, e la produzione continua a servire la copia pubblicata fino a una release. I nuovi modelli, le nuove operazioni e i campi facoltativi aggiunti escono con il push. Tutto il resto aspetta che tu pubblichi.

Un push è un merge a tre vie tra il file, lo stato attuale del progetto e il tuo ultimo push. Dove lo stesso campo è cambiato nel file e nella console, si ferma e segnala il conflitto.

Staging e produzione da un'unica configurazione

Una configurazione può dichiarare più progetti con nome da un solo manifest, ed è così che staging e produzione restano identici. Solo i valori dichiarati come destinazioni possono differire: endpoint, redirect URI, origin, domini e indirizzi mittente. Qualsiasi altra differenza rifiuta il push e indica il campo e i due valori. Un push fallisce anche quando il progetto contiene un modello, un'operazione, un hook, una pianificazione o una dimensione di contesto che la configurazione non dichiara.

Rimuovere un campo

Togliere un campo dalla configurazione non ne elimina subito i dati. Il campo resta come deprecato per 30 giorni, e il push scrive un file di decisione che chiede cosa fare dei valori salvati: rinominare, convertire o eliminare.

Leggi il dettaglio

La documentazione della configurazione copre il formato del file, ogni famiglia che può dichiarare, il push, la pubblicazione e i progetti con nome.