@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
JavaScript
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 };