44 lines
		
	
	
		
			804 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			804 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| '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;
 | |
| 
 | 
