Skip to content

JS library for producing JSON in canonical format.

License

Notifications You must be signed in to change notification settings

ONB-RD/canonicaljson-js

 
 

Repository files navigation

canonicaljson-js

JS library for producing JSON in canonical format as specified by https://gibson042.github.io/canonicaljson-spec/. The provided interface matches that of native JSON object.

npm build status codecov

Installation

npm install canonicaljson

or

yarn add canonicaljson

Usage

const json = require('canonicaljson');

const obj = json.parse('{ "a": 12 }');
console.log(json.stringify(obj))

// or if you use ES6 modules
import { parse, stringify } from 'canonicaljson';

const obj = parse('{ "a": 12 }');
console.log(stringify(obj))

Development

Integration tests are located in the canonicaljson-spec submodule. To download them, you should run:

git submodule init
git submodule update

macOS

The tests need a version of readlink that support the -v option. Macports and homebrew provide a coreutils package containing greadlink (GNU readlink).

You can do, for instance:

brew install coreutils

# in your .bashrc, .zshrc...
export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

The tests also need the GNU version of awk. It is provided by homebrew:

brew install gawk

The tests will run if you change #!/usr/bin/awk -f to #!/usr/local/bin/gawk -f in canonicaljson-spec/test/prettyjson.awk:

sed -i "" s_/usr/bin/awk_/usr/local/bin/gawk_ canonicaljson-spec/test/prettyjson.awk

This change will be ignored by git.

About

JS library for producing JSON in canonical format.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%