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.
		
		
		
		
		
			
		
			
				
					44 lines
				
				804 B
			
		
		
			
		
	
	
					44 lines
				
				804 B
			| 
											3 years ago
										 | 'use strict'; | ||
|  | var fs = require('fs'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Parse the nodemon config file, supporting both old style | ||
|  |  * plain text config file, and JSON version of the config | ||
|  |  * | ||
|  |  * @param  {String}   filename | ||
|  |  * @param  {Function} callback | ||
|  |  */ | ||
|  | function parse(filename, callback) { | ||
|  |   var rules = { | ||
|  |     ignore: [], | ||
|  |     watch: [], | ||
|  |   }; | ||
|  | 
 | ||
|  |   fs.readFile(filename, 'utf8', function (err, content) { | ||
|  | 
 | ||
|  |     if (err) { | ||
|  |       return callback(err); | ||
|  |     } | ||
|  | 
 | ||
|  |     var json = null; | ||
|  |     try { | ||
|  |       json = JSON.parse(content); | ||
|  |     } catch (e) {} | ||
|  | 
 | ||
|  |     if (json !== null) { | ||
|  |       rules = { | ||
|  |         ignore: json.ignore || [], | ||
|  |         watch: json.watch || [], | ||
|  |       }; | ||
|  | 
 | ||
|  |       return callback(null, rules); | ||
|  |     } | ||
|  | 
 | ||
|  |     // otherwise return the raw file
 | ||
|  |     return callback(null, { raw: content.split(/\n/) }); | ||
|  |   }); | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = parse; | ||
|  | 
 |