'use strict'; const program = require('commander'); const path = require('path'); const importers = require('../index'); const fs = require('fs'); const { version } = require('../package.json'); module.exports.go = async function() { // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Configure the arguments parsing // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // program .version(version, '-v, --version') .usage('[options] ') .option('-o, --output ', 'output directory') .parse(process.argv); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Set up the directory to work on // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // const inputPath = program.args[0]; const outputPath = program.output || program.args[1]; if (!inputPath) { console.log('Input path not specified'); process.exit(1); } // ~~~~~~~~~~~~~~~~~~~~~~ // // Convert the input file // // ~~~~~~~~~~~~~~~~~~~~~~ // const fullInputPath = path.resolve(inputPath); const fileContents = fs.readFileSync(fullInputPath, 'utf8'); const result = await importers.convert(fileContents); const exportContents = JSON.stringify(result.data, null, 2); // ~~~~~~~~~~~~~~~~ // // Write the output // // ~~~~~~~~~~~~~~~~ // if (outputPath) { const fullOutputPath = path.resolve(outputPath); fs.writeFileSync(fullOutputPath, exportContents); } else { console.log(exportContents); } };