Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
utils-fs-read-json
Advanced tools
Reads the entire contents of a JSON file.
$ npm install utils-fs-read-json
var readJSON = require( 'utils-fs-read-json' );
Reads the entire contents of a JSON file.
readJSON( '/path/to/data.json', onData );
function onData( error, data ) {
if ( error ) {
console.error( error );
} else {
console.log( data );
}
}
The function accepts the same options as fs.readFile()
, but encoding
is always set to utf8
. In addition, a JSON reviver may be provided.
var opts = {
'reviver': reviver
};
readJSON( '/path/to/data.json', opts, onData );
function onData( error, data ) {
if ( error ) {
console.error( error );
} else {
console.log( data );
}
}
function reviver( key, value ) {
if ( key === 'beep' ) {
return 'boop';
}
return value;
}
Synchronously reads the contents of an entire JSON file.
var out = readJSON.sync( '/path/to/data.json' );
if ( out instanceof Error ) {
throw out;
}
console.log( out );
The function accepts the same options as fs.readFileSync()
and the asynchronous readJSON
method above.
var path = require( 'path' ),
readJSON = require( 'utils-fs-read-json' );
var file = path.join( __dirname, 'data.json' );
// Sync:
var data = readJSON.sync( file, 'utf8' );
// returns <object>
console.log( data instanceof Error );
// returns false
data = readJSON.sync( 'beepboop', {
'encoding': 'utf8'
});
// returns <error>
console.log( data instanceof Error );
// returns true
// Async:
readJSON( file, onJSON );
readJSON( 'beepboop', onJSON );
function onJSON( error, data ) {
if ( error ) {
if ( error.code === 'ENOENT' ) {
console.error( 'JSON file does not exist.' );
} else {
throw error;
}
} else {
console.log( 'Beep: %s.', data.beep );
}
}
To run the example code from the top-level application directory,
$ node ./examples/index.js
Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:
$ make test
All new feature development should have corresponding unit tests to validate correct functionality.
This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:
$ make test-cov
Istanbul creates a ./reports/coverage
directory. To access an HTML version of the report,
$ make view-cov
Copyright © 2015. Athan Reines.
FAQs
Reads the entire contents of a JSON file.
We found that utils-fs-read-json demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.