1.0.1 • Published 6 years ago

canonicaljson v1.0.1

Weekly downloads
230
License
Apache-2.0
Repository
github
Last release
6 years ago

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.