{"_id":"json-stable-stringify","_rev":"53-dfe9fbddf2522c3aa199e655d5682444","name":"json-stable-stringify","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","dist-tags":{"latest":"1.1.1"},"versions":{"0.0.0":{"name":"json-stable-stringify","version":"0.0.0","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"jsonify":"~0.0.0"},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tape test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/substack/json-stable-stringify.git"},"homepage":"https://github.com/substack/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/json-stable-stringify/issues"},"_id":"json-stable-stringify@0.0.0","dist":{"shasum":"a5880cbb2068c6edb68aeb8a1c17606eab6885a4","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.0.tgz","integrity":"sha512-QPj8PdxQe+BRJraiNLPrgy/XMQLxGf/Hj+d5Ce75cZj0DM+pilWhOsyZibW/H5vFO5ErU0Nl4TRpl0pd9a/qCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5ywWi5o48sTiXjMZn/y5v1JTvj7thh6vRnZYsTjkc3gIgU7eXtEYy0eDhNdE6xyezy7CMpvKTyMY07KeeT1c17N4="}]},"_from":".","_npmVersion":"1.3.0","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{}},"0.0.1":{"name":"json-stable-stringify","version":"0.0.1","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"jsonify":"~0.0.0"},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tape test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/substack/json-stable-stringify.git"},"homepage":"https://github.com/substack/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/json-stable-stringify/issues"},"_id":"json-stable-stringify@0.0.1","dist":{"shasum":"611c23e814db375527df851193db59dd2af27f45","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz","integrity":"sha512-nKtD/Qxm7tWdZqJoldEC7fF0S41v0mWbeaXG3637stOWfyGxTgWTYE2wtfKmjzpvxv2MA2xzxsXOIiwUpkX6Qw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEqhYbElFc+KAh+w7DnIqYg9Q7iu8BFIeBBhMz6+er3QAiAbd78wgBw1vW9OZ169rXWs2HQ9N4e7tG35aG257n6bwA=="}]},"_from":".","_npmVersion":"1.3.0","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{}},"0.1.0":{"name":"json-stable-stringify","version":"0.1.0","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"jsonify":"~0.0.0"},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tape test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/substack/json-stable-stringify.git"},"homepage":"https://github.com/substack/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/json-stable-stringify/issues"},"_id":"json-stable-stringify@0.1.0","dist":{"shasum":"c54ac064fc16d73c4b8915d4587bcd0d6635648a","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.1.0.tgz","integrity":"sha512-aJKKTIFTzm42kebyjm9Xh8DFUjO7+AQLGzy7ar+B+nsXjvMaj7B3Q1Z4ibVXR/BajpWRjOnIMoeMzf/DgQgnsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwbh2qHY/bUNw6koJgjPlae0xDLhiWpP924D5rIZtX4gIhAKxxz3O5hsLRNI9+I6O/1n4ylKeCK/TjQdDwXYudftCe"}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{}},"0.1.1":{"name":"json-stable-stringify","version":"0.1.1","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"jsonify":"~0.0.0"},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tape test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/substack/json-stable-stringify.git"},"homepage":"https://github.com/substack/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/json-stable-stringify/issues"},"_id":"json-stable-stringify@0.1.1","dist":{"shasum":"d190f8784548e4cbae311db2c12804b797fb0c06","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.1.1.tgz","integrity":"sha512-gUbS4/YRjeQHHCrucRqom7GGJRLNUWtAsfTauvnkE0gDxeh/CYWxy1Hgae7DnnCS+CLQJQAf7lqbsDTCpmEwbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWt8x74IliekXnI1+Z/zXm0kA2dNVlPuLKygHDPXi/uAIgQ/cdz7vTUmeKpc56H/g1pnuPI0hx/P5bB8PO4MdtWqQ="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{}},"0.1.2":{"name":"json-stable-stringify","version":"0.1.2","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"jsonify":"~0.0.0"},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tape test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/substack/json-stable-stringify.git"},"homepage":"https://github.com/substack/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/json-stable-stringify/issues"},"_id":"json-stable-stringify@0.1.2","dist":{"shasum":"cf427efa3e55a9a22ccc1e08fa866728623e4d92","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.1.2.tgz","integrity":"sha512-7Z4IjzuVzMg/+UQSMOfcc4T0EQfY3+gwGp5RIXUwdaig00tehkSw9rwTzWIyuTk8Sm2wPQR78iLEEndUin5cew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHziS+1m6Rzb6gRRvwEx0qnUyNZkKNDxPhS6kB62gNEmAiEA7WS6d37lF/u6VbsMhiGWmpHWDRemf7GmEwLUnswYYeI="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{}},"0.1.3":{"name":"json-stable-stringify","version":"0.1.3","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"jsonify":"~0.0.0"},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tape test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/substack/json-stable-stringify.git"},"homepage":"https://github.com/substack/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/json-stable-stringify/issues"},"_id":"json-stable-stringify@0.1.3","dist":{"shasum":"5860d0400e7a5911479248646c796b008eeb3eb9","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.1.3.tgz","integrity":"sha512-I5247SzymWMVB6isPMeOn4pFDVwrOUDzkUxlzS+0ebSIrmXDmjDth9oyNKC1H3auun8OA8a1fW0ja39RQhm34g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCIA9NgEg4y8HgXoeI8hWP6LpOBb+JgKWGXD2PyYecTh9nAh84vxof/bEdCyUD96HnbybX702RIhQIFpDLnw71XL5J"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{}},"1.0.0":{"name":"json-stable-stringify","version":"1.0.0","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"jsonify":"~0.0.0"},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tape test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/substack/json-stable-stringify.git"},"homepage":"https://github.com/substack/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/json-stable-stringify/issues"},"_id":"json-stable-stringify@1.0.0","dist":{"shasum":"5e26859cf49968cfa499533413443578ee04d251","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.0.tgz","integrity":"sha512-TnBi8DacrdgcfuB2o2X+cTAZZCcgfuape5zsL6qOL+ayogGokOwxPSL5VuRVEDKrsPG5RppOAb2b+T3ldYlHvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFLtPwtmWRDHwx3X8fP9L+9qLALt+uGvvHecT8VS8Vw3AiBAhWvkm3fH5hj3HV5LBZcSlPQVowOqj8LVVMCQvTlS2Q=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{}},"1.0.1":{"name":"json-stable-stringify","version":"1.0.1","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"jsonify":"~0.0.0"},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tape test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/substack/json-stable-stringify.git"},"homepage":"https://github.com/substack/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","gitHead":"4a3ac9cc006a91e64901f8ebe78d23bf9fc9fbd0","bugs":{"url":"https://github.com/substack/json-stable-stringify/issues"},"_id":"json-stable-stringify@1.0.1","_shasum":"9a759d39c5f2ff503fd5300646ed445f88c4f9af","_from":".","_npmVersion":"3.4.1","_nodeVersion":"4.2.1","_npmUser":{"name":"substack","email":"substack@gmail.com"},"dist":{"shasum":"9a759d39c5f2ff503fd5300646ed445f88c4f9af","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz","npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2wv/CRA9TVsSAnZWagAAxs0P/04kb+giHknVPYvWG9Ye\nUpMWPg4NAxs4KHgieJ6TNvVrYPzMIRnLuogS2WC58R3BtvAO3PFRSjW4LhL6\n5RXCF5Lpgjr6KbuxnhsYnNQCuakUAJjhkjQBMI7NsG6+m3ptuZA47stDMD3G\nqAX8JnifLXyiUyynVfYvPvIUjJM0ERVU7C7t05Qei7N9U2XWfE8A7BQczyGQ\nh3WmszRuU0PAaASWElo32iKGvg4OB2ZpTk3LwqQ8uCxw0sL+sjc0197vIynv\n/vGeOnWp5eGYLDWSb9eucJ4u0IDc5lxqZZ60+YzkUwhhZXmG9WUrN/GwPxHx\nKAxHNGRJ3Jjs8ikhG02LVZ3eK/o6MgQ0cQPd+zv/tqZFhd3Jj2PQQPiAjtEN\nZHmDxd0LKJD6DKPCYAtEH/CpoV5T5/xzqDluR5mvvRi3muE8N6ha3W+uBkuq\nWRZO3OzyiyJRcH29S21BfznKJpiLR6FEX8LAL9bNsNo/XvgZ+j6jwCsBEnpB\nrjciw430Wzc84AR6efcuuEJPKOnDGn39GcJmXw3ySHvAGAcBd/aLv7B2m/Qk\n/FlR6aaaz6c3BIBExP/LyiM7/wIpls8pPBMCWGzaJx+yrCk2vTK0DAkzMNU9\n6a4Caymauo4j9WyOKIN9RZNsTxYC/BjIuMbGfuEwaw+4V1P1ceRo/hRRzNO8\nBBNz\r\n=1Zwp\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1uTshn9tiZEfPvlImhWA4Gfob07/sxlg2K2KMJcsD+AIgNLI3SCOvB79G1jqAGDsk+igsZkSN0DD4dLtCcZqceF8="}]},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/json-stable-stringify-1.0.1.tgz_1454436356521_0.9410459187347442"},"directories":{}},"1.0.2":{"name":"json-stable-stringify","version":"1.0.2","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"jsonify":"^0.0.1"},"devDependencies":{"@ljharb/eslint-config":"^21.0.0","aud":"^2.0.1","auto-changelog":"^2.4.0","eslint":"=8.8.0","in-publish":"^2.0.1","npmignore":"^0.3.0","safe-publish-latest":"^2.0.0","tape":"^5.6.1"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/ljharb/json-stable-stringify.git"},"homepage":"https://github.com/ljharb/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"gitHead":"4fdc427435d546aba5c6d272d6edd27411388625","bugs":{"url":"https://github.com/ljharb/json-stable-stringify/issues"},"_id":"json-stable-stringify@1.0.2","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==","shasum":"e06f23128e0bbe342dc996ed5a19e28b57b580e0","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz","fileCount":18,"unpackedSize":23776,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw4kfu4Gw+aVuN49wQeY51SlekPc4k7K86/IRu+fXypAIgfouN8TOlnkq0ORUVOrnD/UM5DvTAG2hTKG4TuH2SeE8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjapARACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLfxAApH0nsN2mfKb6E6rZW5JcPzHZt2w78kp5TPQ4UuaM4oF69qrv\r\nIWeyNsVD3ReEPSq74lH6gV62zyuDzC1bZPHB82Uc8tLicKaqmrgTdgL12mqW\r\nzCcVFWOwybli0B2aECXmaJqyK2r7fyzQOPs2lyAE6KoyB3/YJVvG+C0EbXBN\r\nAd0i2B633ru5jg3FIOfU7YbUzsZXmxFwO2p6gpswJrDiBfat2xiTpHnn/3Jl\r\nztkd3daSGlEWqRZQW7hptS0RIs7UdNBe4SsJXYPTaYPbTlpNyJs9SCYxkPwG\r\nUzHH6BNnF+8n+dkdBdLLA6FfDCLEwQ9xBxGCpT/BdS75xgnCUL/IetIHQyOQ\r\n0+lhflJGzvahI4yYUH6vZBbWUz94BQ6VjCLJCJGEJi/tyWbERJZDBVkpahSG\r\nosp14KnHlQismx4HabiPFqNF0vrUtw69tTB42HN4P4SDcGkVQQBnr+5ftqZn\r\nFv6v0GnUwBeOm0BNr/jvHUEXPPG71IX7iIBgxcYhm5o2zyvRkKJDRIftOhmU\r\nmhOTOs5LFlqlFWRNgdSJRtA6tN/RJGrCgi3ZKcRqNt95tN4pOXOwm55wfhSv\r\nAVIKqOMSO0yBLtPYP0PRtmO+50PdIgyDhQokpw7DFt5oq2OO+7mjIdWyuoy3\r\n3UhvKmTwpPiOMI/dDrLfgylgxDrmObJXc4g=\r\n=n80t\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"},{"name":"nopersonsmodules","email":"nopersonsmodules@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-stable-stringify_1.0.2_1667928080858_0.0998043011909664"},"_hasShrinkwrap":false},"1.1.0":{"name":"json-stable-stringify","version":"1.1.0","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"call-bind":"^1.0.5","isarray":"^2.0.5","jsonify":"^0.0.1","object-keys":"^1.1.1"},"devDependencies":{"@ljharb/eslint-config":"^21.1.0","aud":"^2.0.3","auto-changelog":"^2.4.0","eslint":"=8.8.0","in-publish":"^2.0.1","npmignore":"^0.3.0","safe-publish-latest":"^2.0.0","tape":"^5.7.2"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/ljharb/json-stable-stringify.git"},"homepage":"https://github.com/ljharb/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","engines":{"node":">= 0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"_id":"json-stable-stringify@1.1.0","gitHead":"d86c3bbde4ec1a17a287d1d8239983822c4bfdb6","bugs":{"url":"https://github.com/ljharb/json-stable-stringify/issues"},"_nodeVersion":"21.1.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA==","shasum":"43d39c7c8da34bfaf785a61a56808b0def9f747d","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz","fileCount":17,"unpackedSize":27103,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFAvZIjABf9BHsEif1sAgSp55ji07yj/kQpqs/qOqmjLAiEAhvVqOqtpBnA9daxL21vwNc1RONo6sWNSDhQ9nssewkQ="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-stable-stringify_1.1.0_1699913627656_0.3565184281566487"},"_hasShrinkwrap":false},"1.1.1":{"name":"json-stable-stringify","version":"1.1.1","description":"deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results","main":"index.js","dependencies":{"call-bind":"^1.0.5","isarray":"^2.0.5","jsonify":"^0.0.1","object-keys":"^1.1.1"},"devDependencies":{"@ljharb/eslint-config":"^21.1.0","aud":"^2.0.4","auto-changelog":"^2.4.0","eslint":"=8.8.0","in-publish":"^2.0.1","npmignore":"^0.3.0","safe-publish-latest":"^2.0.0","tape":"^5.7.3"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"testling":{"files":"test/*.js","browsers":["ie/8..latest","ff/5","ff/latest","chrome/15","chrome/latest","safari/latest","opera/latest"]},"repository":{"type":"git","url":"git://github.com/ljharb/json-stable-stringify.git"},"homepage":"https://github.com/ljharb/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","engines":{"node":">= 0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"_id":"json-stable-stringify@1.1.1","gitHead":"eb687c156d8e87228a9fa1b2041b5ec23ca2a47a","bugs":{"url":"https://github.com/ljharb/json-stable-stringify/issues"},"_nodeVersion":"21.6.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==","shasum":"52d4361b47d49168bcc4e564189a42e5a7439454","tarball":"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz","fileCount":17,"unpackedSize":27748,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9EULmZU7LF17CVAQrtclz2wfQ6gUKnamN9mibkcMx9AIgEQQQiV8IfEg8sbj2yZ2CzmbaT4gC3MCvTuqK7IUTSpQ="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/json-stable-stringify_1.1.1_1705428661889_0.26704377559004344"},"_hasShrinkwrap":false}},"readme":"# json-stable-stringify <sup>[![Version Badge][npm-version-svg]][package-url]</sup>\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\ndeterministic version of `JSON.stringify()` so you can get a consistent hash from stringified results\n\nYou can also pass in a custom comparison function.\n\n[![browser support](https://ci.testling.com/ljharb/json-stable-stringify.png)](https://ci.testling.com/ljharb/json-stable-stringify)\n\n[![build status](https://secure.travis-ci.org/ljharb/json-stable-stringify.png)](http://travis-ci.org/ljharb/json-stable-stringify)\n\n# example\n\n``` js\nconst stringify = require('json-stable-stringify');\n\nconst obj = { c: 8, b: [{ z: 6, y: 5, x: 4 }, 7], a: 3 };\n\nconsole.log(stringify(obj));\n```\n\noutput:\n\n```\n{\"a\":3,\"b\":[{\"x\":4,\"y\":5,\"z\":6},7],\"c\":8}\n```\n\n# methods\n\n``` js\nconst stringify = require('json-stable-stringify')\n```\n\n<a id=\"var-str--stringifyobj-opts\"></a>\n## const str = stringify(obj, opts)\n\nReturn a deterministic stringified string `str` from the object `obj`.\n\n## options\n\n### cmp\n\nIf `opts` is given, you can supply an `opts.cmp` to have a custom comparison function for object keys.\nYour function `opts.cmp` is called with these parameters:\n\n``` js\nopts.cmp({ key: akey, value: avalue }, { key: bkey, value: bvalue }, { get(key): value })\n```\n\nFor example, to sort on the object key names in reverse order you could write:\n\n``` js\nconst stringify = require('json-stable-stringify');\n\nconst obj = { c: 8, b: [{ z: 6, y: 5, x: 4 },7], a: 3 };\n\nconst s = stringify(obj, function (a, b) {\n\treturn b.key.localeCompare(a.key);\n});\n\nconsole.log(s);\n```\n\nwhich results in the output string:\n\n``` js\n{\"c\":8,\"b\":[{\"z\":6,\"y\":5,\"x\":4},7],\"a\":3}\n```\n\nOr if you wanted to sort on the object values in reverse order, you could write:\n\n``` js\nconst stringify = require('json-stable-stringify');\n\nconst obj = { d: 6, c: 5, b: [{ z: 3, y: 2, x: 1 }, 9], a: 10 };\n\nconst s = stringify(obj, function (a, b) {\n\treturn a.value < b.value ? 1 : -1;\n});\n\nconsole.log(s);\n```\n\nwhich outputs:\n\n``` js\n{\"d\":6,\"c\":5,\"b\":[{\"z\":3,\"y\":2,\"x\":1},9],\"a\":10}\n```\n\nAn additional param `get(key)` returns the value of the key from the object being currently compared.\n\n### space\n\nIf you specify `opts.space`, it will indent the output for pretty-printing.\nValid values are strings (e.g. `{space: \\t}`) or a number of spaces\n(`{space: 3}`).\n\nFor example:\n\n```js\nconst obj = { b: 1, a: { foo: 'bar', and: [1, 2, 3] } };\n\nconst s = stringify(obj, { space: '  ' });\n\nconsole.log(s);\n```\n\nwhich outputs:\n\n```\n{\n  \"a\": {\n    \"and\": [\n      1,\n      2,\n      3\n    ],\n    \"foo\": \"bar\"\n  },\n  \"b\": 1\n}\n```\n\n### replacer\n\nThe replacer parameter is a function `opts.replacer(key, value)` that behaves the same as the replacer\n[from the core JSON object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_native_JSON#The_replacer_parameter).\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install json-stable-stringify\n```\n\n# license\n\nMIT\n\n[package-url]: https://npmjs.org/package/json-stable-stringify\n[npm-version-svg]: https://versionbadg.es/ljharb/json-stable-stringify.svg\n[deps-svg]: https://david-dm.org/ljharb/json-stable-stringify.svg\n[deps-url]: https://david-dm.org/ljharb/json-stable-stringify\n[dev-deps-svg]: https://david-dm.org/ljharb/json-stable-stringify/dev-status.svg\n[dev-deps-url]: https://david-dm.org/ljharb/json-stable-stringify#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/json-stable-stringify.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/json-stable-stringify.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/json-stable-stringify.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=json-stable-stringify\n[codecov-image]: https://codecov.io/gh/ljharb/json-stable-stringify/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/ljharb/json-stable-stringify/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/json-stable-stringify\n[actions-url]: https://github.com/ljharb/json-stable-stringify/actions\n","maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"time":{"modified":"2024-01-16T18:11:02.315Z","created":"2013-07-17T22:41:41.615Z","0.0.0":"2013-07-17T22:41:43.693Z","0.0.1":"2013-07-18T00:47:49.279Z","0.1.0":"2013-12-22T04:03:58.660Z","0.1.1":"2013-12-22T04:09:35.488Z","0.1.2":"2014-04-03T04:41:04.116Z","0.1.3":"2014-05-27T10:48:43.732Z","1.0.0":"2014-05-27T12:49:07.848Z","1.0.1":"2016-02-02T18:05:58.629Z","1.0.2":"2022-11-08T17:21:21.117Z","1.1.0":"2023-11-13T22:13:47.830Z","1.1.1":"2024-01-16T18:11:02.095Z"},"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"repository":{"type":"git","url":"git://github.com/ljharb/json-stable-stringify.git"},"homepage":"https://github.com/ljharb/json-stable-stringify","keywords":["json","stringify","deterministic","hash","sort","stable"],"bugs":{"url":"https://github.com/ljharb/json-stable-stringify/issues"},"license":"MIT","readmeFilename":"README.md","users":{"brianjmiller":true,"mycrobe":true,"dongguangming":true,"nttrung91":true,"h0ward":true,"majgis":true,"jits":true,"steel1990":true,"timdp":true,"antixrist":true,"sebastian1118":true,"monolithed":true,"chinawolf_wyp":true,"goliatone":true,"shyling":true,"maxidev":true,"millercl":true,"floriannagel":true,"flumpus-dev":true}}