@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
42 lines (34 loc) • 821 B
JavaScript
import { createYAMLFile } from '@gouvfr/dsfr-forge';
import { Indexer } from './indexer.js';
import fs from 'fs';
class CopyIndexer extends Indexer {
constructor (state, src, dest, subItem = null) {
super(state);
this._src = src;
this._dest = dest;
this._subItem = subItem;
}
get state () {
return this._state;
}
get src () {
return this._src;
}
get subItem () {
return this._subItem;
}
get dest () {
return this._dest;
}
read () {
const srcData = fs.readFileSync(this.src, 'utf-8');
this._data = JSON.parse(srcData);
if (this.subItem) this._data = this._data[this.subItem];
}
write () {
if (!this._data) return;
const destPath = this.state.configFile(this.dest);
createYAMLFile(destPath, this._data);
}
}
export { CopyIndexer };