You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							53 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							53 lines
						
					
					
						
							1.2 KiB
						
					
					
				'use strict';
 | 
						|
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,
 | 
						|
}; |