only-one-json-please
Advanced tools
Comparing version 0.0.1 to 0.0.2
32
index.js
#!/usr/bin/env node | ||
'use strict'; | ||
const shell = require('shelljs'); | ||
const fs = require('fs'); | ||
@@ -8,23 +9,24 @@ const request = require('request'); | ||
module.exports = function() { | ||
glob(`${__dirname}/*.json`, function (err, files) { | ||
if (err) { | ||
console.log(`ERROR: Unable to read the folder: ${__dirname}`, err); | ||
} | ||
shell.exec('echo "Concatenating files in $PWD"'); | ||
const masterObj = {}; | ||
glob(`${process.cwd()}/*.json`, function (err, files) { | ||
if (err) { | ||
console.log(`ERROR: Unable to read the folder: ${process.cwd()}`, err); | ||
} | ||
files.forEach(function(file, index) { | ||
fs.readFile(file, 'utf8', function(err, data) { | ||
if (err) throw err; | ||
const masterObj = {}; | ||
let obj = JSON.parse(data); | ||
files.forEach(function(file, index) { | ||
fs.readFile(file, 'utf8', function(err, data) { | ||
if (err) throw err; | ||
Object.keys(obj).forEach((key) => { | ||
masterObj[key] = obj[key]; | ||
jsonfile.writeFileSync(`./output.json`, masterObj); | ||
}); | ||
let obj = JSON.parse(data); | ||
Object.keys(obj).forEach((key) => { | ||
masterObj[key] = obj[key]; | ||
jsonfile.writeFileSync(`${process.cwd()}/output.json`, masterObj); | ||
}); | ||
}); | ||
}); | ||
}; | ||
console.log('Done: output.json'); | ||
}); |
{ | ||
"name": "only-one-json-please", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"description": "Concatenates all JSON files within a directory into one file", | ||
"main": "index.js", | ||
"bin": { | ||
"jsonconcat": "index.js" | ||
}, | ||
"scripts": { | ||
@@ -18,4 +21,5 @@ "test": "echo \"Error: no test specified\" && exit 1" | ||
"jsonfile": "^2.3.1", | ||
"request": "^2.74.0" | ||
"request": "^2.74.0", | ||
"shelljs": "^0.7.4" | ||
} | ||
} |
2633
25
4
+ Addedshelljs@^0.7.4
+ Addedfunction-bind@1.1.2(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedinterpret@1.4.0(transitive)
+ Addedis-core-module@2.16.1(transitive)
+ Addedpath-parse@1.0.7(transitive)
+ Addedrechoir@0.6.2(transitive)
+ Addedresolve@1.22.10(transitive)
+ Addedshelljs@0.7.8(transitive)
+ Addedsupports-preserve-symlinks-flag@1.0.0(transitive)