{"_id":"htest.dev","_rev":"28-3edbaeb64e6cd55420d1e560838a819d","name":"htest.dev","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.2":{"name":"htest.dev","version":"0.0.2","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.2","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://github.com/leaverou/htest#readme","bugs":{"url":"https://github.com/leaverou/htest/issues"},"dist":{"shasum":"ca0f4bf98a2a91aca5779e58242c4f1c82091d1f","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.2.tgz","fileCount":34,"integrity":"sha512-WgQmwCX7l+jIvycgH5Z35GgrAWtFtT/0YfNdQIujK0E8jzbngt0PlwV/Hqr9izgBt0iGqiD8piXhWN39+SDoow==","signatures":[{"sig":"MEQCIDn2wf6tqJnSvKWZD/30K7QI9UrW1xkcwRNIJqtWYeYOAiAlzkQowpUpOMi5nTE0QWjaGpOyjYs4LH8vwSQq20Gm1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89816},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"9ff62e375f93b64dbe1235f38b477cbc583e5569","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/h-chart.git","type":"git"},"_npmVersion":"10.2.1","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"chalk":"^5.3.0","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"@11ty/eleventy":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.2_1698707992056_0.7302475075216488","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"htest.dev","version":"0.0.3","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.3","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://github.com/leaverou/htest#readme","bugs":{"url":"https://github.com/leaverou/htest/issues"},"dist":{"shasum":"ee447a7690f626e936ee8d3aa0387df1d173d889","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.3.tgz","fileCount":35,"integrity":"sha512-pSwo0CYo9+ZIffrfU6539hmY/PD8UEbZJNw7mgsWwsI0Y2FL1ygoV3FS1+/vpPADJNyJO95jEEtkO2juGFxQ4Q==","signatures":[{"sig":"MEUCIQCspWxzC4NpHdIrO/99+Eu6zmX5Pp+0MVuB0pSeqfq87QIgIrDGfdPx96wC8SxM9uHc+ERLFqm3O5Ovqr5Iibs6XFo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":93427},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"6608e7d0326a6a470bd448f5f5c7e8f32a058cfe","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/h-chart.git","type":"git"},"_npmVersion":"10.2.1","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","chalk":"^5.3.0","yargs":"^17.7.2","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"@11ty/eleventy":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.3_1698760651644_0.4920298906879408","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"htest.dev","version":"0.0.4","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.4","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://github.com/leaverou/htest#readme","bugs":{"url":"https://github.com/leaverou/htest/issues"},"dist":{"shasum":"3cfde42e3ba62e19a288664c1cfe5a3f0a938344","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.4.tgz","fileCount":34,"integrity":"sha512-1Q0y/XZeL36mg/7e9DGPtCNfXZlu8sXRP+OqkMwb7mteyCJE0OYGNlqyvC5jqg6lCj+R+37N0Mu1w+eerW5ULw==","signatures":[{"sig":"MEUCIQCJKAw4svRUuBoY+eVCVPouUdmkK9sHO12RBSYiAIpfuAIgVe93NDhDAVDuITVHHykxGQ4aEdMfBYMOEX6C/aX0GOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99076},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"de887372ed9a77bb460e927d22a53d94100c09af","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.2.2","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","chalk":"^5.3.0","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"@11ty/eleventy":"^2.0.1","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.4_1698865539042_0.41895069174568733","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"htest.dev","version":"0.0.5","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.5","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://github.com/leaverou/htest#readme","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"src/cli.js"},"dist":{"shasum":"2bdf42c99056f77e31fc2b9de4c903ba92edc1d4","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.5.tgz","fileCount":40,"integrity":"sha512-gMHqyhpEKDTthwy0CPNfNLpCBjeFJ7YRBxJ+mcUepGZKFl/vy41TDO4vEuSvpyU9vtdXebai0N5n13WQD/YwCQ==","signatures":[{"sig":"MEYCIQCj1oHRpjbvWhScaO+AsrzmNlXVBpcdVioK9Lq7q7B1BQIhAPcyqlOpYiBpRtVgAxNihRtv8l7rxhjFcwToeFxG/+NL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113847},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"ae8d268ed1c8ab4b6138902b6e34589d57240630","scripts":{"test":"node tests/index.js","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.2.3","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","@11ty/eleventy":"^2.0.1","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.5_1699087063728_0.23116664298730982","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"htest.dev","version":"0.0.6","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.6","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://github.com/leaverou/htest#readme","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"src/cli.js"},"dist":{"shasum":"64c45020582b693ad2b1b9d144ab73bb8b7b9ba7","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.6.tgz","fileCount":40,"integrity":"sha512-/w35ZdGHVnj9ZN50OMOVhjOAnnLiGp/tFpQG+AVwMkT1qL06RaEcJYTyuJ8UWvxThdqZPRY5ByjkU+SIgtS42g==","signatures":[{"sig":"MEYCIQDcrV0Y3Dg5MuKRMrn0gaBuBg3BEQhTvvgdApLzZ9RtfAIhAOlN1Eq9Ur3WmnEok/Ye9/jjfuhCnWmL+0RS/swLDLcn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113300},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"d0e5cfa97bca6c12e1f07635846c6ba14842a18e","scripts":{"test":"node tests/index.js","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.2.3","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","release-it":"^16.2.1","@11ty/eleventy":"^2.0.1","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.6_1699660210543_0.33753872612587577","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"htest.dev","version":"0.0.7","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.7","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://github.com/leaverou/htest#readme","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"47702e330b44ca5e46ac55a04127cb2ad1d4a860","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.7.tgz","fileCount":41,"integrity":"sha512-Fy4/QQ28zfeMy088+BBuYf6JvjVf1C1Ly0C51jLSF012vxK8jZj0uTEOmlGsktyYIG29VOWydo5GlWfs/iErXg==","signatures":[{"sig":"MEUCIC5CiG23FTftBh+WgDvysYlVwBeZUnY7E6IXUC1jDaJ3AiEAkpUKREOUa/xnauxZaXYmWryKwHuvwnFozOQe7f3TQek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113476},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"93436e3a34f76430d41f050d1e0735017c433cf8","scripts":{"test":"node tests/index.js","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.2.3","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","release-it":"^16.2.1","@11ty/eleventy":"^2.0.1","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.7_1699907863568_0.2095637031302684","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"htest.dev","version":"0.0.8","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.8","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://github.com/leaverou/htest#readme","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"7d3ae259130a1db4f914281a0e55c8995aa2016f","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.8.tgz","fileCount":41,"integrity":"sha512-5fkb2avCE5Xa+w/xKBvo2Ed4or9YWqlaVmH5MNo4uWOGGVRHMcLku7c0fCAz20CrdZ9pKESwkNORCNnX600Kpw==","signatures":[{"sig":"MEUCIQC6EAElB2UT6Z8YJtYKd2vYRjyP8chn7jKhesZaWLhOsgIgY9uMEsRAq6xnfiTr17eieJIWMInUHz9RXSK2NE5ajio=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113558},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"37c7c0a05be78412bf7ba6f5cd975f99db6d1cee","scripts":{"test":"node tests/index.js","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.2.3","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","release-it":"^16.2.1","@11ty/eleventy":"^2.0.1","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.8_1699908678505_0.928329669218789","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"htest.dev","version":"0.0.9","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.9","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"38a8a3e10bf136235b074f2df29efe734e4c881f","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.9.tgz","fileCount":42,"integrity":"sha512-tO2uIuYcNn7OcFwHa7K94AENsxCW/qTjJ3GSj3RRn5iMpWKsX+pI+EuvWzOt8QuPggRxIe8ITD6Ug2aMoePWnQ==","signatures":[{"sig":"MEUCIEXirsaMVbqARowU3WPV/hDJ4lxudGr4BMHV1VLXuSa5AiEA+cxixUV+Rq3EfB9OOU/XrdoFTh5cJjXS2br0ixfcpXc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":620336},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"101f58a09e3d81c0988126f052f52e89cf56e6c6","scripts":{"test":"node tests/index.js","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.2.4","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","release-it":"^16.2.1","@11ty/eleventy":"^2.0.1","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.9_1701204329095_0.8397795747524521","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"htest.dev","version":"0.0.10","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.10","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"fa523089a54daa9293af53d682b02dad2d2c0fbe","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.10.tgz","fileCount":42,"integrity":"sha512-dl5CETDTNWCg7w44nf7XLszQqGA7kDyeCzy5dS/y4j/swU+f0Hq2WAcVdn4sRv76wJlhMvITi6GJ322DlCRv0w==","signatures":[{"sig":"MEUCIFPwx3+VeBo7Y266L0zFOddy6sUT6yLZy5kOeJTIfP/XAiEA0z2FCgMnS3ZH/uDAwHIydWgNh2tvB+Ibz8B1LRjuG0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":620832},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"47e6bda5e74f3ad0e6b30c2936d7b7b34a036c4a","scripts":{"test":"node tests/index.js","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.5.0","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","release-it":"^16.2.1","@11ty/eleventy":"^2.0.1","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.10_1709655077189_0.9024547281951616","host":"s3://npm-registry-packages"}},"0.0.11":{"name":"htest.dev","version":"0.0.11","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.11","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"5e704750ac863c3ccb987c7545f4927d438019a8","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.11.tgz","fileCount":42,"integrity":"sha512-OXGuvxY4E3wml/jfrNAvAhfkvUMVHD2b3V5tQaV5tiSGhUuMJMymeceuGeQSzXOiM3Dz/nJSMofANZShahX7vQ==","signatures":[{"sig":"MEUCIHuzp0abCs5iG0l5rcuXPqyAFquu93Qm3NsDeUN2Us4CAiEAttShdLM4FhCquL0TfNsz8JhSAA5VRZ50VrwAc2ycME0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":620840},"type":"module","exports":{"import":"./src/index.js"},"gitHead":"ec045ab5be504ce586705a7361c9694344ef1f43","scripts":{"test":"node tests/index.js","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.5.0","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","release-it":"^16.2.1","@11ty/eleventy":"^2.0.1","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.11_1710173746885_0.7745116097076843","host":"s3://npm-registry-packages"}},"0.0.12":{"name":"htest.dev","version":"0.0.12","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.12","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"1ed4078710463f6ef74fde13a318555d082649aa","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.12.tgz","fileCount":43,"integrity":"sha512-UpmPxIkeSGTcyfbz2kk+ZTbjbRvyxOkv9aYx3ssY679R/R555uM6fX5IpOYKk4b14PxHIgii5G72OELxKfNPMw==","signatures":[{"sig":"MEUCIQCTa1Jwdrb+oFITaMKEIn5GWOEzpDdLYO5OEfdeCC+viwIgWnx1aXiigFZGFo90oB2RyZD/ls1c7GFOO4knbe5ayaU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":621151},"type":"module","exports":{".":{"import":"./src/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"ffc4bed6d087afbedbae5b318ced3373dae137d8","scripts":{"test":"node tests/index.js","build":"npm run build:html","watch":"npm run watch:html","build:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs","watch:html":"npx @11ty/eleventy --config=_build/.eleventy.cjs --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.5.0","description":"<header>","directories":{},"_nodeVersion":"20.8.1","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","release-it":"^16.2.1","@11ty/eleventy":"^2.0.1","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.12_1710388849974_0.28895231535936605","host":"s3://npm-registry-packages"}},"0.0.13":{"name":"htest.dev","version":"0.0.13","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.13","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"214e12ed921818c0390fcb73d00fbc307a182ea7","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.13.tgz","fileCount":57,"integrity":"sha512-lu3ruqWMbPSujRf6Wm5QWjUi/mymfXinmxI1yp/S4WNnmF9kgbWLnUabUw9y+q1IcNHfAV8uZIEV2I2oViaKdg==","signatures":[{"sig":"MEUCIQCzicxYzA41Rar0yY1umlqHx1ihQ/L0qboarLfUC9vxtgIgHcGqM+ELdDtiu/GzAWfNDFOw7sWH4cG0cCSesB7XwSE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":648840},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"f1aa5334da1841dfd33acd3c3a89e7db54e22836","scripts":{"test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","watch:docs":"npx typedoc --watch","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.8.0","description":"<header>","directories":{},"_nodeVersion":"21.7.3","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","typedoc":"^0.25.12","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.13_1716486199410_0.5915380902859513","host":"s3://npm-registry-packages"}},"0.0.14":{"name":"htest.dev","version":"0.0.14","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.14","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"c6b53a634de18b80348b01ad24020875463bfbf6","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.14.tgz","fileCount":57,"integrity":"sha512-G5kUQtGPIbnsAiBv4LOetX3hbsq08LlRLauQ6vt8l3An/zf+Bz1iUAJjuPAzJxyUFh728g9CQ2UY6PaeK+kRog==","signatures":[{"sig":"MEUCIQCxZEb8FsqrwW5w4PEWjCCmnOb7ABCYCPUJOLcWqfuQ7AIgXmEBTBUzUrHFxmjUDYnaUtjPgbJbnTntQDPLVsymfbc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":650517},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"c20eb7c74b349187616cf46773e7e685d3a170e9","scripts":{"test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","watch:docs":"npx typedoc --watch","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.8.0","description":"<header>","directories":{},"_nodeVersion":"21.7.3","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","typedoc":"^0.25.12","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.14_1716739645987_0.8792395256073966","host":"s3://npm-registry-packages"}},"0.0.15":{"name":"htest.dev","version":"0.0.15","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.15","maintainers":[{"name":"leaverou","email":"lea@verou.me"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"0a098bad51c574addb099495263d4fd308284eb2","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.15.tgz","fileCount":59,"integrity":"sha512-O3VK27vNk2UK/e6wN5aRAww9w0HNlCuU57oXeY8ZroXDYZT+n72ve6o1NestyJ2a3xd1tM03wk3F8ite5lz+nw==","signatures":[{"sig":"MEUCIQCMaY9UbA8WEr7YuQPtqKdQMdC+xhuKJAS9m88DkMt44wIgcgzV4C+oAWtsv4rIpTIbYQgBWJYaDk9x4wXBGrzFy9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2539210},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"df31b0beee5047fd6938858d537c576111c82e97","scripts":{"test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"leaverou","email":"lea@verou.me"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.8.1","description":"--- title: Declarative unit testing ---","directories":{},"_nodeVersion":"21.7.3","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","eslint":"latest","globals":"latest","typedoc":"^0.25.12","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.15_1718798792864_0.3533839636174603","host":"s3://npm-registry-packages"}},"0.0.16":{"name":"htest.dev","version":"0.0.16","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.16","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"f54767bba1aba525229be6fdc80e3b6af6b919e3","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.16.tgz","fileCount":59,"integrity":"sha512-4rwoAD60/utYWOWQlf8Ew3j1q5SFTNRIezE2KKy9ggri1i1kWu5Xf5BKg18sIfvXzekGSEiHFTuMEeybMWm5zA==","signatures":[{"sig":"MEQCIDmiw8K9T2cc8Q8wM3ULbd9j48VQlyp2ufAf4+UUd2dXAiBHIrioPe60E4Y9JjGUedV4upgRXbki9IqI4QJ9JjYwMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2539625},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"c4f415047c543fb80032eb04d26b4efcda90568c","scripts":{"test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.8.2","description":"--- title: Declarative unit testing ---","directories":{},"_nodeVersion":"20.18.1","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","eslint":"latest","globals":"latest","typedoc":"^0.25.12","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.16_1735125225288_0.18028705923915433","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"htest.dev","version":"0.0.17","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.17","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/leaverou/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"1c040ed805d56a5326b8f07d36dea6ffde6a927e","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.17.tgz","fileCount":60,"integrity":"sha512-/kFSxuGAuit0ByVBz2gSZXqUn7S/h/voMItMdm4MZznnB0wUeqGh+PIEeMfnt+1HFSKoLyKxSMInnJEJQKRI9Q==","signatures":[{"sig":"MEQCIEd7EqkiGnRI1yERy6jHXZ1lu5u6KnXJcRPskitsdhl0AiAS8DZz+ELXOfuHOChZlbR29nDQFOWtQFKlKbbYz09rPA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2540084},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"49491de3b427355dbe54c63e14a6e743cb01a544","scripts":{"test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/leaverou/htest.git","type":"git"},"_npmVersion":"10.9.0","description":"--- title: Declarative unit testing ---","directories":{},"_nodeVersion":"22.12.0","dependencies":{"glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","eslint":"latest","globals":"latest","typedoc":"^0.25.12","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.17_1736270588072_0.8981976659478068","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"htest.dev","version":"0.0.18","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.18","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"b5a861b479734a78a37bd0e216e3a5675bcc061d","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.18.tgz","fileCount":58,"integrity":"sha512-0tgQDqVnlkVLHDQ0bh92MlwU+Ch6wsgVbk51apihq3SlvvMEeZLykJRZaAdpFVpVDwYLzvwDlkrjsd1mYK8vrg==","signatures":[{"sig":"MEYCIQCmxDv9/hbFAVl7NTBn9Vp+tXMYFJ3nMyfZDdGeKnai4gIhAPBGai7ge3puNfpBr18T3gptb4MdF30nElerAa0qVjz8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2568427},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"9ad8883ce94affc92a2d6c408e79e09bc8fafeac","scripts":{"test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.4.1","description":"<header class=\"readme-only\">","directories":{},"_nodeVersion":"22.14.0","dependencies":{"diff":"^7.0.0","glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","eslint":"latest","globals":"latest","typedoc":"^0.27","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.18_1749726391134_0.8765993347408625","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"htest.dev","version":"0.0.19","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.19","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"d764b69ed17f4271f2bd132686aeee9a54c456dd","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.19.tgz","fileCount":59,"integrity":"sha512-YSSpjUwsO/4Z9kHkjE2k5bWShc7pNoVp9Kh8i9qTsd0SO/hGZFYOjrnkO6KbQE1Xi17j60/iEnNBpaCl/aOuwg==","signatures":[{"sig":"MEUCIC0IjthxNlJdoA5MRr9VqRIqBYHVK8qzA5iZ4TGgSTsAAiEA+Tx7NB8mv6DNX+Ckv7yq1lFotVq+LIyGj6WrS5bQS8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2573161},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"4beeb9060d3f56b143222bb22c5956f3369b6b70","scripts":{"test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","actor":{"name":"dmitrysharabin","type":"user","email":"dmitrysharabin@gmail.com"},"email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.4.1","description":"<header class=\"readme-only\">","directories":{},"_nodeVersion":"22.14.0","dependencies":{"diff":"^7.0.0","glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","eslint":"latest","globals":"latest","typedoc":"^0.27","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.19_1750345364991_0.052941079565724136","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"htest.dev","version":"0.0.20","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.20","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"5c6e3f9db56f58fd4e319e95209eed06851c4af8","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.20.tgz","fileCount":59,"integrity":"sha512-dnFyfSVlpMSViGST/dqnmT+rexbO1Nm2chP376rbs5CPHvjbcyJM96O+WW9N0UvuElrVdR8yanzmSAAV2F5SgA==","signatures":[{"sig":"MEUCIDw2/5skFli0wtowvNlA8IjLZPd/pF+0PoU++AyWbeqIAiEAg/AIDVqslwN5qcx3ArzM2irCMV1zC7r8QPShPV5u0Os=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2574063},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"1738853f203f3ec35eeb029b7989102e8bfe7179","scripts":{"test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.6.0","description":"<header class=\"readme-only\">","directories":{},"_nodeVersion":"22.14.0","dependencies":{"diff":"^7.0.0","glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","eslint":"latest","globals":"latest","typedoc":"^0.27","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.20_1760438667038_0.611261968713702","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"htest.dev","version":"0.0.21","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.21","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"d8113f4ee99af26c3c88163fd783e574370a109e","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.21.tgz","fileCount":59,"integrity":"sha512-pKUMuxthS+8KYeWt/micCTZRwQ0/A4gZkiVCpmU1Bic0KaHGlsr1T79ZPPAz01RII22WymGpXZ9sqmnO6bDnag==","signatures":[{"sig":"MEQCIC1IaZlh+vPD0qHjJyn5mmzsI3Q7RH0bQPO1VkRGKeGEAiAelEbeyxyUfuK/Gg2BBedAzNLtTT3Y5xGi8ilEn0JThw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2574833},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"78eb5af1438af10d53555119981a73440fb79b09","scripts":{"dev":"npx @11ty/eleventy --config=_build/eleventy.js --serve","test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.6.0","description":"<header class=\"readme-only\">","directories":{},"_nodeVersion":"22.14.0","dependencies":{"diff":"^8.0.3","glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","eslint":"latest","globals":"latest","typedoc":"^0.27","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.21_1768501737763_0.35961851893175356","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"htest.dev","version":"0.0.22","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.22","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"92795ae177ae0d9aa9eb9a288bc2e7908a230aa5","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.22.tgz","fileCount":61,"integrity":"sha512-7dZyOIJk8rPQaDDn46HE16gGp+7NieMtgdgFdKiFm0NSA+a+JxJ3dPYsPa9t3vqS2mRlNpDpdYGTxjXl8oD/cA==","signatures":[{"sig":"MEYCIQDGYZ2lf+IfJ8FHrLsraHmx+1fQt2gXTWYGXRt8QaCmewIhAKdTjiO7hyAF7ubaPqfHzEZDUP93tDmxcPTvatsY7OOY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2576733},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"b99dd2baeb9c8ef2697d64ae3496e0e6c7beaa72","scripts":{"dev":"npx @11ty/eleventy --config=_build/eleventy.js --serve","test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.6.2","description":"<header class=\"readme-only\">","directories":{},"_nodeVersion":"24.13.0","dependencies":{"diff":"^8.0.3","glob":"^10.3.10","log-update":"^6.0.0","oo-ascii-tree":"^1.91.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.3.0","eslint":"latest","globals":"latest","typedoc":"^0.27","release-it":"latest","@11ty/eleventy":"^3.0.0-alpha.5","markdown-it-attrs":"^4.1.6","markdown-it-anchor":"^8.6.7","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.22_1772556940982_0.3178259970034163","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"htest.dev","version":"0.0.23","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.23","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"392b4a5838283626ec056a67fcccd751d63abd92","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.23.tgz","fileCount":27,"integrity":"sha512-nU7Ie1VbxUkx5Rg8LrfH0O5/xpHpNc9r18QTnd7ZIL0KIuGOgVSrfgaE62tQMprOahtzdD+oBAQ27HWcRhS3GA==","signatures":[{"sig":"MEQCIFE4iBrOxKPoYMz2bzJkAPTXooVL+2PbGLbt7JVWeD7BAiBpn6IFwWpP+ao6TUa4C10gbnqAjYlKKANeCfhzbs8+eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102109},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"aa62acf2b41f8cfdecaeecf64de9edb26e78f908","scripts":{"dev":"npx @11ty/eleventy --config=_build/eleventy.js --serve","test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"npm login && release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.6.2","description":"Declarative, boilerplate-free unit testing, for everyone","directories":{},"_nodeVersion":"24.13.0","dependencies":{"diff":"^8.0.4","glob":"^13.0.6","log-update":"^6.1.0","oo-ascii-tree":"^1.127.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.6.2","eslint":"latest","globals":"latest","typedoc":"^0.28","release-it":"latest","@11ty/eleventy":"^3.1.5","markdown-it-attrs":"^4.3.1","markdown-it-anchor":"^9.2.0","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.23_1775043931222_0.636988689122266","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"htest.dev","version":"0.0.24","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.24","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"655b96846534658ea3e62d496547099fa3cfa964","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.24.tgz","fileCount":27,"integrity":"sha512-JZRv3SBiiF7BR6NmYgE4Bn7MzNH5rPTwXY8n8a4PbTaRt711AGW58nFaZS2AcTaJVFCAbMQad8kQomXcumYaIg==","signatures":[{"sig":"MEUCIQC1pjkZXAw3XaPQWIakPscR2DJsY6SjTejCfp3j+PAOHwIgHO1h8/pGh7ogEv+XRfhViz5HXn6pPeSN3ERJc3ZqcB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102775},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"f151df5f707b4a1159d38f1cbc6a296bf19e96d2","scripts":{"dev":"npx @11ty/eleventy --config=_build/eleventy.js --serve","test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"npm login && release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.6.2","description":"Declarative, boilerplate-free unit testing, for everyone","directories":{},"_nodeVersion":"24.13.0","dependencies":{"diff":"^8.0.4","glob":"^13.0.6","log-update":"^6.1.0","oo-ascii-tree":"^1.127.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.6.2","eslint":"latest","globals":"latest","typedoc":"^0.28","release-it":"latest","@11ty/eleventy":"^3.1.5","markdown-it-attrs":"^4.3.1","markdown-it-anchor":"^9.2.0","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.24_1775497499142_0.12261760620661577","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"htest.dev","version":"0.0.25","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.25","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"9100b3eef435a0e66ad814f09e3da0f2626f1a96","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.25.tgz","fileCount":29,"integrity":"sha512-MMN6oztaDQN1OqE1q4EERqPPB7tXf+dDFnv2tYTd/b12EA6StvoUYfh6D+ei8QoqDS872NZw/yXyvnWde/C+wg==","signatures":[{"sig":"MEYCIQDbSDUYkCVKcAGTAjQIJaIknxop3QLro9rpxw/LXaRebQIhAMfZMI7EcsN0Jcmq02x00hojMsZ9bU76RzKAMyTWehD0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118520},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"94d4eedbc90d796a426efbdffa2e8d16de6d11df","scripts":{"dev":"npx @11ty/eleventy --config=_build/eleventy.js --serve","test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"npm login && release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.6.2","description":"Declarative, boilerplate-free unit testing, for everyone","directories":{},"_nodeVersion":"24.13.0","dependencies":{"diff":"^8.0.4","glob":"^13.0.6","log-update":"^6.1.0","oo-ascii-tree":"^1.127.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"latest","globals":"latest","typedoc":"^0.28","release-it":"latest","@11ty/eleventy":"^3.1.5","markdown-it-attrs":"^4.3.1","markdown-it-anchor":"^9.2.0","eleventy-plugin-toc":"^1.1.5","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.25_1779388453053_0.25759089552097136","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"htest.dev","version":"0.0.26","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.26","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"b4654de4cd6b2fa7d0d98e27f16eb864ee55b067","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.26.tgz","fileCount":29,"integrity":"sha512-fAMmGb5KJF2pcMgiUQAS6fsDntJZk7sNyzDsvj0xDRNIZ7nMcZAq7hu64NyGQ0B1yMu4DUHFxm8v9oCxtr2nZg==","signatures":[{"sig":"MEQCIAXD9IrmBXEZ0mg+SO+44YvKPW694SEm2DLzmFD00cbMAiBj6aJW3IzI7p9rCzUg/cjD2EiGd971F7hICvb5tUVm5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128858},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"2b86bc2aede8d67dc0ee1d06940d7c085167a148","scripts":{"dev":"npx @11ty/eleventy --config=_build/eleventy.js --serve","test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"npm login && release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.6.2","description":"Declarative, boilerplate-free unit testing, for everyone","directories":{},"_nodeVersion":"24.13.0","dependencies":{"diff":"^8.0.4","glob":"^13.0.6","log-update":"^6.1.0","oo-ascii-tree":"^1.127.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"latest","globals":"latest","typedoc":"^0.28","prettier":"^3.8.3","release-it":"latest","@11ty/eleventy":"^3.1.5","markdown-it-attrs":"^4.3.1","markdown-it-anchor":"^9.2.0","eleventy-plugin-toc":"^1.1.5","prettier-plugin-merge":"^0.10.1","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^1.0.5","prettier-plugin-brace-style":"^0.10.1","prettier-plugin-space-before-function-paren":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.26_1780151226291_0.3258352735166059","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"htest.dev","version":"0.0.27","keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","_id":"htest.dev@0.0.27","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"homepage":"https://htest.dev","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"bin":{"htest":"bin/htest.js"},"dist":{"shasum":"78f61e5615a63f7fc63e167a727059f919e7dfb9","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.0.27.tgz","fileCount":29,"integrity":"sha512-cMbrnBEaQC/HsNcj6V1rWiG9muhKrK99stT6c867ESewaYGgo6/JSCgRQNmtinwFmyacwjDvzjGz0mIEITF3UA==","signatures":[{"sig":"MEQCIGN1z3PyzvsiV/WtlNiNpBNuWYxr5/eW/FXzm4CzPDKGAiAQPGIIxeNfzJOZ6XhIQ6mGUkR+gfqfobnarRgW10fyVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129703},"type":"module","exports":{".":{"import":"./src/index.js"},"./env":{"import":"./src/env/index.js"},"./map":{"import":"./src/map.js"},"./check":{"import":"./src/check.js"}},"gitHead":"1a9543a9949b338c4052525ed7d1c57d9bd7ff0b","scripts":{"dev":"npx @11ty/eleventy --config=_build/eleventy.js --serve","test":"bin/htest.js tests/index.js","build":"npm run build:docs && npm run build:html","watch":"npm run watch:html","eslint":"npx eslint .","release":"npm login && release-it","build:docs":"npx typedoc","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","eslint:fix":"npx eslint . --fix","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch"},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"repository":{"url":"git+https://github.com/htest-dev/htest.git","type":"git"},"_npmVersion":"11.6.2","description":"Declarative, boilerplate-free unit testing, for everyone","directories":{},"_nodeVersion":"24.13.0","dependencies":{"diff":"^8.0.4","glob":"^13.0.6","log-update":"^6.1.0","oo-ascii-tree":"^1.127.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"latest","globals":"latest","typedoc":"^0.28","prettier":"^3.8.3","release-it":"latest","@11ty/eleventy":"^3.1.5","markdown-it-attrs":"^4.3.1","markdown-it-anchor":"^9.2.0","eleventy-plugin-toc":"^1.1.5","prettier-plugin-merge":"^0.10.1","@stylistic/eslint-plugin":"latest","@11ty/eleventy-navigation":"^1.0.5","prettier-plugin-brace-style":"^0.10.1","prettier-plugin-space-before-function-paren":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/htest.dev_0.0.27_1780347473106_0.1727329376476887","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"htest.dev","version":"0.1.0","description":"Declarative, boilerplate-free unit testing, for everyone","scripts":{"test":"bin/htest.js tests/index.js","build:html":"npx @11ty/eleventy --config=_build/eleventy.js","watch:html":"npx @11ty/eleventy --config=_build/eleventy.js --watch","build":"npm run build:docs && npm run build:html","build:docs":"npx typedoc","watch:docs":"npx typedoc --watch --preserveWatchOutput","watch":"npm run watch:html","dev":"npx @11ty/eleventy --config=_build/eleventy.js --serve","eslint":"npx eslint .","eslint:fix":"npx eslint . --fix","release":"npm login && release-it"},"type":"module","exports":{".":{"import":"./src/index.js"},"./check":{"import":"./src/check.js"},"./map":{"import":"./src/map.js"},"./env":{"import":"./src/env/index.js"}},"bin":{"htest":"bin/htest.js"},"repository":{"type":"git","url":"git+https://github.com/htest-dev/htest.git"},"keywords":[],"author":{"name":"Lea Verou"},"license":"MIT","bugs":{"url":"https://github.com/htest-dev/htest/issues"},"homepage":"https://htest.dev","devDependencies":{"@11ty/eleventy":"^3.1.6","@11ty/eleventy-navigation":"^1.0.5","@stylistic/eslint-plugin":"latest","eleventy-plugin-toc":"^1.1.5","eslint":"latest","globals":"latest","markdown-it-anchor":"^9.2.0","markdown-it-attrs":"^4.3.1","prettier":"^3.8.4","prettier-plugin-brace-style":"^0.10.1","prettier-plugin-merge":"^0.10.1","prettier-plugin-space-before-function-paren":"^0.1.0","release-it":"latest","typedoc":"^0.28.19"},"dependencies":{"ansi-escapes":"^7.3.0","diff":"^8.0.4","glob":"^13.0.6","oo-ascii-tree":"^1.136.0","string-width":"^8.2.1"},"gitHead":"6df7652800171fec9f8bceebde9f7bc34b7f6a85","_id":"htest.dev@0.1.0","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-BPpPd0vWnOdKZUPAU3vGepmkfwJk2h1thL0ByLzic2WnS+Rkdx41kNYTqMD7JQbHb606EIOQXRdQEDLVNMVX0w==","shasum":"9b3e47a687e1f3ad74702864170010c6fe7aef09","tarball":"https://registry.npmjs.org/htest.dev/-/htest.dev-0.1.0.tgz","fileCount":30,"unpackedSize":143893,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCCPv9fsmwrOCFR1lmIiwm1J4LBh4IzUaTEcJJElFb8kAIhAPklMzPDDnfIYhUgK+kFpqoO+o5Xx6y2hSyA8g7mZlav"}]},"_npmUser":{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"},"directories":{},"maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/htest.dev_0.1.0_1781874194096_0.07943302564787214"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-30T23:19:52.055Z","modified":"2026-06-19T13:03:14.341Z","0.0.2":"2023-10-30T23:19:52.263Z","0.0.3":"2023-10-31T13:57:31.858Z","0.0.4":"2023-11-01T19:05:39.322Z","0.0.5":"2023-11-04T08:37:43.914Z","0.0.6":"2023-11-10T23:50:10.754Z","0.0.7":"2023-11-13T20:37:43.763Z","0.0.8":"2023-11-13T20:51:18.773Z","0.0.9":"2023-11-28T20:45:29.347Z","0.0.10":"2024-03-05T16:11:17.362Z","0.0.11":"2024-03-11T16:15:47.039Z","0.0.12":"2024-03-14T04:00:50.285Z","0.0.13":"2024-05-23T17:43:19.646Z","0.0.14":"2024-05-26T16:07:26.227Z","0.0.15":"2024-06-19T12:06:33.076Z","0.0.16":"2024-12-25T11:13:45.570Z","0.0.17":"2025-01-07T17:23:08.498Z","0.0.18":"2025-06-12T11:06:31.417Z","0.0.19":"2025-06-19T15:02:45.263Z","0.0.20":"2025-10-14T10:44:27.281Z","0.0.21":"2026-01-15T18:28:57.988Z","0.0.22":"2026-03-03T16:55:41.202Z","0.0.23":"2026-04-01T11:45:31.361Z","0.0.24":"2026-04-06T17:44:59.289Z","0.0.25":"2026-05-21T18:34:13.191Z","0.0.26":"2026-05-30T14:27:06.429Z","0.0.27":"2026-06-01T20:57:53.281Z","0.1.0":"2026-06-19T13:03:14.224Z"},"bugs":{"url":"https://github.com/htest-dev/htest/issues"},"author":{"name":"Lea Verou"},"license":"MIT","homepage":"https://htest.dev","keywords":[],"repository":{"type":"git","url":"git+https://github.com/htest-dev/htest.git"},"description":"Declarative, boilerplate-free unit testing, for everyone","maintainers":[{"name":"leaverou","email":"lea@verou.me"},{"name":"dmitrysharabin","email":"dmitrysharabin@gmail.com"}],"readme":"<header class=\"readme-only\">\n\n# <img src=\"assets/images/logo.svg\" class=\"logo\" width=\"22\"> **h**Test\n\nDeclarative, boilerplate-free unit testing, for everyone.\n\nhttps://htest.dev\n<hr class=\"readme-only\" />\n</header>\n\n<nav class=\"sidebar\" id=\"main-contents\">\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [What the hTest?](#what-the-htest%3F-do-we-really-need-another-unit-testing-framework%3F)\n- [Interactive CLI](#interactive-cli-output)\n- [AI Agent Integration](#ai-agent-integration)\n- [Roadmap](#roadmap)\n- [hTest in the wild](#htest-in-the-wild)\n\n</nav>\n\n<main>\n\n## Features at a glance\n\n- <span>✅</span> **Friendly**: Never used a unit test framework before? No problem! hTest is designed to be as friendly as possible to newcomers.\n- <span>✅</span> **Declarative**: Write your tests as nested object literals, with nice, readable syntax.\n- <span>✅</span> **Flexible**: You decide where your tests live, across how many files, and how they’re grouped. Anything you can `import`, you can test.\n- <span>✅</span> **Boilerplate-free**: Any commonalities between tests only specified once on the parent, and inherited. Anything that can be optional, is.\n- <span>✅</span> **Quick to write**: Most tests only need two properties: `args` and `expect`. No more excuses for not testing your utility functions!\n- <span>✅</span> **ESM-first**: Written in ESM from the get-go.\n- <span>✅</span> **CLI and browser**: Run your tests in the command line, in the browser, or both.\n- <span>✅</span> **CI-ready**: Fully compatible with continuous integration and automated test running processes.\n- <span>✅</span> **Jump to source**: Open a failing test's source file directly from the interactive CLI.\n- <span>✅</span> **Watch mode**: Tests re-run automatically when source files change. No manual restart needed.\n- <span>✅</span> **Configurable**: Use a config file for setup scripts, CLI flags, and shared options across your test suite.\n- <span>✅</span> **Optional HTML-first mode**: Working on UI-heavy code? Write tests in HTML, with reactive evaluation and mock interactions!\n- <span>✅</span> **AI-agent friendly**: Ships with a [`SKILL.md`](SKILL.md) reference for AI coding agents — teach Claude Code, Cursor, Copilot, and others to write hTest tests correctly.\n\n## Installation\n\n```sh\nnpm install htest.dev\n```\n\n## Quick start\n\nSuppose you have written a utility function `sum()` that takes a variable number of arguments and adds them together.\nTesting it could be as simple as:\n\n```js\nimport { sum } from \"../src/util.js\";\n\nexport default {\n\trun: sum,\n\ttests: [\n\t\t{\n\t\t\targ: 1,\n\t\t\texpect: 1\n\t\t},\n\t\t{\n\t\t\targs: [1, 2, 3],\n\t\t\texpect: 6\n\t\t},\n\t\t{\n\t\t\targs: [],\n\t\t\texpect: undefined\n\t\t}\n\t]\n}\n```\n\nYes, **that’s really it**!\nYou can add `name`, `description` and other metadata if you want, but you don’t have to.\n\nBut the real power of hTest is in its nested structure.\nSuppose we wanted to add more tests for `sum()`, e.g. for the case where you’re summing with `NaN`.\nWe can abstract away the commonality between these tests, and write them as a nested object:\n\n```js\nimport { sum } from \"../src/util.js\";\n\nexport default {\n\trun: sum,\n\ttests: [\n\t\t{\n\t\t\targ: 1,\n\t\t\texpect: 1\n\t\t},\n\t\t{\n\t\t\targs: [1, 2, 3],\n\t\t\texpect: 6\n\t\t},\n\t\t{\n\t\t\targs: [],\n\t\t\texpect: undefined\n\t\t},\n\t\t{\n\t\t\tname: \"With NaN\",\n\t\t\trun (...args) {\n\t\t\t\treturn sum(NaN, ...args);\n\t\t\t},\n\t\t\texpect: NaN,\n\t\t\ttests: [\n\t\t\t\t{\n\t\t\t\t\targs: [1, 2, 3],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\targs: [],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\targs: [NaN]\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n}\n```\n\nNow let’s suppose these NaN tests grew too much to be maintained in a single file. You can just move them whenever you want, and import them:\n\n```js\nimport { sum } from \"../src/util.js\";\nimport NaNTests from \"./sum-nan.js\";\n\nexport default {\n\trun: sum,\n\ttests: [\n\t\t{\n\t\t\targ: 1,\n\t\t\texpect: 1\n\t\t},\n\t\t{\n\t\t\targs: [1, 2, 3],\n\t\t\texpect: 6\n\t\t},\n\t\t{\n\t\t\targs: [],\n\t\t\texpect: undefined\n\t\t},\n\t\tNaNTests\n\t]\n}\n```\n\nOf course this is a rather contrived example, but it showcases some of the essence of hTest.\n\n## What the hTest? Do we really need another unit testing framework?\n\nUnit testing is hard enough as it stands — the more friction in writing tests, the fewer get written.\n**hTest** is a unit testing framework that focuses on making it as quick and painless as possible to write tests.\nForget nested function calls with repetitive code.\nhTest aims to eliminate all boilerplate, so you can focus on writing the actual tests.\n\n\n\nhTest can be used in one of two ways: [JS-first](docs/define/js/) or [HTML-first](https://html.htest.dev/).\n\n<table>\n<thead>\n<tr>\n<th>\n\nJS-first mode\n</th>\n<th>\n\nHTML-first mode\n</th>\n</tr>\n</thead>\n\t<tbody>\n\t\t<tr>\n\t\t\t<td>\n\nWrite your tests in nested object literals, and you can [run them either in Node](docs/run/node) or [in the browser](docs/run/html).\nTests inherit values they don’t specify from their parents, so you never have to repeat yourself.\n</td>\n<td>\n\nWrite your tests in HTML files and run them only in the browser.</td>\n<tr>\n<td>\n\n* More suitable for pure JS code.\n* Compatible with CI and other automated test running processes.\n* Code must be compatible with Node to use the Node test runner.\n\n</td>\n<td>\n\n* More suitable for UI-heavy code.\n* Pass-criteria extends beyond value matching or error catching, and could even be things like what CSS selectors match or what the DOM looks like.\n* Reactive evaluation: if the HTML changes or the user interacts with the UI, relevant tests are re-evaluated.\n* Mock interactions like click or focus with HTML attributes.\n\n</td>\n</tr>\n\t</tbody>\n</table>\n\nYou can even mix and match the two modes in the same testsuite!\nE.g. even a UI-heavy library has many JS-only functions that are better tested via JS-first tests.\n\n## Interactive CLI output\n\n![Sample terminal output](assets/images/terminal-output.png)\n\nThe CLI output with test results is built as an _interactive tree_ that starts collapsed but can be navigated and expanded with the keyboard. Messages written to the console while the test suite runs are preserved and part of the corresponding test results.\n\n<video controls>\n\t<source src=\"assets/videos/interactive-cli.mp4\" type=\"video/mp4\" />\n</video>\n\n### Supported keys and keyboard shortcuts\n\n- <kbd>↑</kbd> — “Go Level Up”\n- <kbd>↓</kbd> — “Go Level Down”\n- <kbd>→</kbd> — “Expand Group”\n- <kbd>←</kbd> — “Collapse Group.” Consecutively press <kbd>←</kbd> to collapse the current group first, then the parent group, then the grandparent group, and so on.\n- <kbd>Ctrl</kbd>+<kbd>↑</kbd> — “Go to the First Child of a Group”\n- <kbd>Ctrl</kbd>+<kbd>↓</kbd> — \"Go to the Last Child of a Group\"\n- <kbd>Ctrl</kbd>+<kbd>→</kbd> — \"Expand Subtree\" (starting from the current group)\n- <kbd>Ctrl</kbd>+<kbd>←</kbd> — \"Collapse Subtree\" (including the current group)\n- <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>→</kbd> — \"Expand All\"\n- <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>←</kbd> — \"Collapse All\"\n- <kbd>o</kbd> — \"Open Source File\" of the current group (or <kbd>Cmd</kbd>/<kbd>Ctrl</kbd>+click the displayed path in supporting terminals)\n- <kbd>h</kbd> — \"Toggle Help\" — show/hide the full keyboard shortcut reference\n- <kbd>r</kbd> — \"Re-run All Tests\", picking up changes to test files and the source they import\n\n## AI Agent Integration\n\nhTest ships with a [`SKILL.md`](SKILL.md) ([read online](skill/)) — a comprehensive reference that teaches AI coding agents how to write hTest tests correctly.\n\nThe easiest way to install it is via the [`skills`](https://github.com/vercel-labs/skills) CLI, which supports 45+ agents (Claude Code, Cursor, Copilot, Gemini CLI, Codex, Windsurf, and many more):\n\n```sh\nnpx skills add htest-dev/htest\n```\n\n<details>\n<summary>Manual installation</summary>\n\nAfter installing hTest, the file is available at `node_modules/htest.dev/SKILL.md`. Copy it to the right location for your agent:\n\n### Claude Code\n\n```sh\ncp node_modules/htest.dev/SKILL.md ~/.claude/skills/htest.md\n```\n\n### Cursor\n\nCreate `.cursor/rules/` if it doesn't exist yet, then copy:\n\n```sh\nmkdir -p .cursor/rules\ncp node_modules/htest.dev/SKILL.md .cursor/rules/htest.mdc\n```\n\n### GitHub Copilot\n\nCreate `.github/` if it doesn't exist yet, then append:\n\n```sh\nmkdir -p .github\ncat node_modules/htest.dev/SKILL.md >> .github/copilot-instructions.md\n```\n\n### Windsurf\n\n```sh\ncat node_modules/htest.dev/SKILL.md >> .windsurfrules\n```\n\n### Codex (OpenAI)\n\n```sh\ncat node_modules/htest.dev/SKILL.md >> AGENTS.md\n```\n\n### Gemini CLI\n\n```sh\ncat node_modules/htest.dev/SKILL.md >> GEMINI.md\n```\n\n</details>\n\n## Roadmap\n\nhTest is still a work in progress, but is stable enough to be used in production.\nIt was soft launched in Q4 2023, but has been in use since 2022 (2017 if you count its early precursor — though that only included the HTML syntax).\n\nThe main things that still need to be done before launch are:\n* Improve documentation — this is top priority, people keep asking for things that are already possible because they’re not documented well!\n* Ensure we're not missing essential use cases\n\nAny help with these would be greatly appreciated!\n\n## hTest in the wild\n\n### JS-first testsuites\n\n* [Color.js](https://colorjs.io/test/) [\\[source\\]](https://github.com/color-js/color.js/tree/main/test)\n* [vᴀꜱᴛly](https://vastly.mavo.io/test/) [\\[source\\]](https://github.com/mavoweb/vastly/tree/main/test)\n\n### HTML-first testsuites\n\n#### Testsuites\n\n* [Color.js old testsuite](https://colorjs.io/tests/)\n* [Mavo](https://test.mavo.io) (using a precursor of hTest)\n\n#### Single page tests\n\n* [Parsel](https://parsel.verou.me/test.html)\n* [Stretchy](https://stretchy.verou.me/test.html)\n\n</main>\n","readmeFilename":"README.md"}