Spaces:
Sleeping
Sleeping
; | |
var utils = require('../utils'); | |
var add = require('./add'); | |
var parse = require('./parse'); | |
// exported | |
var rules = { ignore: [], watch: [] }; | |
/** | |
* Loads a nodemon config file and populates the ignore | |
* and watch rules with it's contents, and calls callback | |
* with the new rules | |
* | |
* @param {String} filename | |
* @param {Function} callback | |
*/ | |
function load(filename, callback) { | |
parse(filename, function (err, result) { | |
if (err) { | |
// we should have bombed already, but | |
utils.log.error(err); | |
callback(err); | |
} | |
if (result.raw) { | |
result.raw.forEach(add.bind(null, rules, 'ignore')); | |
} else { | |
result.ignore.forEach(add.bind(null, rules, 'ignore')); | |
result.watch.forEach(add.bind(null, rules, 'watch')); | |
} | |
callback(null, rules); | |
}); | |
} | |
module.exports = { | |
reset: function () { // just used for testing | |
rules.ignore.length = rules.watch.length = 0; | |
delete rules.ignore.re; | |
delete rules.watch.re; | |
}, | |
load: load, | |
ignore: { | |
test: add.bind(null, rules, 'ignore'), | |
add: add.bind(null, rules, 'ignore'), | |
}, | |
watch: { | |
test: add.bind(null, rules, 'watch'), | |
add: add.bind(null, rules, 'watch'), | |
}, | |
add: add.bind(null, rules), | |
rules: rules, | |
}; |