@gouvfr/dsfr-nexus
Version:
Le module `dsfr-nexus` est l'interface de ligne de commande (CLI) centrale du Système de Design de l’État - DSFR. Il offre des outils pour gérer et compiler les ressources du DSFR
33 lines (24 loc) • 751 B
JavaScript
import fs from 'fs';
import { log } from '@gouvfr/dsfr-forge';
import { DSFRComposer } from './dsfr/dsfr-composer.js';
class Composition {
async compose (settings) {
log.section('Composition');
const composer = await this.getComposer();
await composer.compose(settings);
}
async getComposer () {
const pckFile = fs.readFileSync('package.json', 'utf-8');
const pck = JSON.parse(pckFile.toString());
log.info(`package ${pck.name}`);
switch (pck.name) {
case '@gouvfr/dsfr':
return new DSFRComposer();
// case '@gouvfr/dsfr-archive':
// return new DSFRArchiveComposer();
default:
throw new Error(`No composer found for ${pck.name}`);
}
}
}
export { Composition };