mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
We have been stalled on ESLint 3.8.0 for some time. Current ESLint is 3.13.0. We have been unable to upgrade because of more aggressive reporting on some rules, including indentation. ESLint configuration options and bugfixes are now such that we can reasonably upgrade. PR-URL: https://github.com/nodejs/node/pull/10561 Reviewed-By: Teddy Katz <teddy.katz@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
40 lines
907 B
JavaScript
40 lines
907 B
JavaScript
var fs = require( 'graceful-fs' );
|
|
var write = require( 'write' );
|
|
var circularJson = require( 'circular-json' );
|
|
|
|
module.exports = {
|
|
|
|
tryParse: function ( filePath, defaultValue) {
|
|
var result;
|
|
try {
|
|
result = this.readJSON( filePath );
|
|
} catch (ex) {
|
|
result = defaultValue;
|
|
}
|
|
return result;
|
|
},
|
|
|
|
/**
|
|
* Read json file synchronously using circular-json
|
|
*
|
|
* @method readJSON
|
|
* @param {String} filePath Json filepath
|
|
* @returns {*} parse result
|
|
*/
|
|
readJSON: function ( filePath ) {
|
|
return circularJson.parse( fs.readFileSync( filePath ).toString() );
|
|
},
|
|
|
|
/**
|
|
* Write json file synchronously using circular-json
|
|
*
|
|
* @method writeJSON
|
|
* @param {String} filePath Json filepath
|
|
* @param {*} data Object to serialize
|
|
*/
|
|
writeJSON: function (filePath, data ) {
|
|
write.sync( filePath, circularJson.stringify( data ) );
|
|
}
|
|
|
|
};
|