
Security News
Node.js Drops Bug Bounty Rewards After Funding Dries Up
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.
exJSON is a way to preformat and reduce redundancy in JSON by extracting repeated values. It's build on top of JSON, and is a lightweight library which can implemented in applications which send back and forth a lot of repetitive data. It also supports translating parsed data back into classes.
const exJSON = require('exjson');
/*
@param toStringify Object/Array/Primitive thing to be stringified
@param options Object
@property identifierString String String to identify templates. Must be set or will cause parsing error later.
@default "I:"
@property convertToJSON boolean Whether to convert to string in end or not
@default true
@property storeRepeated boolean Whether to store values in a separate array and reference that array elsewhere
@default true
@property compress function compression function to be called at the end, convenience wrapper
@default i=>i
*/
let test = {
x: 1,
y: 2,
children: [
{x:4, y:3},
{x:6, y:9}
]
};
let str = exJSON.stringify(test);
/*
{"templates":["x,y","x,y,children"],
"repeated":[1,2,4,3,6,9],
"values":[0,1,[[2,3,"I:0"],[4,5,"I:0"]],"I:1"],
"options":{"sr":true,"id":"I:"}}
*/
/*
@param toParse String string that will be parsed into an object.
@param options Object
@property templates Array of templates that can be overwritten. Generally best not to set.
@default toParse.templates || []
@property repeated Array of repeated values that can be overwritten. Best to leave alone.
@default toParse.repeated || []
@property constructors Array of constructors which will replace templates upon the parsed object being reconstructed
@default []
*/
let result = exJSON.parse(str);
/*
{
x: 1,
y: 2,
children: [
{x:4, y:3},
{x:6, y:9}
]
}
*/
FAQs
repetitive object compression by templating
We found that exjson 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.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.