{"_id":"fresh-tape","_rev":"17-c5cfb5bea6f795d0a5ab706d9d29573c","name":"fresh-tape","dist-tags":{"latest":"5.9.1"},"versions":{"5.0.1":{"name":"fresh-tape","version":"5.0.1","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.0.1","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"./bin/fresh-tape"},"dist":{"shasum":"852fa633f9e21f744fe2b6f857f9f8871e64dab5","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.0.1.tgz","fileCount":125,"integrity":"sha512-gOCjevaiyKKVEfX70TWqtaw+H1QBdRO27e3m3VeAc67WtGMfOhQhgdJXfYijWhKHJLafei6D3rY4Ke7sJO+4TA==","signatures":[{"sig":"MEUCIQChkHHV+5IZRMukjZXXmivDw9jntNRsRxQBODZiza7aYgIgYoAzrsc3gO+2f8c1ZgdA+To/WzLOQ3EYP7hFjyRtLD4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":234377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8WgWCRA9TVsSAnZWagAA4w4P/0BGCt6V9pLFsKBoLYFx\nh9M8+ss2zPoyzeuXKq0ZiOp6v4z1X9uvIKaDruiN235mTC+WdL2yp30qLHlY\nX3RTKLLIGyR4nhbU4FAY7eBdyykNXKS37y+I9Zd61LsJs1MkhCsMzOmbKAd+\nTTEUgvAx18EBI4WKxA5ev4rvpmVMn5dr+8Faxb2aMtnsMXRg+14dqmk2gexb\n3sphYikeb5RYGNa15LHxhaWC5DpCeRGAYW2FBbztSwVBnpiYrUTUi6svF0Q7\nimbgcF5LkywAgmY6rtitV9hRVVqqEgHeJhrrKMjvfvCQZLO1l2fbcFkRKfTN\nrC7ZnZ9/UtZ+3fIf3llIPO/QNra1euNjCoIH1Q8vD26D4Q7JDcJxAczx5akd\nla1x5ZISI4GUQoOncKTY5F2VAEJQROOIswNnoF/YsK02sVbyKAPkeF7nBQ/8\n607ursOfKHD8VONQYpcK2hOs0MsXadzOlv3w6lEq2Oez9/eozM8zfN1AZfw+\n588qBpkg/uPsb/OYNYLNOeLTQrF0vxN1VWd43zzt74zJNy9M+XAXXoITF5l5\n78drebn9vAqn2j9riVKqgGdXAikBWeKdHy7hyqdRF8yJXD372vErXOYfGTpp\nwOwLlznlTepd3P4PMzgcUiHrjBhj7h5vEo6RAudOzpVo26joA3IQfZgIWEDu\nS7rs\r\n=X1MH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"060b5e42c8323d6bcccb3795aa1de25e08b7e953","scripts":{"lint":"eslint . bin/* && tsc --noEmit test/typings.ts && webpack --bail index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","tests-only":"tap --no-esm -Rtap --no-cov test/*.js"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"6.4.1","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"8.9.3","dependencies":{"has":"^1.0.3","glob":"^7.1.6","defined":"^1.0.0","resolve":"^1.17.0","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.0.5","minimist":"^1.2.5","through2":"github:martinheidegger/through2","dotignore":"^0.1.2","object-is":"^1.1.2","path-pony":"^1.0.0","deep-equal":"^2.0.3","function-bind":"^1.1.1","object.assign":"^4.1.0","object-inspect":"^1.7.0","readable-stream":"github:hugomrdias/readable-stream#fix/remove-node-globals","resumer-through2":"^1.0.0","string.prototype.trim":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^14.10.7","eclint":"^2.8.1","eslint":"^7.0.0","falafel":"^2.2.4","js-yaml":"^3.13.1","webpack":"^4.43.0","ecstatic":"^4.1.4","tap-parser":"^10.0.1","typescript":"^3.9.5","@types/node":"^14.0.13","webpack-cli":"^3.3.12","concat-stream":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.0.1_1592879126233_0.12868877933068257","host":"s3://npm-registry-packages"}},"5.0.2":{"name":"fresh-tape","version":"5.0.2","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.0.2","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"2546898467a73547da231a09b65c4bf5809f66e5","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.0.2.tgz","fileCount":125,"integrity":"sha512-Yq0CIqaSaxZu6iCyOAs6q3fmtU3wVL2uEO13U9aupBdn9ctVOjt37jK2fNlRzeI/zYOcTIUkp0/Z/GL8cjXDTQ==","signatures":[{"sig":"MEUCIERn8OaOkXJGDmD9a+UtmZjrNtw0VB7NwFpzIlLo98GkAiEAzzwigHyaEQ/W+p19rF9915vxwMXmZKDd0yfrjAvzXEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":234408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/dK6CRA9TVsSAnZWagAAaHcP/iFTapKYZfucccn09PA3\nkyDM7kj4LfxcASGoo0O2FNhvPdafg5RbDob1Y+dwQ0xi5NvlleAUJ4I4cEEu\nbp5Wr/ojq5L9KFhd7uvs9yRrioVPh5LTSghc11LG0US2dRqQL69bRb5rDzF7\nKIFT+VTz6xicV9wKjvDMCIHGTP2F1dXev5iVpkVEQTFZ1tUHlSVthIvE0f8O\nz3n7p9JjLwk7rJgNuQeu+uCLOSAdL5PnE7SJGSYqkNnev9HtOhhyR1MavfOJ\n+TLqa4N/boEZJ1luSySGFG9Mu8GfVYEZrd87b+dkNppVQPv8BqhUZlRlCdl/\nP8tcXnmM1vnp/VsGb8c+GkSsFFMv0TPeYVpIcuGjRDbC4RaOXbUAcwULZ4B5\nQE849E5AhPmW7JMVEiK2+L9XbKxxMrxzbp6fkqqK1v1HEhEmiM++GxC005RF\ni4t07X+PDR4qK5sj2TbFjfjRRbF49tN4fH/UFY5YAFAAf15HeicPO2EXSVj6\n9SBxTYmhu3AjfCmwfS0w/FzDAueI4p5Ag3/ypmxwjFj+ApKnY6Xv+ts8ZrXY\nOqRaqXLZbWNgtxrbUqoqTyG4zCqJf5dngWAZBAFRBPctpAUB4oJBAFr4SDsh\nAFKhmU2rw9rkFZ0i14r11pB9VC/0lliVSLNyHW5s6rW2Jz2SaXPuy/BYUIwy\n3kUG\r\n=kD1Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"fe9e1819fe9fe50760ce03fa32cb4c005f4cc0a3","scripts":{"lint":"eslint . bin/* && tsc --noEmit test/typings.ts && webpack --bail index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","tests-only":"tap --no-esm -Rtap --no-cov test/*.js"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"6.14.5","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"12.16.1","dependencies":{"has":"^1.0.3","glob":"^7.1.6","defined":"^1.0.0","resolve":"^1.17.0","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.0.5","minimist":"^1.2.5","through2":"github:martinheidegger/through2","dotignore":"^0.1.2","object-is":"^1.1.2","path-pony":"^1.0.0","deep-equal":"^2.0.3","function-bind":"^1.1.1","object.assign":"^4.1.0","object-inspect":"^1.7.0","readable-stream":"github:martinheidegger/readable-stream#fix/remove-node-globals","resumer-through2":"^1.0.0","string.prototype.trim":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^14.10.7","eclint":"^2.8.1","eslint":"^7.0.0","falafel":"^2.2.4","js-yaml":"^3.13.1","webpack":"^4.43.0","ecstatic":"^4.1.4","tap-parser":"^10.0.1","typescript":"^3.9.5","@types/node":"^14.0.13","webpack-cli":"^3.3.12","concat-stream":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.0.2_1593692857758_0.8316774437555332","host":"s3://npm-registry-packages"}},"5.0.3":{"name":"fresh-tape","version":"5.0.3","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.0.3","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"cedf904f6ef8250139bafb1199ec77d56dd2806c","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.0.3.tgz","fileCount":125,"integrity":"sha512-ufpreRr6WtcBy4qzDt4QdC7y9X9OtL5U/5TtJ4ei/ah0YT9lvwptdoKTwLqkoL/yGc2KaPNbmLSLCl4QhB29LQ==","signatures":[{"sig":"MEQCIE8a2SYZhGpMp8X/y100pYHPxUHh6A54KGXxuiWvQC8JAiBCxW21Cpq0hccaDQ2LYBeFsEN9TCIeODnIzyZImEkQdQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":234454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/sbNCRA9TVsSAnZWagAAMNgQAJUkyv7+dyfrlt3K0Vql\nmE8bT6EJbTzq5+HrJs4IDTK01EvUq7FPqRGpRwHvX3RC+VmC2LDmIlg37hqB\nAlBZxafyOXHXsjI3QGZGlk2L9O7nG27ajvKGEY0GF5PW5SXRwIO8Yu6kYTxB\nRkC0bue7LTGQKKHwEGmLkIToKAZJ/M0xFCb9C0jD4EVjQgf+Ms0/ZgtDnl26\nZanEpve29Cc4Vv02xkfc5BlLOsgdM5E/KVoLnF/TtLmOWbrS9imo1/AN4xOq\nowo4OeWutVTLklK3DqCO3JnSVfYijlUmCqKBECHJ6W61h4gxS+/tEnQEMJWi\nC65nk1CRc9eG72/FCwG/cpuGChl05y/+mEZfdoOoPyJ5YAHON0ltYo9K+VXR\n4nj4B+cXf40bE9oenTRzmGtuGO3G1uor0CfTkaucOZChYRcZhZRdEdls8RQr\ntcYKxtz6MjuDzPEdlehmFiUh7K/pr9gWYerPg9BdAFvNlupE9IhsBpRt+Oi9\nrOgu1ZLClPpZr8SjJcq4fTdKtU0eNibxIISOuLicsRsFiWuv3L7/RCr/CZUf\nQZx+HSFC4c4yn4IVMU34AvumiLiyDMmmNh2e7PlKN5UDZPyM/0Cjkci/3kOe\n1EUjtL4ancw2CIvcwo2XLKIR+uZoF+z0XZxIT/4CKOSDgBO8za4jROBC2jFP\n5GI8\r\n=eYvF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"a3f207184cf54c0c30af6bba9d5dbd28d43b9d16","scripts":{"lint":"eslint . bin/* && tsc --noEmit test/typings.ts && webpack --bail index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","tests-only":"tap --no-esm -Rtap --no-cov test/*.js"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"6.14.5","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"12.16.1","dependencies":{"has":"^1.0.3","glob":"^7.1.6","defined":"^1.0.0","resolve":"^1.17.0","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.0.5","minimist":"^1.2.5","through2":"github:martinheidegger/through2","dotignore":"^0.1.2","object-is":"^1.1.2","path-pony":"^1.0.0","deep-equal":"^2.0.3","function-bind":"^1.1.1","object.assign":"^4.1.0","object-inspect":"^1.7.0","readable-stream":"github:martinheidegger/readable-stream#fix/remove-node-globals","resumer-through2":"github:martinheidegger/resumer-through2#react-native","string.prototype.trim":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^14.10.7","eclint":"^2.8.1","eslint":"^7.0.0","falafel":"^2.2.4","js-yaml":"^3.13.1","webpack":"^4.43.0","ecstatic":"^4.1.4","tap-parser":"^10.0.1","typescript":"^3.9.5","@types/node":"^14.0.13","webpack-cli":"^3.3.12","concat-stream":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.0.3_1593755341192_0.8980740275428494","host":"s3://npm-registry-packages"}},"5.0.4":{"name":"fresh-tape","version":"5.0.4","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.0.4","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"2e8d0a2005770ce170c893f6330ca6d81fa67be0","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.0.4.tgz","fileCount":125,"integrity":"sha512-P0ki6EHR1GvEVCn1fQn1U5EwnpLSpXeA09pvjHkHzLIBBE4/MCNlvvv85fIvDSVMkwN5mEy4hHxMiKDEnbxxtg==","signatures":[{"sig":"MEUCIG4pIWyHkrj5JMRVoF77U84HrjXgNQpMHRIA0PwzATvPAiEAhW03iwGs6H2albFILN0BLfXNEOfSxNUiHL5iyZOG7rI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":234478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfP4EuCRA9TVsSAnZWagAAcMAP/jbaB/01RQgwCGZ5gjEX\n00J9nTWTyuCHvW+aA8zTzK+lE3lkH7qq2U8PH66y5NfoIP8sFQLdX7OWJzgb\nJ0lBXvkMcDWF/6Feeks2p+bFjH9hXPj67Fqm32SCJRMrHQQn7wAo1CsNvhCw\n24jAKvfB5qo+YpNtasl5e9QavHTuSKmR8rBsvY9W+28Otyh9lA9iUU+g1Ww+\nRyBafW6FsnJ0y7RBgKEjGXdxau4KCZx8HZYbjJjElHoEkZqDu1yOXglWVVcU\njjLQNGfuosVwzlB1zU+XfE7KORQcPUcMVbK+t+XdxdwVbRQKOeC8Nb6wFjO4\nMYZU39xZYJOPInO84QdeOXc9R5ASvulr9LuLV1NVMc1A0d8C3hfJjP/phlsB\n30tY87l6kz5GcfwImNSbw5rk1q5fkBZcfE7iNRYK6pZr5IT59/ZIg5Spjl8k\nLw97UJZhBavCfNlirhY06X1ttHPINIcarnXc8/1tM4rdMOYMK2QeA6z2+m+f\n9a9UMuDxn89QCCxtJZw7s0UbtbjYYe/RT5F8bIiGR7qQaWu8DjtEYxnNoHd/\nVhOhN1OXj2aeQehCj/hMlorxbE6axkbzR7HbZ7CxblxmpVJ/eHw+bOLYYdnz\nk+FYuzLnlYYjWamJ0DC7Ngu5fJLrOZf6ApauB0wl/E7jwSlSTiEt9YtKKTqb\n0JrB\r\n=n5NT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"d31544f21c768c5f8c1e66f90addc67d5af965f8","scripts":{"lint":"eslint . bin/* && tsc --noEmit test/typings.ts && webpack --bail index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","tests-only":"tap --no-esm -Rtap --no-cov test/*.js"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"6.14.5","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"12.16.1","dependencies":{"has":"^1.0.3","glob":"^7.1.6","defined":"^1.0.0","resolve":"^1.17.0","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.0.5","minimist":"^1.2.5","through2":"github:martinheidegger/through2","dotignore":"^0.1.2","object-is":"^1.1.2","path-pony":"^1.0.0","deep-equal":"^2.0.3","function-bind":"^1.1.1","object.assign":"^4.1.0","object-inspect":"^1.7.0","readable-stream":"github:martinheidegger/readable-stream#fix/remove-node-globals","resumer-through2":"github:martinheidegger/resumer-through2#react-native","string.prototype.trim":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^14.10.7","eclint":"^2.8.1","eslint":"^7.0.0","falafel":"^2.2.4","js-yaml":"^3.13.1","webpack":"^4.43.0","ecstatic":"^4.1.4","tap-parser":"^10.0.1","typescript":"^3.9.5","@types/node":"^14.0.13","webpack-cli":"^3.3.12","concat-stream":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.0.4_1597997357499_0.42907160423049406","host":"s3://npm-registry-packages"}},"5.1.1":{"name":"fresh-tape","version":"5.1.1","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.1.1","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"8e309007c1f1855a19ac2713f433816090629788","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.1.1.tgz","fileCount":128,"integrity":"sha512-TkGbLtSneqfD0HwmEApOHH0mOi1UpSCV32IEEMbAq1PQweH1Wr70GGjgfFZtJUEhKGA5HrWHj2F/4Db3L3WTnw==","signatures":[{"sig":"MEQCIAxb+wxtk1EDU3DhZ/5lkFubunAooiNPjOwZ+EjY+3orAiAVFBEDZdf+A2m1cbN4eFFwsxzWW4knOAeVCJxslY5rSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9sZnCRA9TVsSAnZWagAAYJUP/1zWXvX2RydIQCZIg3IU\nzmksPAAZJrMNJKO4ap7bYg+4NPO3KII5PIrmzkgZ5VyuVzBl+36jGul/yWV/\nZyShNZPiFgtWHjX7o1+jIsZLnyIwFwLmj9BLNbRzpaxpZ/sms7jZPlLzbgwX\ndgG3Ebwnv1uDkrNICMDkD2dIzHie0hq/K2Cfv0DiqZIz4ok4ItpJaMWCKKI4\n+p1QIe015pjEexTdZtp7PpvLjbSlIApCXQJ2YnQ5VZSxFAQ9nrPkKHJ/Tu35\nvfMr7RGFGZXq+i5QT1ZAqlfKn1BbUhm3wRfBxHDLHVJjX4S8prPjkqZDraE3\ncFrJEJaTO0g5JQdY50n6L2VlglpotPsds9qtLhfJ3pNfjpr4orcGU+Yf/VSN\nWk5p4OTxC44ryNo7/qe+QNfwwTpDMjGKLDf4dti1PYPtV9HmiESNkN4WtSKW\nVDoDxBljgMdglcTsR3p3rZ24mxRcEI//q5Hz6Yk1b5JD0zBrk9evYv7sekEa\nDDk/jtmRbRfsi5y4WG0vjZLQvq36LHyvh//9xMppEf3+WK2WTwGu93tEJodU\nl81NX+/YHSp9bfBocvSNt6apjWH5zsBIJDoA5iaxybwxtA7ty/Em5eQer+ry\nsqKiUa3isDZLSLh3BubQXxgiSi7leS+NjTMrI0ser1XDYc4jLeri89ABFiv1\nSYsL\r\n=ir+W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"a65c9aa5833c879224493e9e7bde62eb7eab7bb8","scripts":{"lint":"eslint . bin/* && tsc --noEmit test/typings.ts && webpack --bail index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","posttest":"aud --production","tests-only":"tap --no-esm -Rtap --no-cov test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"7.0.14","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"15.3.0","dependencies":{"has":"^1.0.3","glob":"^7.1.6","defined":"^1.0.0","resolve":"^1.19.0","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.1","minimist":"^1.2.5","through2":"https://registry.npmjs.org/@leichtgewicht/through2/-/through2-4.0.2.tgz","call-bind":"^1.0.0","dotignore":"^0.1.2","object-is":"^1.1.4","path-pony":"^1.0.0","deep-equal":"^2.0.5","object.assign":"^4.1.2","object-inspect":"^1.9.0","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","resumer-through2":"https://registry.npmjs.org/resumer-through2/-/resumer-through2-1.0.1.tgz","string.prototype.trim":"^1.2.3"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^1.1.3","tap":"^14.11.0","eclint":"^2.8.1","eslint":"^7.16.0","falafel":"^2.2.4","js-yaml":"^3.14.0","webpack":"^4.43.0","ecstatic":"^4.1.4","tap-parser":"^10.1.0","typescript":"^3.9.5","webpack-cli":"^3.3.12","concat-stream":"^1.6.2"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.1.1_1610008166852_0.6667561514654377","host":"s3://npm-registry-packages"}},"5.2.2":{"name":"fresh-tape","version":"5.2.2","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.2.2","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"4136dc5b956624b63280f286b06cc08e4db425b1","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.2.2.tgz","fileCount":129,"integrity":"sha512-HYJRGHn2xBNOTk/bTilNckb7BLGETDY+363qCUOPwBOyhhsJQ6F/n7tPGhfmeK7qp/Qo1qBXcYcNtpG8HJpHNQ==","signatures":[{"sig":"MEUCIQDugbpW05Ijrj1WYbxONtycG9zwUEGzbYjafy2RyZlBvwIgL1awUVy/nuBk94mgAZCG+ed8EMmIB2okGLPdFPzBlw4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395596,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsd+fCRA9TVsSAnZWagAAa3AP/AwTzqnRKDiDUERIjMXT\n6qNcmRhaCMCSaZYBYAloTzCkt98Us/ohkRm2dLIa+vuxLnaXFGO+lTHw+EU1\nma1tKvXdaz9w8eAtAnesCXtE6pYs6TTlElP7SENxrZtzCurTcnAzg0panGVo\ntz1WsJYxzKUrUDGQNZgszTfgQaEMxUmz+bnj4/D+glv45TUeoBqRJhx9+TPj\nq1qz0rdJ0MbR3+/BCqUhXJzu30kUfQMIOy1l9e4GeQ0Q7s7xM7y5WFa9lYLl\n89N0uzW5I9/oJVVmSl0QfUG4vaSro0uU2Iwz999UvkX+FtDJNBtLGQLRZPlp\nnIVdAeAHYXksnOPq+qtjYs0hmKpEBEDfx8ZW9wAeJkV3yPvwLueHWu9NEuXP\nxqNHZN4CRo7VlLKz20khERnSWxqZhWzTMVKTU5vJHeIVSyL7VE7lmjcLt+rH\nZcVZSTL9X2wUeAdbMMbuxnDAkjPooLYYwEXuE26H+y3ry7jp7zK7IT4vDTms\n6dolQ7+s00+dZuld7zp/aSHagDgunnJS1zoHMF5GM/V6v4kQRuVujV+ZH3AY\nhzhcgovFMIHW7E/T5rOjfJvW2dt3qxOZcszl0rd3dWCMgSiS8aR7YFGIB6kE\nLDoP0EhxStqzRo1X+7tIVtyf8jJhxkUpJuRPwcSxio8hVuFGAGGpCPtRntMs\n6sWc\r\n=DpYz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"0d19f708792a2dc354ad37ffec6989c310d5fb46","scripts":{"lint":"eslint . bin/* && tsc --noEmit test/typings.ts && webpack --bail index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","posttest":"aud --production","prepublish":"!(type not-in-publish) || not-in-publish || npm run prepublishOnly","tests-only":"tap --no-esm -Rtap --no-cov test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"7.13.0","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"16.1.0","dependencies":{"has":"^1.0.3","glob":"^7.1.6","defined":"^1.0.0","resolve":"^2.0.0-next.3","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.2","minimist":"^1.2.5","through2":"https://registry.npmjs.org/@leichtgewicht/through2/-/through2-4.0.2.tgz","call-bind":"^1.0.2","dotignore":"^0.1.2","object-is":"^1.1.5","path-pony":"^1.0.0","deep-equal":"^2.0.5","object.assign":"^4.1.2","object-inspect":"^1.10.2","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","resumer-through2":"https://registry.npmjs.org/resumer-through2/-/resumer-through2-1.0.1.tgz","string.prototype.trim":"^1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^1.1.5","tap":"^14.11.0","eclint":"^2.8.1","eslint":"^7.25.0","falafel":"^2.2.4","js-yaml":"^3.14.0","webpack":"^4.43.0","ecstatic":"^4.1.4","tap-parser":"^10.1.0","typescript":"^3.9.9","@types/node":"^15.6.1","webpack-cli":"^3.3.12","concat-stream":"^1.6.2","es-value-fixtures":"^1.2.1","array.prototype.flatmap":"^1.2.4"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.2.2_1622269854767_0.690297514671955","host":"s3://npm-registry-packages"}},"5.2.3":{"name":"fresh-tape","version":"5.2.3","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.2.3","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"753509f2e87b9c671ed3782de80cfa741288d4e3","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.2.3.tgz","fileCount":130,"integrity":"sha512-FZqs64v+iEmuIcUhnwKpp2XiBT0Zx0JSNnSaHsWXWZ23gEHtJAdEax/vYMFSvPYIk9ARSMm6c7RdXXy+qcMFhA==","signatures":[{"sig":"MEYCIQDhjXQ4G+kfmfbTf0DCnZCrSQ7hPAKaJuFB0GAPeEeYBgIhAPp58ilusVxcSRxQvJKsDnkYc5r4c/OvPNXeXHnorxKz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":390923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsl/TCRA9TVsSAnZWagAAIJMP/25EcbzkKXjnotgmj+2A\n6bzLMi9v2hb15Qlf7/fc8cu++J3DoMuAGz9h/4zcxNdXVijwE/dobhz/pIIH\nLMze8ejSvu4eUk43JxFpxUnqGO+Zx2d6hd4A0iaEfHAuwwuPpH2C1qjT4v9N\nbCb7Rj6AlugL6pFsDVpQcUhU+gMqXFWkZoVMga5dyVg5BSAHTEd3dGVxlw4u\nNtr3ht6QMa/16Uow/bDwMOa8mzfSX7kT2y/BqhQh35xf8HIVjtkErw3YCjPu\nJJBsKe2Cdq/dn52cr6pzlvP8swft95y5J9l9IxsxaHJ6QPKrXpTgHW89CNNt\nsHg1bOtIZusx01+rJEJUU2K/W0kncvyTfmcJMunZrrmJt5/1DHfLHUWp1eDv\nu/2az8XKaeDYFIyj0xXNdm0/Y4nK7k84+HQJfbmAHFD6pelVUrQs8G7kPg63\nbo8esvG7RP0ODmD25wgoOKkc51f81d/BHce6KTiL73jJQLovFWOL6qmqdSSy\nRknycJbVnPEHnUMiKc+M0dI622VpVgBf50Rw0e0BsY8oWAmxpj2J5krnNGkk\n6ZNLtiByWgaPInYJ2xj4Yg20noSO28AnDaZkXcFNmp9GDcWw9ZBG/N/qIUPN\nVe1DR6cOIicTC9I2ObatRdyXiwSepL2wdGXrc4nvWoMROKdxF690afGl0G/0\ntkch\r\n=L2TM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","browser":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"13c182fbfbd7d32fe992873e1abbd3f6c877de90","scripts":{"lint":"eslint . bin/* && tsc --noEmit test/typings.ts && webpack --mode production --bail ./index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","posttest":"aud --production","prepublish":"!(type not-in-publish) || not-in-publish || npm run prepublishOnly","tests-only":"tap -Rtap --no-check-coverage --no-coverage-report test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"7.13.0","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"16.1.0","dependencies":{"has":"^1.0.3","glob":"^7.1.6","defined":"^1.0.0","resolve":"^2.0.0-next.3","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.2","minimist":"^1.2.5","through2":"https://registry.npmjs.org/@leichtgewicht/through2/-/through2-4.0.2.tgz","call-bind":"^1.0.2","dotignore":"^0.1.2","object-is":"^1.1.5","path-pony":"^1.0.0","deep-equal":"^2.0.5","object.assign":"^4.1.2","object-inspect":"^1.10.2","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","resumer-through2":"https://registry.npmjs.org/resumer-through2/-/resumer-through2-1.0.1.tgz","string.prototype.trim":"^1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^1.1.5","tap":"^14.11.0","eclint":"^2.8.1","eslint":"^7.25.0","falafel":"^2.2.4","js-yaml":"^3.14.1","webpack":"^5.38.1","ecstatic":"^4.1.4","in-publish":"^2.0.1","tap-parser":"^10.1.0","typescript":"^4.3.2","@types/node":"^15.6.1","webpack-cli":"^4.7.0","concat-stream":"^1.6.2","es-value-fixtures":"^1.2.1","array.prototype.flatmap":"^1.2.4"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.2.3_1622302675267_0.40218151209779474","host":"s3://npm-registry-packages"}},"5.2.4":{"name":"fresh-tape","version":"5.2.4","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.2.4","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"8015ea5a5a1eaec64b1ccbbbd651869d7e1e9206","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.2.4.tgz","fileCount":130,"integrity":"sha512-cy5K2/OsiuMlf3qjpJB+ShFJbjXlzy1aR/xQpHBU80BQPM/0qZj8/KOR0x7x6O+6jd6S/a1dDsiU6LklhW7H1Q==","signatures":[{"sig":"MEYCIQDArpeSRUkdVb0GnAcg0bsJbWKNyDMFmVliZqYHsD6ugAIhANKdZtcJ4H3l1pooV8rSDDEHxl+LXsbvRkBDtHTuKzeN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":390696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgso1/CRA9TVsSAnZWagAABZkP/2xH1qvCsnfdrgJBt1yZ\ncPW9xHq/hNveCI+TfAmJwt5Y+omyub44bhXFuK/YdUXOTLdR7HBOmKSibTK7\nwyuO1uq+ayoHi1gtK7qxgCqjzbyWVCQ7uaXzYRIAIENsrl8KczYkmCerRUjj\nzIYE6C0inxkBO1zLv40S7wMGPBp6l5qw7C1cnZQfsRaWwCWsGU/8i58p6GQv\nLbXio8AqiB5NF9ou4qCDFkt5nmI2vKyOaKX3XX4kkZFwXbmmla/TLHH0BYl1\nl5CIujguEE7Ku+ZJaLGMJj8nYVlaUBFCrWBusPHGrP5diozE0pi7asbYSc6T\naewGY1HbpwJWOaiZLPsKfnTzuiP7FxsnAm2/X8ZoAIJTk/95lq6Gsg+g/NGL\nxuqU8X4pYmUDw2Q9ROm6B99eP4+L8yGWQF/W1sNcDGQpYYBxXNiyTbqJQryQ\nAw8ANyjaYb6OztQUcMKWqyLK55qxS11fcCbzQ9KFg+yK2OHZ2FIe/ynrXQR9\nae1ywtB64zlwb8JMFjTJbIsOOjZIwb65zflVPf72zKVO+uopehenO7kW9cVJ\nRrWA291psdZ7vlOUk0oY80h63IciGCJ6hmLeEewkCx3YbRpIun8HAMS2cZg/\n9JtS3kqVi+thWneL+csWu9TpRXPU/VHP2NC46XpwmLywzh7ughHcuUADcXVE\nROwA\r\n=4Vmr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","browser":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"72cbc8c4eb2471ca1bb7a62e3256f042388268af","scripts":{"lint":"eslint . bin/* && tsc --noEmit test/typings.ts && webpack --mode production --bail ./index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","posttest":"aud --production","prepublish":"!(type not-in-publish) || not-in-publish || npm run prepublishOnly","tests-only":"tap -Rtap --no-check-coverage --no-coverage-report test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"7.13.0","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"16.1.0","dependencies":{"has":"^1.0.3","glob":"^7.1.6","defined":"^1.0.0","resolve":"^2.0.0-next.3","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.2","minimist":"^1.2.5","call-bind":"^1.0.2","dotignore":"^0.1.2","object-is":"^1.1.5","path-pony":"^1.0.0","deep-equal":"^2.0.5","object.assign":"^4.1.2","object-inspect":"^1.10.2","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","string.prototype.trim":"^1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^1.1.5","tap":"^14.11.0","eclint":"^2.8.1","eslint":"^7.25.0","falafel":"^2.2.4","js-yaml":"^3.14.1","webpack":"^5.38.1","ecstatic":"^4.1.4","in-publish":"^2.0.1","tap-parser":"^10.1.0","typescript":"^4.3.2","@types/node":"^15.6.1","webpack-cli":"^4.7.0","concat-stream":"^1.6.2","es-value-fixtures":"^1.2.1","array.prototype.flatmap":"^1.2.4"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.2.4_1622314366910_0.1791562757021974","host":"s3://npm-registry-packages"}},"5.3.1":{"name":"fresh-tape","version":"5.3.1","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.3.1","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"7f1181e6f1ecf79aa2566a88d7d59f234619c61f","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.3.1.tgz","fileCount":148,"integrity":"sha512-1qFnuWz7L6emYiU1uPeNTxB6uVome07n7HGp77DR6MinELNV1VqwYSIPszOgUcK5T2zzitonltRw7VwDMqDFxw==","signatures":[{"sig":"MEUCICt3MvIEMLnGMIiJ2UMIx43XZL2vWl1JGAzHWYawcqGmAiEAq/QqIpzGilnCBFeO5C+dEeJvwEJC/VQ2ZpE7RGLsr4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhABbSCRA9TVsSAnZWagAARmIQAJLANrSPliSPQwa5AYJw\n4UHFjaEONLgIDii4hWfPDmC9XKRoREowXU+eal4ZoccQv5ZfUCfWBgBk/HpL\nNw1uzV/0snk69NXuLfhI+F5EKRuf9y0Ks3SsJzShrBEHytCr/v1E9yCy7uJ2\nYd49eaS20BxskRESuWp2/9gYZboczjJlByEnvGeeXpUL/z7LKXywxlgE1UlB\nST97+CUzuu43TUoCfrJQ+zVgLDoenbiNK1JJ5y3P54wjYg0gd64hGlAu0pqk\neJ2ExCM/WtxWfnd491z8BtF+1UlttsHfSeLKXlRfnEc4miBmHS7/DnHP4meA\nyAdLbA2Tl6pglkzAiCDFxGwpbmhZeYEsNJr158sjiQcNb5KXmY59bHqnemdB\nxVsBjS5aABFCiylYQ6LUAUWatTu5OGzSS5AbCj2XFiVQKilqjTsMColknyLj\nTaQDvx4Mrko2xuVrnP/0oJSlRciKDK83nVMwEcefMKkUmbv+C+FnzpXh9kbk\nekHsdZuytdTFEVxcKlgCMCBwrcdL9C0Eb3vlxxQSUQDpPu/T1iAlDOgjAuT6\nqHu/ZKfWdQaArUrH6EE+r5sN4RzVHnU9s5+xPp6NbUhlxx7qQTrmsn1Ex80h\nMhK5c+6TOxqLgX18z1ZXOgp1qnt6MVF0eLVQlFMbWbj/GhMEMiKaXFsVezNa\nOmDV\r\n=4fae\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","browser":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"e83f841e702c5764716dd2d0dd059439047a28d5","scripts":{"lint":"eslint --ext .js,.cjs,.mjs . bin/* && tsc --noEmit test/typings.ts && webpack --mode production --bail ./index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","posttest":"aud --production","prepublish":"!(type not-in-publish) || not-in-publish || npm run prepublishOnly","tests-only":"tap -Rtap --no-check-coverage --no-coverage-report test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"7.18.1","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"16.4.0","dependencies":{"has":"^1.0.3","glob":"^7.1.7","defined":"^1.0.0","resolve":"^2.0.0-next.3","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.3","minimist":"^1.2.5","call-bind":"^1.0.2","dotignore":"^0.1.2","object-is":"^1.1.5","path-pony":"^1.0.0","deep-equal":"^2.0.5","object.assign":"^4.1.2","object-inspect":"^1.11.0","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","get-package-type":"^0.1.0","has-dynamic-import":"^2.0.0","string.prototype.trim":"^1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^1.1.5","tap":"^14.11.0","eclint":"^2.8.1","eslint":"^7.31.0","falafel":"^2.2.4","js-yaml":"^4.1.0","webpack":"^5.38.1","ecstatic":"^4.1.4","in-publish":"^2.0.1","tap-parser":"^10.1.0","typescript":"^4.3.2","@types/node":"^16.4.3","webpack-cli":"^4.7.0","concat-stream":"^1.6.2","es-value-fixtures":"^1.2.1","safe-publish-latest":"^1.1.4","@ljharb/eslint-config":"^17.6.0","array.prototype.flatmap":"^1.2.4"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.3.1_1627395794423_0.7756122931450289","host":"s3://npm-registry-packages"}},"5.3.2":{"name":"fresh-tape","version":"5.3.2","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.3.2","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"4e6b58efbf0b7f3824f8001c33971f3e4c91c762","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.3.2.tgz","fileCount":148,"integrity":"sha512-EQx16HuCFhH1zMqOVJF1JhzE4moc2AQSkai9IdkHGU8YjF6JHYN+qS8ig2hC44FOHFWeYQM1lUV5XQMNMwYxCg==","signatures":[{"sig":"MEUCIAp78t01ANgAlS+LefTtABL83MUrqWFmEzb14EeXBgpEAiEAuqy4SXN0+p2ncuf0qNP6h61K11QWXQPQNMvrH0BxIdU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":407137},"main":"index.js","browser":{"fs":false},"exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"81923eefee1dc684a1f96531446b5281ba5f2a7b","scripts":{"lint":"eslint --ext .js,.cjs,.mjs . bin/* && tsc --noEmit test/typings.ts && webpack --mode production --bail ./index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","posttest":"aud --production","prepublish":"!(type not-in-publish) || not-in-publish || npm run prepublishOnly","tests-only":"tap -Rtap --no-check-coverage --no-coverage-report test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"6.14.14","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"14.17.5","dependencies":{"has":"^1.0.3","glob":"^7.2.0","defined":"^1.0.0","resolve":"^2.0.0-next.3","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.4","minimist":"^1.2.5","call-bind":"^1.0.2","dotignore":"^0.1.2","object-is":"^1.1.5","path-pony":"^1.0.0","deep-equal":"^2.0.5","object.assign":"^4.1.2","object-inspect":"^1.11.0","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","get-package-type":"^0.1.0","has-dynamic-import":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^1.1.5","tap":"^14.11.0","eclint":"^2.8.1","eslint":"^7.32.0","falafel":"^2.2.4","js-yaml":"^4.1.0","webpack":"^5.38.1","ecstatic":"^4.1.4","in-publish":"^2.0.1","tap-parser":"^10.1.0","typescript":"^4.3.2","@types/node":"^16.4.3","webpack-cli":"^4.7.0","concat-stream":"^1.6.2","es-value-fixtures":"^1.2.1","safe-publish-latest":"^1.1.4","@ljharb/eslint-config":"^18.0.0","string.prototype.trim":"^1.2.5","array.prototype.flatmap":"^1.2.5"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.3.2_1635949160229_0.9014120897769975","host":"s3://npm-registry-packages"}},"5.3.3":{"name":"fresh-tape","version":"5.3.3","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.3.3","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"6d1532382e522fd827696f43d145711f9fa23e22","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.3.3.tgz","fileCount":148,"integrity":"sha512-mAUz3t9CSm3rlQOxKQoxD/7w5Iho+YqeKJUL8wykTyIHJHViJ/+8/pGb6siXZWbs8YNUdT3dITMMhcp/1wIrow==","signatures":[{"sig":"MEYCIQCoVn2hLX5KowwzBUIAP5l2BDBrI7TQsrZrSP9F926M3QIhAKMD/1a2AEkJwKR9oy49aFI5AMk98FSB/szFcJByS8nk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":407137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2rgjCRA9TVsSAnZWagAAW+4P/2wruJ6h/YoU8Tk1VDwb\nrWe2a1su3KnchCY/RS/XUSIBEUvWmCwV1Qwdc2r1hgV8vyoFHdwdXYLYXK5U\nZZvLzL5ngpPMG/mRNbIgs5iVyIBeddwBsRdSuWSRzKFLlDoItMFuxTny5y9G\n9eJJW5Icz3NkRjV3JxWca0dhCJOvHzcHU05D8RGLlClknKfMAMKKEB2MwcZ4\n0ZOCVGaRA6+ST0aG1eH3fiY5iQsMqQOP77BiazBjpzY6595LZUptLiyL2hPq\nZIBBgUstNcODO2rCjHAjpy21dKwii1NMlc+qA5509zdaj5JnJgnQHS0HWQR3\nfA+uUO+2kcWrDyMUvljXenGRRb191FouCwLWfmVBT7MgWEGKsSE4IURIUvGT\nRQXsWOKyv6X0+Ubbv+NNki5yE2o5YoWCBb/RAyGwa1kViI+KZFzgAwdI5dpu\nUC2YeX9fu7okybPIeEKN+2R2qiSNSZ6yYCswLQdX0W0KmNP0g6MlmaeBGLxc\nroZlAloinaWQZ9MMR8fef2mp7YaCLPmB1Z3+B67XC6ybTYjHt8uuNiTfZKC0\nqM0DT7x2trFIdJTBlBDebssZum86OAbC2TctVfl/sdy+1EpeubqB8ywJ6FcJ\n7rXT+rRza38VpGDYbe10k/EFaxaQMtvRNNRvGe2HEiYtYSKdMSx9pz56idwQ\nRMnt\r\n=zNxW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","browser":{"fs":false},"exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"2f2aee4150a8efaab673be8a67e0dce72a9c0e4d","scripts":{"lint":"eslint --ext .js,.cjs,.mjs . bin/* && tsc --noEmit test/typings.ts && webpack --mode production --bail ./index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","posttest":"aud --production","prepublish":"!(type not-in-publish) || not-in-publish || npm run prepublishOnly","tests-only":"tap -Rtap --no-check-coverage --no-coverage-report test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"6.14.14","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"14.17.5","dependencies":{"has":"^1.0.3","glob":"^7.2.0","defined":"^1.0.0","resolve":"^2.0.0-next.3","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.4","minimist":"^1.2.5","call-bind":"^1.0.2","dotignore":"^0.1.2","object-is":"^1.1.5","path-pony":"^1.0.0","deep-equal":"^2.0.5","object.assign":"^4.1.2","object-inspect":"^1.11.0","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","get-package-type":"^0.1.0","has-dynamic-import":"^2.0.0","string.prototype.trim":"^1.2.5"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^1.1.5","tap":"^14.11.0","eclint":"^2.8.1","eslint":"^7.32.0","falafel":"^2.2.4","js-yaml":"^4.1.0","webpack":"^5.38.1","ecstatic":"^4.1.4","in-publish":"^2.0.1","tap-parser":"^10.1.0","typescript":"^4.3.2","@types/node":"^16.4.3","webpack-cli":"^4.7.0","concat-stream":"^1.6.2","es-value-fixtures":"^1.2.1","safe-publish-latest":"^1.1.4","@ljharb/eslint-config":"^18.0.0","array.prototype.flatmap":"^1.2.5"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.3.3_1635949511119_0.059556366064974275","host":"s3://npm-registry-packages"}},"5.4.1":{"name":"fresh-tape","version":"5.4.1","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.4.1","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"88adb19ff609287ef64aac3052e765dc0b7b63b1","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.4.1.tgz","fileCount":147,"integrity":"sha512-ZvECNmyN6btd+7j4ZA7pB/zp5qgd7JLSvhH8WLS9y3XSTUnSuM+KX1HRmriAO/XoGEgJEIyhqvhzq33G+ZJQ/g==","signatures":[{"sig":"MEUCIQDJuN1Y1pERqaPuCAG6SwDUGGHXWwYHh3fnzTwA7fWmogIgXWJuhYp2AM+kUOskTWHjqFzt5gAYE8vmzdtpwS3zM0w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":417932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh78U6CRA9TVsSAnZWagAAVTYP/0kkjD/PKM0cPHHfmi4c\nO4ipFAtouwIPX3DerAEkZ1uB5uRZcvOXr3H+Uq1L/N8APU1O8AWBF6qnM0Fa\nZ/UH8t/pa22dQHDkXZal4E2t5wBkK9ykJ7LPVZwp9jl8fuBybOHsNFGZu11f\nuRH91ESYVkDBp+OPiw60HymwaSRqnwxL1Sl21DHRO1HZiY+Kj8AqEvEJIP2n\nO4sxEesz7XqfzXNrHmKxhY8jqGXMEY9zBz3z9NXumre8uxLNSJErlnRTdMYh\n3V+urLlQE3V78l6AnDUxJlfYAaCAbhX/oFzUUp20uohGNb6bwFA4RTDL6dWT\nanBm7PWvn2fUD40uxs8smBzvB87HZ5BbUEcOXDwTZCN3yFGwhyaUrbD1msdu\nZUh2SkLrfQX9GlESSLbuUQZcjCctZY6cN0V4emTXOT7pHzxM2cAUDDgeVYB8\nR/IKFrPqU96AgnufzmJis+2df2+gjN1metfBhtgkoXGU32HNc5vk18pHcuwH\nR0Wdv04qYQmhwfH23TijbvIQLJv1N7dyOiRXw0ZdJqoQoBvj9N46CWJ5Kgnc\n2FPYUBeF5iyattd15CfG8U1J+WW8ZtMt2hDC4jyH5hHrn+/SxzyUJr5qoxiA\n4HxxH33LLCN9PJhIApKJLEqpfS9QeQq9ZQ8tFZklNTPpz0DUcfTaEFeaIPF5\nDD+0\r\n=avTQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","browser":{"fs":false},"exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"cbcdd1a3a44528cd1e2ca5c117580bd81d154704","scripts":{"lint":"eslint --ext .js,.cjs,.mjs . bin/* && tsc --noEmit test/typings.ts && webpack --mode production --bail ./index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","posttest":"aud --production","prepublish":"!(type not-in-publish) || not-in-publish || npm run prepublishOnly","tests-only":"tap -Rtap --no-check-coverage --no-coverage-report test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"6.14.14","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"14.17.5","dependencies":{"has":"^1.0.3","glob":"^7.2.0","defined":"^1.0.0","resolve":"^2.0.0-next.3","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.4","minimist":"^1.2.5","call-bind":"^1.0.2","dotignore":"^0.1.2","object-is":"^1.1.5","path-pony":"^1.0.0","deep-equal":"^2.0.5","object-keys":"^1.1.1","object.assign":"^4.1.2","object-inspect":"^1.12.0","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","get-package-type":"^0.1.0","has-dynamic-import":"^2.0.1","array.prototype.every":"^1.1.3","string.prototype.trim":"^1.2.5"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^2.0.0","tap":"^14.11.0","eclint":"^2.8.1","eslint":"^8.6.0","falafel":"^2.2.4","js-yaml":"^4.1.0","webpack":"^5.38.1","ecstatic":"^4.1.4","in-publish":"^2.0.1","tap-parser":"^10.1.0","typescript":"^4.3.2","@types/node":"^16.4.3","webpack-cli":"^4.7.0","concat-stream":"^1.6.2","es-value-fixtures":"^1.2.1","safe-publish-latest":"^2.0.0","@ljharb/eslint-config":"^20.2.0","array.prototype.flatmap":"^1.2.5"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.4.1_1643103546431_0.791980520007664","host":"s3://npm-registry-packages"}},"5.5.0":{"name":"fresh-tape","version":"5.5.0","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.5.0","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"a947dd3cf65cc9bb5ec100093516c853f9d41361","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.5.0.tgz","fileCount":150,"integrity":"sha512-K5ThNXVIjoCG70GILsfWigCnbz1146R8zoGxidNv33xpU5/GYKy5sHB60sgd8LBfQRVUHUcmCvmmqBoLnzD+vg==","signatures":[{"sig":"MEUCIQDv0xIoBspJc74l9vxYiNHqg8c2Swqj0mkjD6ovGsP0XwIgP0nJc/kn8gIgW0pC3DclENtpmPBu8PVWYsgpxCuVwK0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8ik2CRA9TVsSAnZWagAAwLQP/2ywgtfrKGp7X8j+UEdp\nfbSKPx0bPnB1a+egQCuneTYmzR8E/AupELeWUHFYiT6yrH1Bgo4xUWgxm134\n50SW46BalE3Z1eL3KDpeYBCOKC1aHnXJ7YFhfkjA3Dll6sY6ziXiXwXaZTLH\nG2ra33m/j/uNDAchrFPbpLgK78YOpmPzzdwgas2foiWKxZqRaLkUWbDnZkIx\nOVH5bCYoHenx7ohEV638QIzFSjBm5bXOiKcNu2xK6nqIGXNEuUc4tu9Gz2C0\nhvsDYAf1KmyKmly811OJ9BnuYePtObjw+r8VH8RiBpM9dWzI54fNn3CI5v3c\nT+w47DuK3LQnH+u/yl9N0JDIeFxhGLvpuwhCjm1ivZCefldxjm26mxyFZoxT\n/Lm+vXEgU3Vra7UtpgOsHntQS0hrZMvUj75fV4chjV5TQFrzwvV6/H7xudih\nsJmw5wFdYOiw0izZx0yaL5nEZDJrtXw0rkFLPNvXgSf6puYMaGd0hpXn3D98\nU9VylrmiQ8uR4z3IV1OK3zsmbj6aJHQAe3SxWwoCEdPQCc6uyP0/EN22BWFd\njOULfP28WrRxZ5xyBhVo+ESotTgVAEfLmQki/+tsFQrOfpcjhaAWiwMG23dG\nHaKCYzdTDTqWXOUEE4h9O1oj83rmvGIIVGEbrdMKWzFkL0VQz+1tBhdkJXaN\nKkx4\r\n=zNyW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","browser":{"fs":false},"exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"658af2e7a67a3f5c51821769b250ce02b240c335","scripts":{"lint":"eslint --ext .js,.cjs,.mjs . bin/* && tsc --noEmit test/typings.ts && webpack --mode production --bail ./index.js","test":"npm run tests-only","prelint":"eclint check","pretest":"npm run lint","posttest":"aud --production","prepublish":"!(type not-in-publish) || not-in-publish || npm run prepublishOnly","tests-only":"tap -Rtap --no-check-coverage --no-coverage-report test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"6.14.14","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"14.17.5","dependencies":{"has":"^1.0.3","glob":"^7.2.0","defined":"^1.0.0","resolve":"^2.0.0-next.3","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.4","minimist":"^1.2.5","call-bind":"^1.0.2","dotignore":"^0.1.2","object-is":"^1.1.5","path-pony":"^1.0.0","deep-equal":"^2.0.5","object-keys":"^1.1.1","object.assign":"^4.1.2","object-inspect":"^1.12.0","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","get-package-type":"^0.1.0","has-dynamic-import":"^2.0.1","array.prototype.every":"^1.1.3","string.prototype.trim":"^1.2.5"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^2.0.0","tap":"^14.11.0","eclint":"^2.8.1","eslint":"^8.7.0","falafel":"^2.2.4","js-yaml":"^4.1.0","webpack":"^5.38.1","ecstatic":"^4.1.4","in-publish":"^2.0.1","tap-parser":"^10.1.0","typescript":"^4.3.2","@types/node":"^16.4.3","webpack-cli":"^4.7.0","concat-stream":"^1.6.2","es-value-fixtures":"^1.2.1","safe-publish-latest":"^2.0.0","@ljharb/eslint-config":"^20.2.0","array.prototype.flatmap":"^1.2.5"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.5.0_1643260213776_0.0548306372579781","host":"s3://npm-registry-packages"}},"5.5.3":{"name":"fresh-tape","version":"5.5.3","keywords":["tap","test","harness","assert","browser"],"author":{"url":"http://substack.net","name":"James Halliday","email":"mail@substack.net"},"license":"MIT","_id":"fresh-tape@5.5.3","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"homepage":"https://github.com/martinheidegger/fresh-tape","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"bin":{"fresh-tape":"bin/fresh-tape"},"dist":{"shasum":"41a8c60886ac7460ef150eb1d5706956d901f4e9","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.5.3.tgz","fileCount":151,"integrity":"sha512-ECdUStFi4WUFWXt1lh6mt8eSyg3agUN2eox6jArwdcZCSfOXKp9/+DiPODfno2kdacwMxJ3XHzPaUPsbvix+dA==","signatures":[{"sig":"MEQCIC/ta3QIcWHce0ppGeM3/CVFgYWyImpZu1HArZ2gH6ArAiAwWj18TNPgCYwZA2P4Qkvt5Cpf9IPm3AMis57NDkDRLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYiAzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8cA/+LwxYhuY4yg0VP/SdoqxN09GRpiOFvgo2FzLyxqbqngzh6JoZ\r\nARPD+PnOyCkEC6hDV+v0A/KEr+DIu4ITdxIKOGsIb6f+3aP0NdiowUa8A/vd\r\njqJWFrV42rPaezeX1tUDwVDGemsr1yjRdE8iHAdIiXiDK5UqpW0bYJFXAAe1\r\nvk+GwaycO4QlRPbzGc510gE45d6N0GBP3/Q9sAkCbKiVVLyd+39tO3v+EFYr\r\nJuPkxk/Sl30+4DKRq/MRneG7w+YAdpG1wIXEWPMIu5s0uoK1TzpHIzr+conY\r\nMufoIly3zLwjvDGf1tcGcxieDGo3W3S1H2ZLTZZmvAg0P3gvaT5kjZQ3b9il\r\nRdqXSic8SmbJkjqY1T+nfFbjZ3izaxEfej6bTorzoOWiaoK8PRSHktpWMWDF\r\nkSv/AXqYrsK8y0BRPYCg1IVNQl4ttqjYhwjLIwmbrOjcxhwN8INaY3MRUyqq\r\nB6UeOcCHvvYZhILvjlVkHjIulmtLVJ+elFUuTNUvaXlBIlsm977xuQylVwMs\r\ne7nuaMw82xLvukg91j2BGHSJ0e8FdVkLsIAYtccsR13QktH53oCim+OhACup\r\nZHsdiJgYxCN/+pmHltgtOBhpd7erPKk7ps8sqDaL0KqA32OmmmX65UIKQzcR\r\n6QbowazzxBWfbPKxHry8wq2kb+9RX6/DIKY=\r\n=aqqQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","browser":{"fs":false},"exports":{".":[{"default":"./index.js"},"./index.js"],"./package":"./package.json","./lib/test":"./lib/test.js","./lib/results":"./lib/results.js","./package.json":"./package.json","./lib/default_stream":"./lib/default_stream.js"},"gitHead":"ca25aaee78fa88d9efe16fb084f0ef43e73bc1c8","scripts":{"lint":"eslint --ext .js,.cjs,.mjs . bin/* && tsc --noEmit test/typings.ts && webpack --mode production --bail ./index.js","test":"npm run tests-only","eclint":"FILES=\"$(npm run --silent prelint:files)\" eclint check \"${FILES:=package.json}\"","prelint":"npm-run-posix-or-windows eclint","pretest":"npm run lint","posttest":"aud --production","prepublish":"!(type not-in-publish) || not-in-publish || npm run prepublishOnly","tests-only":"tap -Rtap --no-check-coverage --no-coverage-report test/*.js","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap","prelint:files":"git ls-files 2>/dev/null | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git' || echo '*.md *.js test/*.js'","eclint:windows":"eclint check *.js","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"testling":{"files":"test/browser/*.js","browsers":["ie/6..latest","chrome/20..latest","firefox/10..latest","safari/latest","opera/11.0..latest","iphone/6","ipad/6"]},"repository":{"url":"git://github.com/martinheidegger/fresh-tape.git","type":"git"},"_npmVersion":"6.14.14","description":"fresh tap-producing test harness for node and browsers (with dependencies updated beyond node 4)","directories":{"test":"test","example":"example"},"_nodeVersion":"14.17.5","dependencies":{"has":"^1.0.3","glob":"^7.2.0","defined":"^1.0.0","resolve":"^2.0.0-next.3","for-each":"^0.3.3","inherits":"^2.0.4","is-regex":"^1.1.4","minimist":"^1.2.6","call-bind":"^1.0.2","dotignore":"^0.1.2","object-is":"^1.1.5","path-pony":"^1.0.0","deep-equal":"^2.0.5","object-keys":"^1.1.1","object.assign":"^4.1.2","object-inspect":"^1.12.0","readable-stream":"https://registry.npmjs.org/@leichtgewicht/readable-stream/-/readable-stream-3.6.0.tgz","get-package-type":"^0.1.0","has-dynamic-import":"^2.0.1","array.prototype.every":"^1.1.3","string.prototype.trim":"^1.2.5"},"_hasShrinkwrap":false,"devDependencies":{"aud":"^2.0.0","tap":"^14.11.0","eclint":"^2.8.1","eslint":"=8.8.0","falafel":"^2.2.4","js-yaml":"^4.1.0","webpack":"^5.38.1","ecstatic":"^4.1.4","in-publish":"^2.0.1","tap-parser":"^10.1.0","typescript":"^4.3.2","@types/node":"^16.4.3","webpack-cli":"^4.7.0","concat-stream":"^1.6.2","es-value-fixtures":"^1.2.1","safe-publish-latest":"^2.0.0","@ljharb/eslint-config":"^20.2.0","array.prototype.flatmap":"^1.2.5","npm-run-posix-or-windows":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/fresh-tape_5.5.3_1650597939464_0.641106114423259","host":"s3://npm-registry-packages"}},"5.9.1":{"name":"fresh-tape","version":"5.9.1","description":"fresh tap-producing test harness for node and browsers; webpack-friendly streams, aligned with tape 5.9.x","main":"index.js","browser":{"fs":false},"exports":{".":"./index.js","./lib/default_stream":"./lib/default_stream.js","./lib/results":"./lib/results.js","./lib/test":"./lib/test.js","./package":"./package.json","./package.json":"./package.json"},"bin":{"fresh-tape":"bin/fresh-tape"},"sideEffects":false,"directories":{"example":"example","test":"test"},"engines":{"node":">=12.22"},"dependencies":{"@leichtgewicht/readable-stream":"3.6.0","call-bind":"^1.0.8","deep-equal":"^2.2.3","defined":"^1.0.1","dotignore":"^0.1.2","get-package-type":"^0.1.0","globv7":"^1.0.0","inherits":"^2.0.4","is-regex":"^1.2.1","minimist":"^1.2.8","mock-property":"^1.1.0","object-inspect":"^1.13.4","path-pony":"^1.0.0","resolve":"^2.0.0-next.6"},"devDependencies":{"@ljharb/eslint-config":"^21.4.0","@types/node":"^16.18.126","auto-changelog":"^2.5.0","concat-stream":"^1.6.2","eclint":"^2.8.1","es-value-fixtures":"^1.7.1","eslint":"^8.57.1","falafel":"^2.2.5","finalhandler":"^1.2.0","js-yaml":"^4.1.1","npm-run-posix-or-windows":"^2.0.2","npmignore":"^0.3.5","safe-publish-latest":"^2.0.0","serve-static":"^1.16.3","tap":"^14.11.0","tap-parser":"^10.1.0","typescript":"^4.9.5","webpack":"^5.105.4","webpack-cli":"^4.10.0"},"scripts":{"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)\")\"","prepublishOnly":"safe-publish-latest","prepublish":"node -e \"process.exit(0)\"","prelint:files":"git ls-files 2>/dev/null | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git' || echo '*.md *.js test/*.js'","eclint":"FILES=\"$(npm run --silent prelint:files)\" eclint check \"${FILES:=package.json}\"","eclint:windows":"eclint check *.js","prelint":"npm-run-posix-or-windows eclint","lint":"eslint --ext .js,.cjs,.mjs . bin/* && tsc --noEmit test/typings.ts && webpack --mode production --bail ./index.js","pretest":"npm run lint && npm run tests-compat","test":"npm-run-posix-or-windows tests-only","posttest":"npx npm@'>=10.2' audit --production","tests-only":"tap -Rtap --no-coverage --no-check-coverage --no-coverage-report --no-esm test/*.js","tests-compat":"tap -Rtap --no-coverage --no-check-coverage --no-coverage-report --no-esm test/compat/*.js","tests-compat:windows":"tap -Rtap --no-coverage --no-check-coverage --no-coverage-report --no-esm test/compat/*.js","tests-only:windows":"tap -Rtap --no-coverage --no-check-coverage --no-coverage-report --no-esm test/*.js","test:baseline":"bash scripts/run-baseline.sh","test:example":"find example -name '*.js' | grep -v fail | grep -v static | xargs tap -Rtap --no-coverage --no-check-coverage --no-coverage-report --no-esm"},"testling":{"files":"test/browser/*.js","browsers":["chrome/45..latest","firefox/34..latest","safari/9..latest","opera/32..latest","iphone/9","ipad/9"]},"repository":{"type":"git","url":"git://github.com/martinheidegger/fresh-tape.git"},"homepage":"https://github.com/martinheidegger/fresh-tape","keywords":["tap","test","harness","assert","browser"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"gitHead":"6a348cefbe5945be71948e233e215b689455d766","types":"./index.d.ts","_id":"fresh-tape@5.9.1","bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"_nodeVersion":"24.13.1","_npmVersion":"11.7.0","dist":{"integrity":"sha512-XKIqT2/z17Tr9splmwTttpe2wgUe1N7IeaBw2pkOa01gv6lnejBZK7x6l2MFACN0nS52wBpOCs4t/I+qOVZI+g==","shasum":"861e2c63c4145c73bf81e8bf604f910d5f7fde00","tarball":"https://registry.npmjs.org/fresh-tape/-/fresh-tape-5.9.1.tgz","fileCount":28,"unpackedSize":266684,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHAPOZtiAYbGWqWL3btXHAgSOEiPP6YCsQXPwrlXl9K+AiEA+/T33sHDZq/Kl/KIXlFp2P5OmWdbzKSiJ521uXfpHHM="}]},"_npmUser":{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"},"maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fresh-tape_5.9.1_1775050109952_0.4626498738057092"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-23T02:25:26.233Z","modified":"2026-04-01T13:28:30.234Z","5.0.1":"2020-06-23T02:25:26.428Z","5.0.2":"2020-07-02T12:27:37.863Z","5.0.3":"2020-07-03T05:49:01.324Z","5.0.4":"2020-08-21T08:09:17.656Z","5.1.1":"2021-01-07T08:29:27.019Z","5.2.2":"2021-05-29T06:30:55.032Z","5.2.3":"2021-05-29T15:37:55.412Z","5.2.4":"2021-05-29T18:52:47.033Z","5.3.1":"2021-07-27T14:23:14.617Z","5.3.2":"2021-11-03T14:19:20.519Z","5.3.3":"2021-11-03T14:25:11.316Z","5.4.1":"2022-01-25T09:39:06.637Z","5.5.0":"2022-01-27T05:10:14.010Z","5.5.3":"2022-04-22T03:25:39.605Z","5.9.1":"2026-04-01T13:28:30.115Z"},"bugs":{"url":"https://github.com/martinheidegger/fresh-tape/issues"},"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","homepage":"https://github.com/martinheidegger/fresh-tape","keywords":["tap","test","harness","assert","browser"],"repository":{"type":"git","url":"git://github.com/martinheidegger/fresh-tape.git"},"description":"fresh tap-producing test harness for node and browsers; webpack-friendly streams, aligned with tape 5.9.x","maintainers":[{"name":"leichtgewicht","email":"martin.heidegger@gmail.com"}],"readme":"# fresh-tape <sup>[![Version Badge][npm-version-svg]][package-url]</sup>\n\n[TAP](https://testanything.org/)-producing test harness for node and browsers\n\n[`tape`](https://npmjs.com/package/fresh-tape) is commited to keep the current node compatibility,\nwhich does not permit an update of major dependencies like `through` and `concat-stream`.\nThis makes it difficult to use `tape` with webpack.\n\nThis package updates the dependencies, which makes it incompatible with older node versions\nbut otherwise is committed to stay compatible with tape.\n\n**`fresh-tape` can be compiled with webpack as-is!**\n\n# Browser Support\n\nThe **`testling`** field in [`package.json`](./package.json) records browser targets intended for bundles (for example after webpack). It is legacy [Testling-CI](https://ci.testling.com/guide/advanced_configuration) metadata; this repo does not run that service on every push, though `npm run lint` still builds a production webpack bundle from [`index.js`](./index.js).\n\nDeclared ranges (see `testling.browsers` and `testling.files` in `package.json`):\n\n| Target | `package.json` entry | Typical meaning |\n|--------|----------------------|-----------------|\n| Chrome | `chrome/45..latest` | Chrome **45** and newer |\n| Firefox | `firefox/34..latest` | Firefox **34** and newer |\n| Safari | `safari/9..latest` | Safari **9** and newer |\n| Opera | `opera/32..latest` | Opera **32** and newer |\n| iPhone | `iphone/9` | Mobile Safari on **iOS 9** or later |\n| iPad | `ipad/9` | Mobile Safari on **iPad with iOS 9** or later |\n\nBrowser-side tests are expected under `test/browser/*.js` (per `testling.files`). Older engines than the table above may need extra transpilation or polyfills beyond what this package ships.\n\nMethod and CLI documentation below is aligned with upstream [tape](https://github.com/tape-testing/tape) **v5.9.0** `readme.markdown` (including updates between **v5.6.0** and **v5.9.0**), except for **fresh-tape** naming, the **CLI: ESM and dynamic `import`** section, `--strict` / `engines`, and other fork-specific notes.\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\n# example\n\n``` js\nvar test = require('fresh-tape');\n\ntest('timing test', function (t) {\n    t.plan(2);\n\n    t.equal(typeof Date.now, 'function');\n    var start = Date.now();\n\n    setTimeout(function () {\n        t.equal(Date.now() - start, 100);\n    }, 100);\n});\n\ntest('test using promises', async function (t) {\n    const result = await someAsyncThing();\n    t.ok(result);\n});\n```\n\n```\n$ node example/timing.js\nTAP version 13\n# timing test\nok 1 should be strictly equal\nnot ok 2 should be strictly equal\n  ---\n    operator: equal\n    expected: 100\n    actual:   107\n  ...\n\n1..2\n# tests 2\n# pass  1\n# fail  1\n```\n\n# usage\n\nYou always need to `require('fresh-tape')` in test files. You can run the tests by\nusual node means (`require('test-file.js')` or `node test-file.js`). You can\nalso run tests using the `fresh-tape` binary to utilize globbing, on Windows for\nexample:\n\n```sh\n$ fresh-tape tests/**/*.js\n```\n\n`fresh-tape`'s arguments are passed to the [`globv7`](https://www.npmjs.com/package/globv7) module (a maintained fork of `glob` v7).\nIf you want `globv7` to perform the expansion on a system where the shell performs such expansion, quote the arguments as necessary:\n\n```sh\n$ fresh-tape 'tests/**/*.js'\n$ fresh-tape \"tests/**/*.js\"\n```\n\nIf you want `fresh-tape` to exit with a nonzero status when no test files are found, pass `--strict` (see [`--strict`](#--strict) below):\n\n```sh\n$ fresh-tape --strict 'tests/**/*.js'\n```\n\n## Preloading modules\n\nAdditionally, it is possible to make `fresh-tape` load one or more modules before running any tests, by using the `-r` or `--require` flag. Here's an example that loads [babel-register](https://babeljs.io/docs/usage/require/) before running any tests, to allow for JIT compilation:\n\n```sh\n$ fresh-tape -r babel-register tests/**/*.js\n```\n\nDepending on the module you're loading, you may be able to parameterize it using environment variables or auxiliary files. Babel, for instance, will load options from [`.babelrc`](https://babeljs.io/docs/usage/babelrc/) at runtime.\n\nThe `-r` flag behaves exactly like node's `require`, and uses the same module resolution algorithm. This means that if you need to load local modules, you have to prepend their path with `./` or `../` accordingly.\n\nFor example:\n\n```sh\n$ fresh-tape -r ./my/local/module tests/**/*.js\n```\n\nPlease note that all modules loaded using the `-r` flag will run *before* any tests, regardless of when they are specified. For example, `fresh-tape -r a b -r c` will actually load `a` and `c` *before* loading `b`, since they are flagged as required modules.\n\n## CLI: ESM and dynamic `import`\n\nUpstream `tape` uses the `has-dynamic-import` package to detect whether `import()` is available and, when not, loads every test file with synchronous `require()` only. **fresh-tape does not do that** The `fresh-tape` binary always loads test files through `import-or-require`, which uses dynamic `import()` for ESM (`.mjs` and `package.json` `\"type\":\"module\"` `.js`). There is **no** runtime probe and **no** fallback path for runtimes that lack `import()`.\n\nUse a Node version that supports dynamic `import()` from CommonJS (see `engines` in `package.json`; **Node ≥ 12**). Older Node releases cannot run this CLI entry for ESM tests; stick to CommonJS test files if you must target them, and prefer a newer Node for full parity with upstream `tape`’s CLI behavior on mixed ESM/CJS suites.\n\n# Things that go well with tape\n\n`fresh-tape` maintains a fairly minimal core. Additional features are usually added by using another module alongside `fresh-tape`.\n\n## Pretty reporters\n\nThe default TAP output is good for machines and humans that are robots.\n\nIf you want a more colorful / pretty output there are lots of modules on npm that will output something pretty if you pipe TAP into them:\n\n- [tap-spec](https://github.com/scottcorgan/tap-spec)\n- [tap-dot](https://github.com/scottcorgan/tap-dot)\n- [faucet](https://github.com/tape-testing/faucet)\n- [tap-bail](https://github.com/juliangruber/tap-bail)\n- [tap-browser-color](https://github.com/kirbysayshi/tap-browser-color)\n- [tap-json](https://github.com/gummesson/tap-json)\n- [tap-min](https://github.com/derhuerst/tap-min)\n- [tap-nyan](https://github.com/calvinmetcalf/tap-nyan)\n- [tap-pessimist](https://www.npmjs.org/package/tap-pessimist)\n- [tap-prettify](https://github.com/toolness/tap-prettify)\n- [colortape](https://github.com/shuhei/colortape)\n- [tap-xunit](https://github.com/aghassemi/tap-xunit)\n- [tap-difflet](https://github.com/namuol/tap-difflet)\n- [tape-dom](https://github.com/gritzko/tape-dom)\n- [tap-diff](https://github.com/axross/tap-diff)\n- [tap-notify](https://github.com/axross/tap-notify)\n- [tap-summary](https://github.com/zoubin/tap-summary)\n- [tap-markdown](https://github.com/Hypercubed/tap-markdown)\n- [tap-html](https://github.com/gabrielcsapo/tap-html)\n- [tap-react-browser](https://github.com/mcnuttandrew/tap-react-browser)\n- [tap-junit](https://github.com/dhershman1/tap-junit)\n- [tap-nyc](https://github.com/MegaArman/tap-nyc)\n- [tap-spec (emoji patch)](https://github.com/Sceat/tap-spec-emoji)\n- [tape-repeater](https://github.com/rgruesbeck/tape-repeater)\n- [tabe](https://github.com/Josenzo/tabe)\n\nTo use them, try `node test/index.js | tap-spec` or pipe it into one of the modules of your choice!\n\n## Uncaught Exceptions\n\nBy default, uncaught exceptions in your tests will not be intercepted, and will cause `fresh-tape` to crash. If you find this behavior undesirable, use [`tape-catch`](https://github.com/michaelrhodes/tape-catch) to report any exceptions as TAP errors.\n\n## Other\n\n- CoffeeScript support with https://www.npmjs.com/package/coffeetape\n- ES6 support with https://www.npmjs.com/package/babel-tape-runner or https://www.npmjs.com/package/buble-tape-runner\n- Different test syntax with https://github.com/pguth/flip-tape (warning: mutates String.prototype)\n- Electron test runner with https://github.com/tundrax/electron-tap\n- Concurrency support with https://github.com/imsnif/mixed-tape\n- In-process reporting with https://github.com/DavidAnson/tape-player\n- Describe blocks with https://github.com/mattriley/tape-describe\n\n# Command-line Flags\n\nWhile running tests, top-level configurations can be passed via the command line to specify desired behavior.\n\nAvailable configurations are listed below:\n\n## --require\n\n**Alias**: `-r`\n\nThis is used to load modules before running tests and is explained extensively in the [preloading modules](#preloading-modules) section.\n\n## --ignore\n\n**Alias**: `-i`\n\nThis flag is used when tests from certain folders and/or files are not intended to be run.\nThe argument is a path to a file that contains the patterns to be ignored.\nIt defaults to `.gitignore` when passed with no argument.\n\n```sh\nfresh-tape -i .ignore '**/*.js'\n```\n\nAn error is thrown if the specified file passed as argument does not exist.\n\n## --ignore-pattern\n\nSame functionality as `--ignore`, but passing the pattern directly instead of an ignore file.\nIf both `--ignore` and `--ignore-pattern` are given, the `--ignore-pattern` argument is appended to the content of the ignore file.\n\n```sh\nfresh-tape --ignore-pattern 'integration_tests/**/*.js' '**/*.js'\n```\n\n## --strict\n\nWhen `--strict` is set and **no** test files are matched after globbing and ignore rules, the process exits with code **127** and prints `No test files found!` on stderr. Without `--strict`, zero files yields an empty successful TAP run (`1..0`, exit 0).\n\nUse `--no-strict` to turn strict mode off explicitly if needed.\n\n```sh\nfresh-tape --strict 'tests/**/*.js'\n```\n\n## --no-only\nThis is particularly useful in a CI environment where an [only test](#testonlyname-opts-cb) is not supposed to go unnoticed.\n\nBy passing the `--no-only` flag, any existing [only test](#testonlyname-opts-cb) causes tests to fail.\n\n```sh\nfresh-tape --no-only '**/*.js'\n```\n\nAlternatively, the environment variable `NODE_TAPE_NO_ONLY_TEST` can be set to `true` to achieve the same behavior; the command-line flag takes precedence.\n\n# methods\n\nThe assertion methods in `fresh-tape` are heavily influenced or copied from the methods in [node-tap](https://github.com/isaacs/node-tap) (same surface as upstream [`tape`](https://www.npmjs.com/package/tape) 5.9.x).\n\n```js\nvar test = require('fresh-tape')\n```\n\n## test([name], [opts], cb)\n\nCreate a new test with an optional `name` string and optional `opts` object.\n`cb(t)` fires with the new test object `t` once all preceding tests have finished.\nTests execute serially.\n\nAvailable `opts` options are:\n- opts.skip = true/false. See test.skip.\n- opts.timeout = 500. Set a timeout for the test, after which it will fail. See test.timeoutAfter.\n- opts.objectPrintDepth = 5. Configure max depth of expected / actual object printing. Environmental variable `NODE_TAPE_OBJECT_PRINT_DEPTH` can set the desired default depth for all tests; locally-set values will take precedence.\n- opts.todo = true/false. Test will be allowed to fail.\n\nIf the environment variable `TODO_IS_OK` is set to `1`, failed assertions in **todo** tests are still emitted as `ok` in TAP (with `# TODO` and a diagnostic block), and counts toward the pass total. This matches [tape](https://github.com/ljharb/tape)’s behavior when migrating CI that treats todo failures as non-fatal.\n\nIf you forget to `t.plan()` out how many assertions you are going to run and you don't call `t.end()` explicitly, or return a Promise that eventually settles, your test will hang.\n\nIf `cb` returns a Promise, it will be implicitly awaited. If that promise rejects, the test will be failed; if it fulfills, the test will end. Explicitly calling `t.end()` while also returning a Promise that fulfills is an error.\n\n## test.skip([name], [opts], cb)\n\nGenerate a new test that will be skipped over.\n\n## test.onFinish(fn)\n\nThe onFinish hook will get invoked when ALL `fresh-tape` tests have finished right before `fresh-tape` is about to print the test summary.\n\n`fn` is called with no arguments, and its return value is ignored.\n\n## test.onFailure(fn)\n\nThe onFailure hook will get invoked whenever any `fresh-tape` test has failed.\n\n`fn` is called with no arguments, and its return value is ignored.\n\n## t.plan(n)\n\nDeclare that `n` assertions should be run. `t.end()` will be called automatically after the `n`th assertion.\nIf there are any more assertions after the `n`th, or after `t.end()` is called, they will generate errors.\n\n## t.end(err)\n\nDeclare the end of a test explicitly. If `err` is passed in `t.end` will assert that it is falsy.\n\nDo not call `t.end()` if your test callback returns a Promise.\n\n## t.teardown(cb)\n\nRegister a callback to run after the individual test has completed. Multiple registered teardown callbacks will run in order. Useful for undoing side effects, closing network connections, etc.\n\n## t.fail(msg)\n\nGenerate a failing assertion with a message `msg`.\n\n## t.pass(msg)\n\nGenerate a passing assertion with a message `msg`.\n\n## t.timeoutAfter(ms)\n\nAutomatically timeout the test after X ms.\n\n## t.skip(msg)\n\nGenerate an assertion that will be skipped over.\n\n## t.ok(value, msg)\n\nAssert that `value` is truthy with an optional description of the assertion `msg`.\n\nAliases: `t.true()`, `t.assert()`\n\n## t.notOk(value, msg)\n\nAssert that `value` is falsy with an optional description of the assertion `msg`.\n\nAliases: `t.false()`, `t.notok()`\n\n## t.error(err, msg)\n\nAssert that `err` is falsy. If `err` is non-falsy, use its `err.message` as the description message.\n\nAliases: `t.ifError()`, `t.ifErr()`, `t.iferror()`\n\n## t.equal(actual, expected, msg)\n\nAssert that `Object.is(actual, expected)` with an optional description of the assertion `msg`.\n\nAliases: `t.equals()`, `t.isEqual()`, `t.strictEqual()`, `t.strictEquals()`, `t.is()`\n\n## t.notEqual(actual, expected, msg)\n\nAssert that `!Object.is(actual, expected)` with an optional description of the assertion `msg`.\n\nAliases: `t.notEquals()`, `t.isNotEqual()`, `t.doesNotEqual()`, `t.isInequal()`, `t.notStrictEqual()`, `t.notStrictEquals()`, `t.isNot()`, `t.not()`\n\n## t.looseEqual(actual, expected, msg)\n\nAssert that `actual == expected` with an optional description of the assertion `msg`.\n\nAliases: `t.looseEquals()`\n\n## t.notLooseEqual(actual, expected, msg)\n\nAssert that `actual != expected` with an optional description of the assertion `msg`.\n\nAliases: `t.notLooseEquals()`\n\n## t.deepEqual(actual, expected, msg)\n\nAssert that `actual` and `expected` have the same structure and nested values using [node's deepEqual() algorithm](https://github.com/inspect-js/node-deep-equal) with strict comparisons (`===`) on leaf nodes and an optional description of the assertion `msg`.\n\nAliases: `t.deepEquals()`, `t.isEquivalent()`, `t.same()`\n\n## t.notDeepEqual(actual, expected, msg)\n\nAssert that `actual` and `expected` do not have the same structure and nested values using [node's deepEqual() algorithm](https://github.com/inspect-js/node-deep-equal) with strict comparisons (`===`) on leaf nodes and an optional description of the assertion `msg`.\n\nAliases: `t.notDeepEquals`, `t.notEquivalent()`, `t.notDeeply()`, `t.notSame()`,\n`t.isNotDeepEqual()`, `t.isNotDeeply()`, `t.isNotEquivalent()`,\n`t.isInequivalent()`\n\n## t.deepLooseEqual(actual, expected, msg)\n\nAssert that `actual` and `expected` have the same structure and nested values using [node's deepEqual() algorithm](https://github.com/inspect-js/node-deep-equal) with loose comparisons (`==`) on leaf nodes and an optional description of the assertion `msg`.\n\n## t.notDeepLooseEqual(actual, expected, msg)\n\nAssert that `actual` and `expected` do not have the same structure and nested values using [node's deepEqual() algorithm](https://github.com/inspect-js/node-deep-equal) with loose comparisons (`==`) on leaf nodes and an optional description of the assertion `msg`.\n\n## t.throws(fn, expected, msg)\n\nAssert that the function call `fn()` throws an exception. `expected`, if present, must be a `RegExp`, `Function`, or `Object`. The `RegExp` matches the string representation of the exception, as generated by `err.toString()`. For example, if you set `expected` to `/user/`, the test will pass only if the string representation of the exception contains the word `user`. Any other exception will result in a failed test. The `Function` could be the constructor for the Error type thrown, or a predicate function to be called with that exception. `Object` in this case corresponds to a so-called validation object, in which each property is tested for strict deep equality. As an example, see the following two tests--each passes a validation object to `t.throws()` as the second parameter. The first test will pass, because all property values in the actual error object are deeply strictly equal to the property values in the validation object.\n```\n    const err = new TypeError(\"Wrong value\");\n    err.code = 404;\n    err.check = true;\n\n    // Passing test.\n    t.throws(\n        () => {\n            throw err;\n        },\n        {\n            code: 404,\n            check: true\n        },\n        \"Test message.\"\n    );\n```\nThis next test will fail, because all property values in the actual error object are _not_ deeply strictly equal to the property values in the validation object.\n```\n    const err = new TypeError(\"Wrong value\");\n    err.code = 404;\n    err.check = \"true\";\n\n    // Failing test.\n    t.throws(\n        () => {\n            throw err;\n        },\n        {\n            code: 404,\n            check: true // This is not deeply strictly equal to err.check.\n        },\n        \"Test message.\"\n    );\n```\n\nThis is very similar to how Node's `assert.throws()` method tests validation objects (please see the [Node _assert.throws()_ documentation](https://nodejs.org/api/assert.html#assert_assert_throws_fn_error_message) for more information).\n\nIf `expected` is not of type `RegExp`, `Function`, or `Object`, or omitted entirely, any exception will result in a passed test. `msg` is an optional description of the assertion.\n\nPlease note that the second parameter, `expected`, cannot be of type `string`. If a value of type `string` is provided for `expected`, then `t.throws(fn, expected, msg)`  will execute, but the value of `expected` will be set to  `undefined`, and the specified string will be set as the value for the `msg` parameter (regardless of what _actually_ passed as the third parameter). This can cause unexpected results, so please be mindful.\n\n## t.doesNotThrow(fn, expected, msg)\n\nAssert that the function call `fn()` does not throw an exception. `expected`, if present, limits what should not be thrown, and must be a `RegExp` or `Function`. The `RegExp` matches the string representation of the exception, as generated by `err.toString()`. For example, if you set `expected` to `/user/`, the test will fail  only if the string representation of the exception contains the word `user`. Any other exception will result in a passed test.  The `Function` is the exception thrown (e.g. `Error`).  If `expected` is not of type `RegExp` or `Function`, or omitted entirely, any exception will result in a failed test. `msg` is an optional description of the assertion.\n\nPlease note that the second parameter, `expected`, cannot be of type `string`. If a value of type `string` is provided for `expected`, then `t.doesNotThrows(fn, expected, msg)`  will execute, but the value of `expected` will be set to  `undefined`, and the specified string will be set as the value for the `msg` parameter (regardless of what _actually_ passed as the third parameter). This can cause unexpected results, so please be mindful.\n\n## t.test(name, [opts], cb)\n\nCreate a subtest with a new test handle `st` from `cb(st)` inside the current test `t`. `cb(st)` will only fire when `t` finishes. Additional tests queued up after `t` will not be run until all subtests finish.\n\nYou may pass the same options that [`test()`](#testname-opts-cb) accepts.\n\n## t.comment(message)\n\nPrint a message without breaking the tap output.\n(Useful when using e.g. `tap-colorize` where output is buffered & `console.log` will print in incorrect order vis-a-vis tap output.)\n\nMultiline output will be split by `\\n` characters, and each one printed as a comment.\n\n## t.match(string, regexp, message)\n\nAssert that `string` matches the RegExp `regexp`. Will fail when the first two arguments are the wrong type.\n\n## t.doesNotMatch(string, regexp, message)\n\nAssert that `string` does not match the RegExp `regexp`. Will fail when the first two arguments are the wrong type.\n\n## t.capture(obj, method, implementation = () => {})\n\nReplaces `obj[method]` with the supplied implementation.\n`obj` must be a non-primitive, `method` must be a valid property key (string or symbol), and `implementation`, if provided, must be a function.\n\nCalling the returned `results()` function will return an array of call result objects.\nThe array of calls will be reset whenever the function is called.\nCall result objects will match one of these forms:\n\n  - `{ args: [x, y, z], receiver: o, returned: a }`\n  - `{ args: [x, y, z], receiver: o, threw: true }`\n\nThe replacement will automatically be restored on test teardown.\nYou can restore it manually, if desired, by calling `.restore()` on the returned results function.\n\nModeled after [tap](https://tapjs.github.io/tapjs/modules/_tapjs_intercept.html).\n\n## t.captureFn(original)\n\nWraps the supplied function.\nThe returned wrapper has a `.calls` property, which is an array that will be populated with call result objects, described under `t.capture()`.\n\nModeled after [tap](https://tapjs.github.io/tapjs/modules/_tapjs_intercept.html).\n\n## t.intercept(obj, property, desc = {}, strictMode = true)\n\nSimilar to `t.capture()`, but can be used to track get/set operations for any arbitrary property.\nCalling the returned `results()` function will return an array of call result objects.\nThe array of calls will be reset whenever the function is called.\nCall result objects will match one of these forms:\n\n  - `{ type: 'get', value: '1.2.3', success: true, args: [x, y, z], receiver: o }`\n  - `{ type: 'set', value: '2.4.6', success: false, args: [x, y, z], receiver: o }`\n\nIf `strictMode` is `true`, and `writable` is `false`, and no `get` or `set` is provided, an exception will be thrown when `obj[property]` is assigned to.\nIf `strictMode` is `false` in this scenario, nothing will be set, but the attempt will still be logged.\n\nProviding both `desc.get` and `desc.set` are optional and can still be useful for logging get/set attempts.\n\n`desc` must be a valid property descriptor, meaning that `get`/`set` are mutually exclusive with `writable`/`value`.\nAdditionally, explicitly setting `configurable` to `false` is not permitted, so that the property can be restored.\n\n## t.assertion(fn, ...args)\n\nIf you want to write your own custom assertions, you can invoke them with this method: `fn` is called with the test instance as `this`, and any additional arguments you pass after `fn`.\n\nThe return value of `fn` is returned from `t.assertion` (for example, so a test callback can `return t.assertion(...)` when `fn` yields a Promise).\n\n```js\nfunction isAnswer(value, msg) {\n    // eslint-disable-next-line no-invalid-this\n    this.equal(value, 42, msg || 'value must be the answer to life, the universe, and everything');\n}\n\ntest('is this the answer?', (t) => {\n    t.assertion(isAnswer, 42); // passes, default message\n    t.assertion(isAnswer, 42, 'what is 6 * 9?'); // passes, custom message\n    t.assertion(isAnswer, 54, 'what is 6 * 9!'); // fails, custom message\n\n    t.end();\n});\n```\n\n## var htest = test.createHarness()\n\nCreate a new test harness instance, which is a function like `test()`, but with a new pending stack and test state.\n\nBy default the TAP output goes to `console.log()`. You can pipe the output to someplace else if you `htest.createStream().pipe()` to a destination stream on the first tick.\n\n## test.only([name], [opts], cb)\n\nLike `test([name], [opts], cb)` except if you use `.only` this is the only test case that will run for the entire process, all other test cases using `fresh-tape` will be ignored.\n\nCheck out how the usage of [the --no-only flag](#--no-only) could help ensure there is no `.only` test running in a specified environment.\n\n## var stream = test.createStream(opts)\n\nCreate a stream of output, bypassing the default output stream that writes messages to `console.log()`. By default `stream` will be a text stream of TAP output, but you can get an object stream instead by setting `opts.objectMode` to `true`.\n\n### tap stream reporter\n\nYou can create your own custom test reporter using this `createStream()` api:\n\n``` js\nvar test = require('fresh-tape');\nvar path = require('path');\n\ntest.createStream().pipe(process.stdout);\n\nprocess.argv.slice(2).forEach(function (file) {\n    require(path.resolve(file));\n});\n```\n\nYou could substitute `process.stdout` for whatever other output stream you want, like a network connection or a file.\n\nPass in test files to run as arguments:\n\n```sh\n$ node tap.js test/x.js test/y.js\nTAP version 13\n# (anonymous)\nnot ok 1 should be strictly equal\n  ---\n    operator: equal\n    expected: \"boop\"\n    actual:   \"beep\"\n  ...\n# (anonymous)\nok 2 should be strictly equal\nok 3 (unnamed assert)\n# wheee\nok 4 (unnamed assert)\n\n1..4\n# tests 4\n# pass  3\n# fail  1\n```\n\n### object stream reporter\n\nHere's how you can render an object stream instead of TAP:\n\n``` js\nvar test = require('fresh-tape');\nvar path = require('path');\n\ntest.createStream({ objectMode: true }).on('data', function (row) {\n    console.log(JSON.stringify(row))\n});\n\nprocess.argv.slice(2).forEach(function (file) {\n    require(path.resolve(file));\n});\n```\n\nThe output for this runner is:\n\n```sh\n$ node object.js test/x.js test/y.js\n{\"type\":\"test\",\"name\":\"(anonymous)\",\"id\":0}\n{\"id\":0,\"ok\":false,\"name\":\"should be strictly equal\",\"operator\":\"equal\",\"actual\":\"beep\",\"expected\":\"boop\",\"error\":{},\"test\":0,\"type\":\"assert\"}\n{\"type\":\"end\",\"test\":0}\n{\"type\":\"test\",\"name\":\"(anonymous)\",\"id\":1}\n{\"id\":0,\"ok\":true,\"name\":\"should be strictly equal\",\"operator\":\"equal\",\"actual\":2,\"expected\":2,\"test\":1,\"type\":\"assert\"}\n{\"id\":1,\"ok\":true,\"name\":\"(unnamed assert)\",\"operator\":\"ok\",\"actual\":true,\"expected\":true,\"test\":1,\"type\":\"assert\"}\n{\"type\":\"end\",\"test\":1}\n{\"type\":\"test\",\"name\":\"wheee\",\"id\":2}\n{\"id\":0,\"ok\":true,\"name\":\"(unnamed assert)\",\"operator\":\"ok\",\"actual\":true,\"expected\":true,\"test\":2,\"type\":\"assert\"}\n{\"type\":\"end\",\"test\":2}\n```\n\nA convenient alternative to achieve the same:\n```js\n// report.js\nvar test = require('fresh-tape');\n\ntest.createStream({ objectMode: true }).on('data', function (row) {\n    console.log(JSON.stringify(row)) // for example\n});\n```\nand then:\n```sh\n$ fresh-tape -r ./report.js **/*.test.js\n```\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```sh\nnpm install fresh-tape --save-dev\n```\n\n# troubleshooting\n\nSometimes `t.end()` doesn’t preserve the expected output ordering.\n\nFor instance the following:\n\n```js\nvar test = require('fresh-tape');\n\ntest('first', function (t) {\n\n  setTimeout(function () {\n    t.ok(1, 'first test');\n    t.end();\n  }, 200);\n\n  t.test('second', function (t) {\n    t.ok(1, 'second test');\n    t.end();\n  });\n});\n\ntest('third', function (t) {\n  setTimeout(function () {\n    t.ok(1, 'third test');\n    t.end();\n  }, 100);\n});\n```\n\nwill output:\n\n```\nok 1 second test\nok 2 third test\nok 3 first test\n```\n\nbecause `second` and `third` assume `first` has ended before it actually does.\n\nUse `t.plan()` instead to let other tests know they should wait:\n\n```diff\nvar test = require('fresh-tape');\n\ntest('first', function (t) {\n\n+  t.plan(2);\n\n  setTimeout(function () {\n    t.ok(1, 'first test');\n-    t.end();\n  }, 200);\n\n  t.test('second', function (t) {\n    t.ok(1, 'second test');\n    t.end();\n  });\n});\n\ntest('third', function (t) {\n  setTimeout(function () {\n    t.ok(1, 'third test');\n    t.end();\n  }, 100);\n});\n```\n\n# license\n\nMIT\n\n[package-url]: https://npmjs.org/package/fresh-tape\n[npm-version-svg]: https://versionbadg.es/martinheidegger/fresh-tape.svg\n[deps-svg]: https://david-dm.org/martinheidegger/fresh-tape.svg\n[deps-url]: https://david-dm.org/martinheidegger/fresh-tape\n[dev-deps-svg]: https://david-dm.org/martinheidegger/fresh-tape/dev-status.svg\n[dev-deps-url]: https://david-dm.org/martinheidegger/fresh-tape#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/fresh-tape.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/fresh-tape.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/fresh-tape.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=tape\n[codecov-image]: https://codecov.io/gh/martinheidegger/fresh-tape/branch/master/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/martinheidegger/fresh-tape/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/martinheidegger/fresh-tape\n[actions-url]: https://github.com/martinheidegger/fresh-tape/actions\n","readmeFilename":"README.md"}