UNPKG

yapm

Version:

package manager for io.js (npm fork)

41 lines (36 loc) 1.04 kB
var jju = require('jju') var Path = require('path') var read = require('../utils').read var write = require('../utils').write var stat = require('../utils').fs.stat module.exports.read = function(path, cb) { read(Path.join(path, 'package.json5'), 'utf8', function(err, data) { if (err) return cb(err) try { data = jju.parse(data, {null_prototype: false}) } catch(err) { return cb(err) } cb(null, data) }) } module.exports.write = function(path, object, cb) { read(Path.join(path, 'package.json5'), 'utf8', function(err, data) { if (err) { data = jju.stringify(object, {indent: 2}) + '\n' } else { try { data = jju.update(data, object) } catch(_) { data = jju.stringify(object, {indent: 2}) + '\n' } } write(Path.join(path, 'package.json5'), data, cb) }) } module.exports.stat = function(path, cb) { stat(Path.join(path, 'package.json5'), function(er, stat) { if (stat) stat.file = Path.join(path, 'package.json5') cb(er, stat) }) }