UNPKG

yapm

Version:

package manager for io.js (npm fork)

42 lines (37 loc) 1.03 kB
var Path = require('path') var YAML = require('js-yaml') var yUpdate = require('yaml-update') 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.yaml'), 'utf8', function(err, data) { if (err) return cb(err) try { data = YAML.safeLoad(data) } catch(err) { return cb(err) } cb(null, data) }) } module.exports.write = function(path, object, cb) { read(Path.join(path, 'package.yaml'), 'utf8', function(err, data) { if (err) { data = YAML.dump(object) } else { try { data = yUpdate.edit(data, JSON.stringify(object)) } catch(_) { data = YAML.dump(object) } } write(Path.join(path, 'package.yaml'), data, cb) }) } module.exports.stat = function(path, cb) { stat(Path.join(path, 'package.yaml'), function(er, stat) { if (stat) stat.file = Path.join(path, 'package.yaml') cb(er, stat) }) }