UNPKG

1pux-to-csv

Version:
33 lines (32 loc) 1.33 kB
#! /usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = require("fs"); const path_1 = require("path"); const commander_1 = require("commander"); const parser_1 = require("./parser"); const program = new commander_1.Command(); const convert = async (inputFile, options) => { const fileContents = (0, fs_1.readFileSync)(inputFile, { encoding: null }); const parsedExport = await (0, parser_1.parse1PuxFile)(fileContents); const csvString = await (0, parser_1.convert1PuxDataToCSV)(parsedExport.data); let { outputFile } = options; // Generate output file name, if none was given if (!outputFile) { const inputFileExtension = (0, path_1.extname)(inputFile); if (!inputFileExtension) { outputFile = `${inputFile}.csv`; } else { outputFile = inputFile.replace(new RegExp(`\\${inputFileExtension}$`, 'gi'), '.csv'); } } console.log(`Writing CSV file: "${outputFile}"...`); (0, fs_1.writeFileSync)(outputFile, csvString, { encoding: 'utf-8' }); }; program .command('convert <inputFile>', { isDefault: true }) .option('-o, --output-file <outputFile>', 'CSV output file path') .description('Converts 1pux file to CSV') .action(convert); program.parse(process.argv);