{"_id":"@tufjs/canonical-json","_rev":"2994959","name":"@tufjs/canonical-json","description":"OLPC JSON canonicalization","dist-tags":{"latest":"2.0.0"},"maintainers":[{"name":"bdehamer","email":""},{"name":"eugenethehub","email":""}],"time":{"modified":"2023-08-28T09:20:11.000Z","created":"2023-03-06T20:39:41.843Z","2.0.0":"2023-08-17T17:57:39.856Z","1.0.0":"2023-03-06T20:39:41.843Z"},"users":{},"author":{"name":"bdehamer@github.com"},"repository":{"type":"git","url":"git+https://github.com/theupdateframework/tuf-js.git"},"versions":{"2.0.0":{"name":"@tufjs/canonical-json","version":"2.0.0","description":"OLPC JSON canonicalization","main":"lib/index.js","typings":"lib/index.d.ts","license":"MIT","keywords":["json","canonical","canonicalize","canonicalization","crypto","signature","olpc"],"author":{"name":"bdehamer@github.com"},"repository":{"type":"git","url":"git+https://github.com/theupdateframework/tuf-js.git"},"homepage":"https://github.com/theupdateframework/tuf-js/tree/main/packages/canonical-json#readme","bugs":{"url":"https://github.com/theupdateframework/tuf-js/issues"},"scripts":{"test":"jest"},"engines":{"node":"^16.14.0 || >=18.0.0"},"_id":"@tufjs/canonical-json@2.0.0","gitHead":"95fca28717d763c570ce243c4b1efdac577d0962","_nodeVersion":"16.20.1","_npmVersion":"9.8.1","dist":{"shasum":"a52f61a3d7374833fca945b2549bc30a2dd40d0a","size":2691,"noattachment":false,"key":"/@tufjs/canonical-json/-/@tufjs/canonical-json-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@tufjs/canonical-json/download/@tufjs/canonical-json-2.0.0.tgz"},"_npmUser":{"name":"eugenethehub","email":"ejahngithub@github.com"},"directories":{},"maintainers":[{"name":"bdehamer","email":""},{"name":"eugenethehub","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonical-json_2.0.0_1692295059709_0.8790509572412155"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-17T17:57:39.856Z","publish_time":1692295059856,"_source_registry_name":"default","_cnpm_publish_time":1692295059856},"1.0.0":{"name":"@tufjs/canonical-json","version":"1.0.0","description":"OLPC JSON canonicalization","main":"lib/index.js","typings":"lib/index.d.ts","license":"MIT","keywords":["json","canonical","canonicalize","canonicalization","crypto","signature","olpc"],"author":{"name":"bdehamer@github.com"},"repository":{"type":"git","url":"git+https://github.com/theupdateframework/tuf-js.git"},"homepage":"https://github.com/theupdateframework/tuf-js/packages/canonical-json#readme","bugs":{"url":"https://github.com/theupdateframework/tuf-js/issues"},"scripts":{"test":"jest"},"devDependencies":{"@types/node":"^18.14.1","typescript":"^4.9.5"},"engines":{"node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"gitHead":"fa220414120d267cd5febc7acd2d4795bd9d307d","_id":"@tufjs/canonical-json@1.0.0","_nodeVersion":"16.19.1","_npmVersion":"9.6.0","dist":{"shasum":"eade9fd1f537993bc1f0949f3aea276ecc4fab31","size":2725,"noattachment":false,"key":"/@tufjs/canonical-json/-/@tufjs/canonical-json-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@tufjs/canonical-json/download/@tufjs/canonical-json-1.0.0.tgz"},"_npmUser":{"name":"eugenethehub","email":"ejahngithub@github.com"},"directories":{},"maintainers":[{"name":"bdehamer","email":""},{"name":"eugenethehub","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canonical-json_1.0.0_1678135181650_0.8995012088122474"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-06T20:39:41.843Z","publish_time":1678135181843,"_cnpm_publish_time":1678135181843}},"readme":"# @tufjs/canonical-json\n\nJSON canonicalization compliant with the [OLPC Canonical JSON specification][1].\n\n## Why\n\nIf you're looking for [RFC 8785][2] compliant JSON canonicalization there are\n[any][3] [number][4] [of][5] [libraries][6] [to][7] [choose][8] [from][9].\nYou should only select this library if you know that you specifically need\nsupport for the [OLPC][1]-style of canonicalization.\n\nOne reason you might chose OLPC compliance is for interoperability with\n[The Update Framework][10] which specifically calls out OLPC as the\ncanonicalization standard for computing signatures over TUF metadata.\n\nThe canonicalized strings generated by this library are compatible with those\ngenerated by the Python-based [securesystemslib][11] library and the Go-based\n[go-securesystemslib][12] library.\n\n## Installation\n\n```console\nnpm install @tufjs/canonical-json\n```\n\n## Usage\n\n```javascript\nconst json = require('@tufjs/canonical-json')\n\nconst obj = {\n  bool: true,\n  num: 42,\n  ary: [1, 2, 3],\n  str: \"foo\\\\bar\"\n}\n\nconsole.log(json.canonicalize(obj))\n// output: {\"ary\":[1,2,3],\"bool\":true,\"num\":42,\"str\":\"foo\\\\bar\"}\n```\n\n[1]: https://wiki.laptop.org/go/Canonical_JSON\n[2]: https://www.rfc-editor.org/rfc/rfc8785\n[3]: https://www.npmjs.com/package/@stratumn/canonicaljson\n[4]: https://www.npmjs.com/package/@truestamp/canonify\n[5]: https://www.npmjs.com/package/canonical-json\n[6]: https://www.npmjs.com/package/canonicalize\n[7]: https://www.npmjs.com/package/canonicalize-json\n[8]: https://www.npmjs.com/package/json-canonicalize\n[9]: https://www.npmjs.com/package/another-json\n[10]: https://theupdateframework.github.io/specification/latest/#metaformat\n[11]: https://github.com/secure-systems-lab/securesystemslib\n[12]: https://github.com/secure-systems-lab/go-securesystemslib\n","_attachments":{},"homepage":"https://github.com/theupdateframework/tuf-js/tree/main/packages/canonical-json#readme","bugs":{"url":"https://github.com/theupdateframework/tuf-js/issues"},"license":"MIT"}