Compilation
Pour des raisons de
performances le moteur de
règles Publicodes attend en entrée un objet JSON regroupant l’ensemble des
règles à évaluer. Ainsi, les fichiers de règles (.publicodes
ou .yaml
)
doivent être compilés en un objet JSON avant d’être utilisés.
Cette étape de compilation a été factorisée dans un module dédié : @publicodes/tools/compilation
.
Générer un modèle JSON à partir des fichiers sources
La fonction getModelFromSource
permet de compiler un ensemble de fichiers Publicodes en un seul objet JSON.
Usage
La fonction getModelFromSource
prend en paramètre :
- un glob (ou un chemin vers un dossier)
permettant de définir les fichiers à compiler.
Si le paramètre est un chemin vers un dossier,
<dossier>/**/*.publicodes
est utilisé par défaut. - un objet de configuration optionnel :
ignore
: un tableau de globs à ignorerverbose
: un booléen permettant d’afficher les logs de compilation
Exemple d’utilisation
import { writeFileSync } from 'fs';
import { getModelFromSource } from '@publicodes/tools/compilation';
const model = getModelFromSource('data', {
ignore: ['data/test/**'],
verbose: true
});
writeFileSync('dist/model.json', JSON.stringify(model, null, 2));