UNPKG

patchwork-preloadconverter

Version:

A specialized converter for handling preload (.pld) files.

51 lines 4.46 kB
#!/usr/bin/env node 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); const commander_1 = require("commander"); const metadata_1 = require("./metadata"); const LoggerFactory_1 = require("./logging/LoggerFactory"); const PreloadConverter_1 = require("./converter/PreloadConverter"); const node_fs_1 = require("node:fs"); // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-var-requires require('source-map-support').install(); let log; let watchForChanges = false; async function conversionAction(input, output) { try { await PreloadConverter_1.PreloadConverter.convertPreloadFile(input, output); } catch (exception) { log.fatal(exception); } } commander_1.program .name(metadata_1.NAME) .version(metadata_1.VERSION) .description(metadata_1.DESCRIPTION) .option('-w --watch', 'Command will automatically trigger on file change event.') .hook('preAction', (thisCommand, actionCommand) => { log = LoggerFactory_1.LoggerFactory.createLogger('main'); const options = thisCommand.opts(); log.debug('command:', actionCommand.name()); log.debug('arguments:', actionCommand.args.join(', ')); log.debug('options:', JSON.stringify(thisCommand.opts())); watchForChanges = options.watch; }); commander_1.program .command('pld2text') .description('Convert preload file (.pld or .txt) into a text readable file without the Preload calls.') .addArgument(new commander_1.Argument('<input>', 'input file').argRequired()) .addArgument(new commander_1.Argument('<output>', 'output file').argRequired()) .action(async (input, output) => { await conversionAction(input, output); if (watchForChanges) { (0, node_fs_1.watch)(input, { persistent: true }, async (eventType, filename) => { if (eventType == "change") { log.info("File change detected."); await conversionAction(input, output); } }); } }); commander_1.program.parse(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLFlBQVksQ0FBQTs7QUFDWix5Q0FBNkM7QUFDN0MseUNBQXVEO0FBRXZELDJEQUF1RDtBQUN2RCxtRUFBK0Q7QUFDL0QscUNBQStCO0FBRS9CLDZJQUE2STtBQUM3SSxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtBQUV2QyxJQUFJLEdBQW9CLENBQUE7QUFFeEIsSUFBSSxlQUFlLEdBQUcsS0FBSyxDQUFDO0FBRTVCLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsTUFBYztJQUMzRCxJQUFJLENBQUM7UUFDSCxNQUFNLG1DQUFnQixDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQUMsT0FBTyxTQUFTLEVBQUUsQ0FBQztRQUNuQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7QUFDSCxDQUFDO0FBRUQsbUJBQU87S0FDSixJQUFJLENBQUMsZUFBSSxDQUFDO0tBQ1YsT0FBTyxDQUFDLGtCQUFPLENBQUM7S0FDaEIsV0FBVyxDQUFDLHNCQUFXLENBQUM7S0FDeEIsTUFBTSxDQUFDLFlBQVksRUFBRSwwREFBMEQsQ0FBQztLQUNoRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxFQUFFO0lBQ2hELEdBQUcsR0FBRyw2QkFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFbkMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7SUFDM0MsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUN0RCxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDekQsZUFBZSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUM7QUFFTCxtQkFBTztLQUNKLE9BQU8sQ0FBQyxVQUFVLENBQUM7S0FDbkIsV0FBVyxDQUFDLDBGQUEwRixDQUFDO0tBQ3ZHLFdBQVcsQ0FBQyxJQUFJLG9CQUFRLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQ2hFLFdBQVcsQ0FBQyxJQUFJLG9CQUFRLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQ2xFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQzlDLE1BQU0sZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBQSxlQUFLLEVBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxTQUFTLElBQUksUUFBUSxFQUFDLENBQUM7Z0JBQ3pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDbEMsTUFBTSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUwsbUJBQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyJ9