Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Patch JSON streams on the fly.
var fs = require('fs');
var livepatch = require('livepatch');
fs.createReadStream('test.json')
.pipe(livepatch(function() {
/* Transformations goes here */
this.rename('$.name_*', 'name'); // Renames all keys in the root starting with 'name_' to 'name'
this.remove('$._*'); // Removes all fields in the root starting with an underscore
// Advanced usage
this.rewrite('$.author', function(match) {
return {
rename: 'author_name',
value: match.value.toUpperCase()
};
});
}))
.pipe(fs.createWriteStream('output.json'));
Renames all fields matched by path
to name
.
Remove all fields matched by path
.
Rewrite all fields matched by path
using rewriteFn
.
The passed function receives an argument with the following information:
key: current key name
path: current path(as an array)
value: current key value(if available)
It should return a JSON object with atleast one of the following actions:
rename: Renames the fields with the given value
remove: If true
, removes the key
value: Changes the key value
All paths used in transformations are based on the JSONPath spec.
$
denotes the root of the object
.
denotes the end of a key name
*
denotes any range of characters
$.name
Matches the name
field.
$.books[*].author
Matches all books authors.
$.books[*].*_name
Matches all fields in a book that ends with _name
.
LivePatch works by reading a JSON stream with clarinet and doing live modifications based on the current path in the stream. After patching, it immediatly serializes to the next stream the resulting JSON.
It's very useful when dealing with very large objects which came from a stream(e.g.: ElasticSearch results) that need to be modified and streamed to another place(e.g.: network). As it doesn't hold the entire data on memory you don't need to worry about loading large files.
Check here.
FAQs
Patch JSON streams on the fly
The npm package livepatch receives a total of 2,345 weekly downloads. As such, livepatch popularity was classified as popular.
We found that livepatch demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.