fs.writeFile() writes [object, object] instead of actual objects when closing script

I believe you should convert the obj to a JSON string, otherwise it's a real - JSON object that can't be simply be written into file

JSON.stringify(obj)

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify


The second argument to fs.writeFile is a String or Buffer:

fs.writeFile(file, data[, options], callback)

If you're passing an object, it will be converted via the default .toString() method on the object, which results in [object Object]

If you want to serialize the object in JSON format, use the JSON.stringify function:

function writeConfig(obj) {
        fs.writeFile('./config.json', JSON.stringify(obj, undefined, 2), function (err) {
            if (err) console.log(err);
        });
}