import { NeumeCollator } from "./NeumeCollator" import * as fs from 'fs' import { JSDOM } from 'jsdom' import { exit } from "process" const collator = new NeumeCollator() if (process.argv.length < 4) { console.log('at least two files must be specified.') exit() } const dom = new JSDOM('') const DOMParser = dom.window.DOMParser const filenames = process.argv.slice(2) const docs = filenames.map(filename => { const xml = fs.readFileSync(filename, 'utf8') return new DOMParser().parseFromString(xml, "text/xml") }) collator.collate(docs) const resultDOM = collator.dom() if (!resultDOM) { console.log('Something went wrong while collating.') exit() } const result = new dom.window.XMLSerializer().serializeToString(resultDOM) if (result) { console.log('success. output file will be written to new.xml') fs.writeFileSync('new.xml', result) } else { console.log('something went wrong.') }