add yaml output option

This commit is contained in:
2023-11-24 14:40:17 -06:00
parent f9ef0682cf
commit e580fbc623
3 changed files with 8 additions and 5 deletions
+2 -2
View File
@@ -5952,7 +5952,6 @@
"version": "2.3.4", "version": "2.3.4",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
"integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==",
"dev": true,
"engines": { "engines": {
"node": ">= 14" "node": ">= 14"
} }
@@ -6005,7 +6004,8 @@
"commander": "^11.1.0", "commander": "^11.1.0",
"fast-xml-parser": "^4.3.2", "fast-xml-parser": "^4.3.2",
"serialport": "^12.0.0", "serialport": "^12.0.0",
"ws": "^8.14.2" "ws": "^8.14.2",
"yaml": "^2.3.4"
}, },
"bin": { "bin": {
"aas-cli": "index.js" "aas-cli": "index.js"
+4 -2
View File
@@ -6,7 +6,7 @@ const { writeFileSync } = require('fs');
const { program, Option } = require('commander'); const { program, Option } = require('commander');
const { WebSocketServer } = require('ws'); const { WebSocketServer } = require('ws');
const { XMLBuilder } = require('fast-xml-parser'); const { XMLBuilder } = require('fast-xml-parser');
const { stringify: yamlify } = require('yaml');
const packageInfo = require('./package.json'); const packageInfo = require('./package.json');
program.name(packageInfo.name); program.name(packageInfo.name);
@@ -14,7 +14,7 @@ program.version(packageInfo.version);
program.description('Simple protocol router /s'); program.description('Simple protocol router /s');
program.option('-d, --device <serial port path>', 'serialport path'); program.option('-d, --device <serial port path>', 'serialport path');
program.option('-o, --output <output file>', 'file to write console info to'); program.option('-o, --output <output file>', 'file to write console info to');
program.addOption(new Option('-f, --format <output format>').choices(['json', 'xml']).default('json')); program.addOption(new Option('-f, --format <output format>').choices(['json', 'xml', 'yaml']).default('json'));
program.option('--websocket <port>', 'enable websocket server for updates', undefined); program.option('--websocket <port>', 'enable websocket server for updates', undefined);
program.parse(process.argv); program.parse(process.argv);
@@ -84,6 +84,8 @@ port.on('data', (data) => {
xmlBuilder = new XMLBuilder(); xmlBuilder = new XMLBuilder();
} }
outputString = xmlBuilder.build({ console: aasConsole.toJSON() }); outputString = xmlBuilder.build({ console: aasConsole.toJSON() });
} else if (options.format === 'yaml') {
outputString = yamlify(aasConsole.toJSON());
} }
if (outputString) { if (outputString) {
writeFileSync(options.output, outputString); writeFileSync(options.output, outputString);
+2 -1
View File
@@ -17,7 +17,8 @@
"commander": "^11.1.0", "commander": "^11.1.0",
"fast-xml-parser": "^4.3.2", "fast-xml-parser": "^4.3.2",
"serialport": "^12.0.0", "serialport": "^12.0.0",
"ws": "^8.14.2" "ws": "^8.14.2",
"yaml": "^2.3.4"
}, },
"devDependencies": { "devDependencies": {
"pkg": "^5.8.1", "pkg": "^5.8.1",