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,
 | |
| }; |