UNPKG

@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

48 lines (40 loc) 1.01 kB
import { createYAMLFile } from '@gouvfr/dsfr-forge'; import fs from 'fs'; class GenerationParser { constructor (state, data) { this._state = state; this._data = data; this._configFile = this.state.configFile('generation.yml'); } get state () { return this._state; } get has () { return this._has; } async read () { this._has = false; if (!fs.existsSync(this.state.src)) return; const files = fs.readdirSync(this.state.src, { withFileTypes: true }); this._generators = files.filter(file => file.isFile() && file.name.endsWith('.js')).map(file => { return { name: file.name, path: `${this.state.src}/${file.name}`, dest: this.state.dest } }); this._has = this._generators.length > 0; } get data () { return { config: this._configFile } } async write () { const data = { generators: this._generators } createYAMLFile(this._configFile, data); } } export { GenerationParser };