{"_id":"canonicalize","_rev":"4577735","name":"canonicalize","description":"JSON canonicalize function","dist-tags":{"latest":"3.0.0"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"time":{"modified":"2026-04-10T15:48:43.000Z","created":"2018-05-04T11:35:51.189Z","3.0.0":"2026-04-08T20:50:32.230Z","2.1.0":"2025-03-18T21:43:49.923Z","2.0.0":"2023-04-02T19:45:23.742Z","1.0.8":"2021-11-26T17:24:19.974Z","1.0.7":"2021-11-26T17:15:45.801Z","1.0.6":"2021-11-26T08:05:12.582Z","1.0.5":"2020-11-18T20:59:34.540Z","1.0.4":"2020-11-17T18:38:54.074Z","1.0.3":"2020-08-05T20:35:08.477Z","1.0.2":"2020-08-05T20:21:25.251Z","1.0.1":"2019-02-27T22:14:18.535Z","1.0.0":"2018-05-04T11:35:51.189Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"versions":{"3.0.0":{"name":"canonicalize","version":"3.0.0","description":"JSON canonicalize function","type":"module","exports":{".":{"import":"./lib/canonicalize.js","types":"./lib/canonicalize.d.ts"}},"main":"lib/canonicalize.js","types":"lib/canonicalize.d.ts","bin":{"canonicalize":"bin/canonicalize.js"},"engines":{"node":">=18"},"scripts":{"lint":"eslint .","lint:fix":"eslint --fix .","test":"node --test test/*.js","coverage":"c8 npm test","coveragehtml":"c8 report -r html","precoveragehtml":"npm run coverage"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com"}],"devDependencies":{"@eslint/js":"^9.0.0","c8":"^10.0.0","eslint":"^9.0.0","globals":"^15.0.0"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","_id":"canonicalize@3.0.0","gitHead":"aba9209d044f2729c51141d8a73b11e80816e42c","_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"shasum":"a8073c48c1835631e1829d759078d2bbf48487fc","size":6020,"noattachment":false,"key":"/canonicalize/-/canonicalize-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-3.0.0.tgz"},"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"directories":{},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/canonicalize_3.0.0_1775681432035_0.7688209301595388"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-04-08T20:50:32.230Z","publish_time":1775681432230,"_source_registry_name":"default","_cnpm_publish_time":1775681432230},"2.1.0":{"name":"canonicalize","version":"2.1.0","description":"JSON canonicalize function ","main":"lib/canonicalize.js","types":"lib/canonicalize.d.ts","bin":{"canonicalize":"bin/canonicalize.js"},"directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"7fed74ed8addd9f2fe4b2ea4c1c7caf7b793ead2","_id":"canonicalize@2.1.0","_nodeVersion":"17.8.0","_npmVersion":"8.5.5","dist":{"shasum":"92a20ecfb94e96591badf4977dc2fb1bfbc31dc5","size":7709,"noattachment":false,"key":"/canonicalize/-/canonicalize-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-2.1.0.tgz"},"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/canonicalize_2.1.0_1742334229733_0.003972141980738586"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-18T21:43:49.923Z","publish_time":1742334229923,"_source_registry_name":"default","_cnpm_publish_time":1742334229923},"2.0.0":{"name":"canonicalize","version":"2.0.0","description":"JSON canonicalize function ","main":"lib/canonicalize.js","types":"lib/canonicalize.d.ts","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"428d18f45ef7e6eeb9c64073f6a4b7f80ea12a38","_id":"canonicalize@2.0.0","_nodeVersion":"17.8.0","_npmVersion":"8.5.5","dist":{"shasum":"32be2cef4446d67fd5348027a384cae28f17226a","size":7362,"noattachment":false,"key":"/canonicalize/-/canonicalize-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-2.0.0.tgz"},"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_2.0.0_1680464723553_0.9378452745724757"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-04-02T19:45:23.742Z","publish_time":1680464723742,"_cnpm_publish_time":1680464723742},"1.0.8":{"name":"canonicalize","version":"1.0.8","description":"JSON canonicalize function ","main":"lib/canonicalize.js","types":"lib/canonicalize.d.ts","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"ca718f80d2c7e02c18478ffa92c7d8e6dac2db27","_id":"canonicalize@1.0.8","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"shasum":"24d1f1a00ed202faafd9bf8e63352cd4450c6df1","size":7115,"noattachment":false,"key":"/canonicalize/-/canonicalize-1.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-1.0.8.tgz"},"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_1.0.8_1637947459847_0.35803747379116846"},"_hasShrinkwrap":false,"publish_time":1637947459974,"_cnpm_publish_time":1637947459974},"1.0.7":{"name":"canonicalize","version":"1.0.7","description":"JSON canonicalize function ","main":"lib/canonicalize.js","types":"lib/canonicalize.d.ts","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"55e30513665ac34a17fa1fa377a40369c572b018","_id":"canonicalize@1.0.7","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"shasum":"812113c75558e23b321c1c0764c50b51a44cb1d5","size":7115,"noattachment":false,"key":"/canonicalize/-/canonicalize-1.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-1.0.7.tgz"},"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_1.0.7_1637946945648_0.6125300477471043"},"_hasShrinkwrap":false,"publish_time":1637946945801,"_cnpm_publish_time":1637946945801},"1.0.6":{"name":"canonicalize","version":"1.0.6","description":"JSON canonicalize function ","main":"lib/canonicalize.js","types":"lib/canonicalize.d.ts","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"935b0390b8a7e757c90af0887cac420087219336","_id":"canonicalize@1.0.6","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"shasum":"91a1df17883f79f84666b16377d8bafc29444fd5","size":47864955,"noattachment":false,"key":"/canonicalize/-/canonicalize-1.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-1.0.6.tgz"},"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_1.0.6_1637913911427_0.6094024761722996"},"_hasShrinkwrap":false,"publish_time":1637913912582,"_cnpm_publish_time":1637913912582},"1.0.5":{"name":"canonicalize","version":"1.0.5","description":"JSON canonicalize function ","main":"lib/canonicalize.js","types":"lib/canonicalize.d.ts","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"b500b53937ae7f55d48155788f1414f035b1007d","_id":"canonicalize@1.0.5","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"shasum":"b43b390ce981d397908bb847c3a8d9614323a47b","size":7110,"noattachment":false,"key":"/canonicalize/-/canonicalize-1.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-1.0.5.tgz"},"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_1.0.5_1605733174430_0.5885348800496786"},"_hasShrinkwrap":false,"publish_time":1605733174540,"_cnpm_publish_time":1605733174540},"1.0.4":{"name":"canonicalize","version":"1.0.4","description":"JSON canonicalize function ","main":"lib/canonicalize.js","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"f77502ad50038b16f2ef7f97119c353539b3e328","_id":"canonicalize@1.0.4","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"shasum":"0ec3bd951bb84da1c09f65a46eb464e53bc0f33f","size":7042,"noattachment":false,"key":"/canonicalize/-/canonicalize-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-1.0.4.tgz"},"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_1.0.4_1605638333945_0.15086803043629238"},"_hasShrinkwrap":false,"publish_time":1605638334074,"_cnpm_publish_time":1605638334074},"1.0.3":{"name":"canonicalize","version":"1.0.3","description":"JSON canonicalize function ","main":"lib/canonicalize.js","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"1b08d0db94e71ae79a6bd5564fa121383a0a0d5a","_id":"canonicalize@1.0.3","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"shasum":"7c65d89eaf4f8f78a589e3ae23eabb1ce941c563","size":6692,"noattachment":false,"key":"/canonicalize/-/canonicalize-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-1.0.3.tgz"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_1.0.3_1596659708335_0.4151536827215132"},"_hasShrinkwrap":false,"publish_time":1596659708477,"_cnpm_publish_time":1596659708477},"1.0.2":{"name":"canonicalize","version":"1.0.2","description":"JSON canonicalize function ","main":"lib/canonicalize.js","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"82cb0a863c15c21de3a400e5c23d6e8770cb6483","_id":"canonicalize@1.0.2","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"shasum":"81c800732289a2446c6f88c36449c820f34ef70a","size":6534,"noattachment":false,"key":"/canonicalize/-/canonicalize-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-1.0.2.tgz"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_1.0.2_1596658885156_0.812633173898867"},"_hasShrinkwrap":false,"publish_time":1596658885251,"_cnpm_publish_time":1596658885251},"1.0.1":{"name":"canonicalize","version":"1.0.1","description":"JSON canonicalize function ","main":"lib/canonicalize.js","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava test","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"0018e8a07292090950ed83a150518cb324978454","_id":"canonicalize@1.0.1","_npmVersion":"6.3.0","_nodeVersion":"9.11.1","_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"dist":{"shasum":"657b4f3fa38a6ecb97a9e5b7b26d7a19cc6e0da9","size":6565,"noattachment":false,"key":"/canonicalize/-/canonicalize-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-1.0.1.tgz"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_1.0.1_1551305658430_0.7830498115826343"},"_hasShrinkwrap":false,"publish_time":1551305658535,"_cnpm_publish_time":1551305658535},"1.0.0":{"name":"canonicalize","version":"1.0.0","description":"JSON canonicalize function ","main":"lib/canonicalize.js","directories":{"example":"examples","lib":"lib"},"scripts":{"pretest":"semistandard --fix","test":"ava test","coverage":"nyc npm test","coveragehtml":"nyc report -r html","precoveragehtml":"npm run coverage","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/erdtman/canonicalize.git"},"keywords":["json","canonical","canonicalize","signing","crypto"],"contributors":[{"name":"Samuel Erdtman","email":"samuel@erdtman.se"},{"name":"Anders Rundgren","email":"anders.rundgren.net@gmail.com "}],"devDependencies":{"ava":"*","semistandard":"*","jsonfile":"*","nyc":"*"},"license":"Apache-2.0","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"homepage":"https://github.com/erdtman/canonicalize#readme","gitHead":"63a4176665b1d4fb98cea898242eaaf68d8414fe","_id":"canonicalize@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.1","_npmUser":{"name":"samuelerdtman","email":"samuel@erdtman.se"},"dist":{"shasum":"d191a4550f0152c1d7d10934c860a96156f96bc6","size":6622,"noattachment":false,"key":"/canonicalize/-/canonicalize-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/canonicalize/download/canonicalize-1.0.0.tgz"},"maintainers":[{"name":"samuelerdtman","email":"samuel@erdtman.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonicalize_1.0.0_1525433751074_0.9551950223163819"},"_hasShrinkwrap":false,"publish_time":1525433751189,"_cnpm_publish_time":1525433751189}},"readme":"[![CI](https://github.com/erdtman/canonicalize/actions/workflows/ci.yml/badge.svg)](https://github.com/erdtman/canonicalize/actions/workflows/ci.yml)\n# canonicalize\nJSON canonicalize function. Creates crypto safe predictable canonicalization of\nJSON as defined by [RFC8785](https://tools.ietf.org/html/rfc8785).\n\nTypeScript type definitions are included.\n\n## Usage\n### Normal Example\n```js\nimport canonicalize from 'canonicalize';\nconst json = {\n\t\"from_account\": \"543 232 625-3\",\n\t\"to_account\": \"321 567 636-4\",\n\t\"amount\": 500,\n\t\"currency\": \"USD\"\n}\nconsole.log(canonicalize(json));\n// output: {\"amount\":500,\"currency\":\"USD\",\"from_account\":\"543 232 625-3\",\"to_account\":\"321 567 636-4\"}\n```\n### Crazy Example\n```js\nimport canonicalize from 'canonicalize';\nconst json = {\n\t\"1\": {\"f\": {\"f\":  \"hi\",\"F\":  5} ,\"\\n\":  56.0},\n\t\"10\": { },\n\t\"\":  \"empty\",\n\t\"a\": { },\n\t\"111\": [ {\"e\":  \"yes\",\"E\":  \"no\" } ],\n\t\"A\": { }\n}\nconsole.log(canonicalize(json));\n// output: {\"\":\"empty\",\"1\":{\"\\n\":56,\"f\":{\"F\":5,\"f\":\"hi\"}},\"10\":{},\"111\":[{\"E\":\"no\",\"e\":\"yes\"}],\"A\":{},\"a\":{}}\n```\n### Via CLI\nThe function can be executed directly using npx without explicit installation. This allows JSON files and arbitrary input to be canonicalized with standard input/output:\n```bash\n# Input from file\nnpx canonicalize < input.json > output.json\n\n# Input from string\necho '{\n\t\"from_account\": \"543 232 625-3\",\n\t\"to_account\": \"321 567 636-4\",\n\t\"amount\": 500,\n\t\"currency\": \"USD\"\n}' | npx canonicalize > simple-data.json\n\n# Input from web API\ncurl --silent https://pokeapi.co/api/v2/pokemon/pikachu | npx canonicalize > pikachu.json\n```\n## Install\nAs a library:\n```\nnpm install canonicalize --save\n```\nAs a CLI tool:\n```\nnpm install -g canonicalize\ncanonicalize < input.json > output.json\n```\n## Test\n```\nnpm test\n```\n","_attachments":{},"homepage":"https://github.com/erdtman/canonicalize#readme","bugs":{"url":"https://github.com/erdtman/canonicalize/issues"},"license":"Apache-2.0"}