From 3518d1cdbb97bc81f2e03ac4145c0d0128cad313 Mon Sep 17 00:00:00 2001 From: Paul Vollmer Date: Thu, 26 Oct 2017 20:35:16 +0200 Subject: [PATCH] cli read and processing directories --- lib/cli.js | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/lib/cli.js b/lib/cli.js index ba87f4d..614356e 100755 --- a/lib/cli.js +++ b/lib/cli.js @@ -129,18 +129,39 @@ function schemaError (str, err) { "\ndetails: " + JSON.stringify(err.details); } + +function processFile(file) { + var src = path.normalize(file); + let source = parse(fs.readFileSync(src, "utf8")); + if (options.inplace) { + fs.writeSync(fs.openSync(src,'w+'), source, 0, "utf8"); + } else { + if (! options.quiet) { console.log(source)}; + } +} + +function processSources(src) { + let srcStat = fs.statSync(src) + if (srcStat.isFile()) { + processFile(src) + } + + if (srcStat.isDirectory()) { + sources = fs.readdirSync(src) + for (var i = 0; i < sources.length; i++) { + processSources(path.join(src, sources[i])) + } + } +} + function main (args) { var source = ''; if (options.file) { + for (var i = 0; i < options.file.length; i++) { - var json = path.normalize(options.file[i]); - source = parse(fs.readFileSync(json, "utf8")); - if (options.inplace) { - fs.writeSync(fs.openSync(json,'w+'), source, 0, "utf8"); - } else { - if (! options.quiet) { console.log(source)}; - } + processSources(options.file[i]) } + } else { var stdin = process.openStdin(); stdin.setEncoding('utf8');