NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2296 most downloaded on npm
A set of efficient utilities that extend the use of JSON (streaming, estimate size, NDJSON/JSONL, etc.)
Last release 5 months ago
03 May 2026
Ships unpredictably
gaps range from 2 weeks to 2.3 years
Nearly every release is documented
notes for 21 of 21 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
21 releases · first in 2020
One column per quarter.
Added returnValue and currentRootValue properties to the state object passed to onChunk and onRootValue callbacks
parseChunked():
returnValue and currentRootValue properties to the state object passed to onChunk and onRootValue callbacksRefactored from class-based to function-based implementation, as a result a bit smaller and faster
parseChunked():
reviver support (similar to JSON.parse()), both as a second argument (parseChunked(input, reviver)) and in options (parseChunked(input, { reviver }))parseChunked(input, { mode }), where mode can be json (default), jsonl, or autoonRootValue option for incremental stream processing, useful in JSONL mode, which is called with each parsed root valueonChunk option for progress trackingonRootValue is specified, parseChunked() returns number of processed root values instead of collecting and returning parsed valuesstringifyChunked():
mode option with "json" (default) and "jsonl" values; mode: "jsonl" serializes iterable input into newline-delimited JSON valuesstringifyInfo():
mode option with "json" (default) and "jsonl" values; mode: "jsonl" computes byte size for newline-delimited JSON valuesFixed an issue with types in the exports of package.json that introduced in version 0.6.2
types in the exports of package.json that introduced in version 0.6.2 (#14)Added spaceBytes field to stringifyInfo() result, which indicates the number of bytes used for white spaces. This allows for estimating size of JSON.s
spaceBytes field to stringifyInfo() result, which indicates the number of bytes used for white spaces. This allows for estimating size of JSON.stringify() result with and without formatting (when space option is used) in a single pass instead of twostringifyInfo() to correctly accept the space parameter from options, i.e. stringifyInfo(data, { space: 2 })Enhanced the performance of stringifyChunked() by 1.5-3x
stringifyChunked() by 1.5-3xstringifyInfo() by 1.5-5xparseFromWebStream() to ensure that the lock on the reader is properly releasedAdded stringifyChunked() as a generator function
stringifyChunked() as a generator functioncreateStringifyWebStream() functionparseFromWebStream() functionparseChunked() to accept an iterable or async iterable that iterates over string, Buffer, or TypedArray elementsstringifyStream(), use Readable.from(stringifyChunked()) insteadstringifyChunked() with JSON.stringify() when replacer a list of keys and a key refer to an entry in a prototype chainstringifyInfo():
stringifyChunked by accepting options as the second parameter. Now supports:
stringifyInfo(value, replacer?, space?)stringifyInfo(value, options?)minLength field into bytes in functions resultasync optionasync and duplicate fieldsJSON.stringify() when replacer a list of keys and a key refer to an entry in a prototype chainversion attributeFixed adding entire package.json content to a bundle when target is a browser
package.json content to a bundle when target is a browserFixed stringifyStream() hang when last element in a stream takes a long time to process (#9, @kbrownlees)
stringifyStream() hang when last element in a stream takes a long time to process (#9, @kbrownlees)Added missed TypeScript typings file into the npm package
Added TypeScript typings (#7, @lexich)
Fixed stringifyStream() and stringifyInfo() to work properly when replacer is an allowlist
stringifyStream() and stringifyInfo() to work properly when replacer is an allowlistparseChunked()
Fixed RangeError: Maximum call stack size exceeded in parseChunked() on very long arrays (corner case)
RangeError: Maximum call stack size exceeded in parseChunked() on very long arrays (corner case)Fixed parseChunked() crash when input has trailing whitespaces (#4, @smelukov)
parseChunked() crash when input has trailing whitespaces (#4, @smelukov)- Added support for Node.js 10
Added parseChunked() method (see readme for detail)
parseChunked() method (see readme for detail)stringifyInfo() to not throw when meet unknown value typeparseChunked() methodstringifyInfo() to not throw when meet unknown value typeAdded missed file for build purposes
Changed build setup to allow building by any bundler that supports browser property in package.json
browser property in package.jsonRenamed info() method into stringifyInfo()
info() method into stringifyInfo()Added dist version to package (dist/json-ext.js and dist/json-ext.min.js)
dist version to package (dist/json-ext.js and dist/json-ext.min.js)- Fixed main entry point
- Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →