{"_id":"@asymmetric-effort/nogginlessdom","_rev":"22-c9e0f88c3469722ea11841198dda7809","name":"@asymmetric-effort/nogginlessdom","dist-tags":{"latest":"0.0.28"},"versions":{"0.0.1":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.1","keywords":["testing","test-runner","dom","jsdom","vitest","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.1","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"e6050e66da260d49ea9c8d2bcdcdbc14d807dffe","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.1.tgz","fileCount":3,"integrity":"sha512-PC+h+AfKbmzRFzzlppsRKnhx7OoTdmMVcgkoxKDjNQos3/0WgSbxNErkxMIOnak9AkW+m6baNZq2CgzZRSlZLg==","signatures":[{"sig":"MEUCIQD2koEcdU9UmPUN2P/30dbwinl/1ubew3XQOZ20XacAmQIgHcxlp0n1sNl13hQisAXDO1coUWWMsfoJwYKTRyXI7Tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2618},"main":"build/index.js","type":"module","types":"build/index.d.ts","exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"53ae86a3af3a56b1a4c6277c5523b757c4e24b75","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.6.2","description":"A zero-dependency testing framework with vitest and jsdom feature parity, built on node:test and node:assert","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","prettier":"^3.0.0","bun-types":"latest","yaml-lint":"^1.7.0","typescript":"^5.5.0","markdownlint-cli":"^0.43.0","@prantlf/jsonlint":"^16.0.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.1_1778881366067_0.693675492793403","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.5","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.5","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"3df12dafdaab71d5dfa6610f88653efafb1e426c","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.5.tgz","fileCount":48,"integrity":"sha512-NAO2vY5T0vdPGl8b21+z8nB5aJy4cYngCwsnhjjMl7+iwYbeMGXSpqMZVISd6D+uSCdYpphtYshLpUguTFLfQA==","signatures":[{"sig":"MEQCIHht58XUwRg5yVp8Wrv6xPG46RMWgdDSMZGV90BBh6e6AiBgjaYc0S+h52ynRI+TPszFdmiU3iZUQPvaQQj5XmY0rQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182252},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"c3eb2537721d937822e4915f299e67eb5be50655","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.14.1","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.2","@asymmetric-effort/yamllint":"^0.0.3","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.5_1778961545529_0.9774469090659046","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.6","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.6","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"8a9eb66d0e5a7e3ee2d8f2cd8661ce160f7e2512","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.6.tgz","fileCount":78,"integrity":"sha512-8ysIQNyg9JF9WmqsYKibPLY0AhXZPJ12HMZgLs7Dg/GUgVXnmOYU+f8NBkgVBYA7SAk7feyWCEIbk8klB1LWlw==","signatures":[{"sig":"MEYCIQDS8oYnSMMDjoJ7hiXRAFvQBffbw4Ofv5WVMqnsdV336wIhAKMgsdLxwM1i5alZIfWw0M5wLypKyeA/55oB0x82QTAk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247856},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"0c3dd76cadf8c8adfb7ef8fd2b6a9ebbdf2c7694","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.6_1779466042821_0.2336934006399729","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.7","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.7","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"680754aa2604a412b44c51aa161bb4f592f66b35","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.7.tgz","fileCount":90,"integrity":"sha512-Kq9j4DHnwODwHcTXDtFhxZ7QlJEBOwHJJG6QYFKkR2i1pDQcVKAbtRy0V5XB8xsL4wLdMPozbjmpyeGuCkkIDg==","signatures":[{"sig":"MEUCIQDahWxNxBkyIX4bYWgcPiHYahKzZ8WMOnxlVmeb6uv0hwIgTlDU4vWYvPHZyh1cL1G74eiU344RvxWHF1oxRT8FiJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":322571},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"b41b9cf31f0570b1a3a7e3f809c8d5b0d1ba6483","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.7_1779468489905_0.17139756819958163","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.8","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.8","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"aba923ffb25df324dc73f84450adbb9eb38f171b","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.8.tgz","fileCount":96,"integrity":"sha512-iJ7IE1aT7ftPFdAA+WMJQhvbk2UDuuLPXOS5Cy0tQZveXcTkCZP1j7OivIF0jdWMQ/bRwW3VqYyuAePBISV7pA==","signatures":[{"sig":"MEUCIE1kVQVit0gsy0cSZk3oybxU+8KAaN9OkivmjRA8PrqoAiEAk07j5gwQbvCcC6XzKaxiuDvWCsn8cxTAG0HhDD7w9Mo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":391076},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"b9ba54911cb9b8f48b27b8ec77294dc6f641b090","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.8_1779470747538_0.5026719806007967","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.9","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.9","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"cfcc4f461311f3f47b10495bfde69a6b6acdec0b","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.9.tgz","fileCount":104,"integrity":"sha512-E72CtOn3MNAlPp4QBRLIupnaWAlvD/bdT6AnAc8PXSojtjKhr2S1COVlqUiSof0+0aVvrgSehVmScH1566UQWQ==","signatures":[{"sig":"MEUCIQCcHQldUbS1JJCm+UlDeYzfXqxM6pp8Qej7uaDUknjYsQIgS/r3SoMw6p+3hnD7PXjaZNX8d6+jGfWx6NasZfL0F3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":406802},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"f894de5616a94dd35354eaaf5b64034b5d3a533d","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.9_1779472136028_0.7162445204217136","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.10","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.10","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"2b21811b25f51a404a2cfda64e8b2f4924eb7601","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.10.tgz","fileCount":108,"integrity":"sha512-feyAsJsZJA4uhgzUXR0nf6Afw8rU/y7oCr0Gf9r+TDH5oKr6zilXEfG/hmzmQoi4EDOSb2k0KRn6jJzQQNgitw==","signatures":[{"sig":"MEUCIDA32eV9wlBrxfu5WYF40GOyyKB41cemb9AvnP8UAHfIAiEA4BLRDz6QcMmvDbxa97Nhuc0Hc/2XQ1cmT8ZpbqUaBTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446849},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"bb8e630d26443ba5c0658da63e14cd0c812b0373","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.10_1779473600753_0.5461695217444515","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.11","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.11","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"6627a6ac7c28aea9ba6648b43bf4928ddc1b4eb2","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.11.tgz","fileCount":112,"integrity":"sha512-nf4/OjMHixsNqWdGgRuwYjoCq1hA+FdNYhW3fMAvdToVH8qJSVfmiWrLyi/WXTVzVuudHt9TFvTgGlOnyyUzaA==","signatures":[{"sig":"MEYCIQDYxD8m7FPBiMJjIzFUG4PDMNWnjNSCZzYqGTQONrELxwIhANeR8k28voAGRO+t8qaxnEvD/+/jG/YvFZmUzYJV2npq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":458739},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"bba58001675b4bcfc3cc1af695b9b931dcef729b","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.11_1779477523001_0.5431931524738207","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.12","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.12","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"95c72e4df2b3a71a748fd27fbd6377cb892792f2","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.12.tgz","fileCount":112,"integrity":"sha512-ORUzleRBPFSdNsWzXdgt5GU6rIriBEa187uOpyqJD1L5onDk+nqu6NLpHdIrPSWCOWixVIZTviqHIfNrJUJ+eA==","signatures":[{"sig":"MEUCIEQpR3LxngvJhtI9rh0z4s2Itl//9nuVD99s1jzdn+ImAiEA9R7vNgi6UweakCWdUj/vw+ZKg/4uPt8EZBnBucPpTK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":470606},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"d164f1671dda319a153994e22b27fb8eb01f4374","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.12_1779482799916_0.4613789619665738","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.13","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.13","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"4a6ce90c0ab0b4c3e6e456c8712c8c841f23c931","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.13.tgz","fileCount":112,"integrity":"sha512-TCoWZ4wY1eqAyCxoLkbJ+z4tEOgxNoFnwpr/pJfw0DKA+ggag2OQuxTeNfI1YcKKp8XSll5dBaO+7Q2BFksCpw==","signatures":[{"sig":"MEYCIQCgkbiHf0IQfbfQbPjoZT7wDCsbaEIX6vPJMTP+zS72pQIhANadBjOrpGZf+hYdpmw0EXcrFUeNL4Bme/m3fuWs3KMH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":487570},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"54697b5ca554dc948c364a48600cfea1b11c35d4","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.13_1779488077258_0.5973789875390199","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.14","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.14","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"dff3712ceb8a056535d8c9c359c03919f326b3e9","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.14.tgz","fileCount":118,"integrity":"sha512-LTypS1jGNwCXIOtvjHvBfLyipLXoVeoYyDyQOwV4ukdwCouHm8JK8kZfmE+na0pAqISUtN9iLUVvT7ARuaeSlw==","signatures":[{"sig":"MEUCIBqvDz/bP3YgtQbqnsdPdyeCtkfLZpTVs12BPFe5e8lFAiEAt0MOKfmg+LGZd1PuSmEff6uIIOBdPOif88Vep195cfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":507718},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"a424a1e0f0526e1fd3be131022242f012727604a","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.14_1779501238376_0.5540491423939515","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.15","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.15","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"89145b44c9f9634bc603820f8f33ccdb6986bcf1","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.15.tgz","fileCount":118,"integrity":"sha512-/6NZ6ddvK6sVhPiP3pNXgOceCvU8uqWFGvkeBBQ7Muu48mGMT61if4hezpHWhPIFQ2YrGP6TTg6JD/hE7VR1XA==","signatures":[{"sig":"MEUCIChkE417tfKsEPmymH328L/Lvt2TvUZAReKcrkHHY1MEAiEAvhVrXIwpAZDBfwkdeivnuTCBCery870uQ4QbX83uWmU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":515086},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"cdfaa3a561cd684dcddca86749d2dd156b43ecbf","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.15_1779502053002_0.597161263902946","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.16","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.16","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"7be24651573791fdcdecb5940e6afb88af983edf","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.16.tgz","fileCount":120,"integrity":"sha512-4/j35+QoE+rNWDTQYwA1W3rxKNvqYLt+uDNXKS9bZ3Ywf8sE6tOeFB0AXMrE3vwjgb8uxZTYKMe/WTGL02agQg==","signatures":[{"sig":"MEUCIQCYlZm7PRHlop/8Gp6QIRqk8MxAJE2ggcasErUkLkdAMwIgGzw4Xa3XXwiVKj64I3FTqgvpYM1I9ptFiYfvCcAKkho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524040},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"a9e1043097eed64aed650c593d12c75ed5c61882","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.0","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.0"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.16_1779502699928_0.010311583828218396","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.19","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.19","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"e1cd51f20f17bb2bda6ff593b5594811f64d9a79","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.19.tgz","fileCount":120,"integrity":"sha512-2FNTjhGwCnjfr77mzbqgBUdJ0KqWQiflqp/n7FiLaFs7qDnbWfcWXb/DUORjSgOlmE16i/ONAN8AX5kaXuhGZQ==","signatures":[{"sig":"MEYCIQCZWg2plGcWATmC9C+NYUgVuM4zbYfCU+tXESPsk9JclgIhALXB4l0Bb5F6bYRhCP86ibcLvZu5Ik6mVsCqeOdTBJ74","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529168},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"2d69e8c34e82b2e16c5db55fc2e903e693f7d376","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.4","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.4"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.19_1779731739069_0.08255036718530961","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.21","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.21","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"649c7bf7bfc9e6d37cb6e787ce641269507cbe84","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.21.tgz","fileCount":120,"integrity":"sha512-kqRI7a2ASOLDqacXRJtj+qv8BrTyeRRdN5OeiTjT3+1VNFenYmfL6Yxne6ydmHFquulkVQ1utHKv0PLKO3qcdA==","signatures":[{"sig":"MEUCIDiyXNoJ6tptu/uaHN6LEcFa7h6jNF7KwWDiIeHHzH+JAiEAumfKGz03JBKQqciDT79zSoTlTNFjOVHlc1KqnHZTw5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":529168},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"7cd241350fb7669b006fed46b81436925d1bb55c","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.15.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"latest","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.4","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.4"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.21_1779732058170_0.3955243768817147","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.22","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.22","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"cab5f4ca44c9419db44f9238cc09b4ab98dedbe7","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.22.tgz","fileCount":120,"integrity":"sha512-jU2l2B6wTAq9HUbDPJH3EVzlxXfhp7uHxQK71jJcPlJNM2TaKL2TIFZMkg6rL+tH2yEf7t+ZTeQp2HlmxsWDZw==","signatures":[{"sig":"MEQCID/lNX+aXt5ZVGc1K1kvJ/lddyhdybuGx0Z/CJpVI5/9AiBC7v7+kPtCd++IwJu3jNH8vdBrl8is0YVIpW/wO86CnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":536571},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"00dc8ad39071140d1d76c03d93c6e10f19e51138","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.16.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"^1.2.0","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.4","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.4"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.22_1780033586243_0.3365883731672432","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.23","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.23","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"1d47f8270f2725f1480f6fb79d2dccca89a58ffc","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.23.tgz","fileCount":148,"integrity":"sha512-r1UCU6zjwaqZZE9pygna/6HV2RbeRXTQoXJu6vSLc5qb0vW+9vorgEBp8Gc/LOkWG2inwdV+uyZeRoGfz7FWXg==","signatures":[{"sig":"MEUCIQDb+WWCzO4XAYCkMmz2zeyHOZOBG469QLOiEci26X1UKgIgNA2jv6YRa7dy8/2sJuLC+20vV1F/n+dw1+W6oJ9fIrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":760581},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"91a440916678b63df6e00c7eef052a08653fe2fc","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.16.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"^1.2.0","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.4","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.4"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.23_1780408243932_0.6292370463777137","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.24","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.24","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"83f860cce6524e1fdc240b165024fcd4ec744ee6","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.24.tgz","fileCount":152,"integrity":"sha512-52JM2vlOqeN+nEEffshiROcm+CwajCtmqA/A7dT2FvIr2OlEPUVSY7Bt64aK2QKfj2y5l95MZtMh1UtUAG7N1A==","signatures":[{"sig":"MEUCIQC3SQLDRyhPkQ6wbdLq1HyxpRseT50JBB4pdEpZYhjW1gIgFODnU1W1DI/B3UFP1wxb1HIKpjKGW6sjR9sMil9fG08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":788201},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"841b379274a04e10933c5872ab4df6f301fca296","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.16.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"^1.2.0","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.4","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.4"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.24_1780416137468_0.18141343696408319","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.25","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.25","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"22677f576e93215e2d190c31d34eda0807d2bfeb","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.25.tgz","fileCount":164,"integrity":"sha512-0EX0HFyms4NZzHPSrR7ZvGWa/kzQcIvVrPRA+uZAv/0hkhLWOFx2PPShO92GcWzRTL3qmGETivY3IkQyhKGoEg==","signatures":[{"sig":"MEQCIGtq+jLYn6uQlWz+aRbqtHMc4ifumMjvPLQIWsJgd8gvAiBsUcBIMatjep+axfcUkxES4J4dglzcUCrfd9qCURSQfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":843942},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"0525012347198f74a8acbb6300e2e8eb6a67864c","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.16.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"^1.2.0","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.59.4","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.4"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.25_1780499772393_0.023703062687954413","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.26","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.26","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"8f0289a03ee0de3734c78355eeee389af2e51237","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.26.tgz","fileCount":164,"integrity":"sha512-aAOTe93bNDyQ1mXdLHs1xpijMSit9DUhsNSG84ermQaMxverK5/hic1AfX3PvZxLyLiBUURODv57KOEeQ3fbkw==","signatures":[{"sig":"MEUCIQCKHEzXDmoZ2TIU3UmUNK4O/Yvx95rmf6/6Ucc0MwuMhwIgEBoEWHd824rHPDG5N2b7OLinOTgNvbKX5KOlvaTUiRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":844101},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"f4dcf335e83e949daf625d2fce81ed1b67486d48","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.16.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"^1.2.0","typescript":"^6.0.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"8.60.1","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.59.4"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.26_1780503667050_0.3905478123403099","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.27","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","_id":"@asymmetric-effort/nogginlessdom@0.0.27","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"dist":{"shasum":"dcc0dd4db2562c17a778a6442b35fc3a2d1d7b2b","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.27.tgz","fileCount":164,"integrity":"sha512-CLKqwQbS4UbQieT1C4k6YlgGhweXiuAya2FIqOdNyBMg5w/F920I83kYk0cLN+e3ifoLSyfnob2iSaJPnfe2dw==","signatures":[{"sig":"MEUCIGJ3hrwP5EOZnOUifk4D+XvI/L16LA+TwaVcFn0s3Dq2AiEAvMviPLUfTD6x8qavih03p/DorgOEKj9zgrzCU/helW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":844101},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"618e1150cb7f988de2fc8d833216f68d818ddb48","scripts":{"lint":"make lint","test":"make test","build":"make build","clean":"make clean","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"repository":{"url":"git+https://github.com/asymmetric-effort/NogginLessDom.git","type":"git"},"_npmVersion":"11.17.0","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","directories":{},"_nodeVersion":"24.17.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","prettier":"^3.0.0","bun-types":"^1.2.0","typescript":"^6.0.0","markdownlint-cli":"0.49.0","@typescript-eslint/parser":"^8.60.1","@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/nogginlessdom_0.0.27_1782536003242_0.4980799497209558","host":"s3://npm-registry-packages-npm-production"}},"0.0.28":{"name":"@asymmetric-effort/nogginlessdom","version":"0.0.28","description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","type":"module","engines":{"node":">=20.0.0"},"main":"build/index.js","types":"build/index.d.ts","exports":{".":{"import":"./build/index.js","types":"./build/index.d.ts"}},"scripts":{"clean":"make clean","lint":"make lint","test":"make test","build":"make build","typecheck":"tsc --noEmit"},"repository":{"type":"git","url":"git+https://github.com/asymmetric-effort/NogginLessDom.git"},"keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","devDependencies":{"@asymmetric-effort/jsonlint":"^0.0.5","@asymmetric-effort/steamroller":"0.2.3","@asymmetric-effort/yamllint":"^0.0.6","@typescript-eslint/eslint-plugin":"^8.60.1","@typescript-eslint/parser":"^8.60.1","bun-types":"^1.2.0","eslint":"^10.0.0","markdownlint-cli":"0.49.0","prettier":"^3.0.0","typescript":"^6.0.0"},"dependencies":{},"gitHead":"ea04201da2bf336a1435736ca0db84ccc5f569f2","_id":"@asymmetric-effort/nogginlessdom@0.0.28","_nodeVersion":"24.17.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-1SOP09xiE63dNpdBeQ+3h+UWb9LoEfQU7o3mXnVKRmN3qHhaeTuMfg7QqD7spBneTRl988n6AdF2jICGjitw2w==","shasum":"179b1c8bb89764ea4290962078e3feeedfd16bc1","tarball":"https://registry.npmjs.org/@asymmetric-effort/nogginlessdom/-/nogginlessdom-0.0.28.tgz","fileCount":170,"unpackedSize":1085420,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fnogginlessdom@0.0.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDaY+mQ9hTjFzBSSXycMtyet1B/jrhUjLrxwlRMOVBjfwIgUriDlrLN2COo85b82+RrdgCFd9qjKUWjnzRIpQrIcyM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb380ece-1a87-46a7-8036-152ca1ac2489"}},"directories":{},"maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nogginlessdom_0.0.28_1782662589051_0.3185489669654531"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-15T21:42:45.686Z","modified":"2026-06-28T16:03:09.528Z","0.0.1":"2026-05-15T21:42:46.282Z","0.0.5":"2026-05-16T19:59:05.693Z","0.0.6":"2026-05-22T16:07:22.978Z","0.0.7":"2026-05-22T16:48:10.041Z","0.0.8":"2026-05-22T17:25:47.713Z","0.0.9":"2026-05-22T17:48:56.202Z","0.0.10":"2026-05-22T18:13:20.891Z","0.0.11":"2026-05-22T19:18:43.150Z","0.0.12":"2026-05-22T20:46:40.076Z","0.0.13":"2026-05-22T22:14:37.408Z","0.0.14":"2026-05-23T01:53:58.514Z","0.0.15":"2026-05-23T02:07:33.191Z","0.0.16":"2026-05-23T02:18:20.083Z","0.0.19":"2026-05-25T17:55:39.220Z","0.0.21":"2026-05-25T18:00:58.334Z","0.0.22":"2026-05-29T05:46:26.394Z","0.0.23":"2026-06-02T13:50:44.196Z","0.0.24":"2026-06-02T16:02:17.707Z","0.0.25":"2026-06-03T15:16:12.574Z","0.0.26":"2026-06-03T16:21:07.311Z","0.0.27":"2026-06-27T04:53:23.374Z","0.0.28":"2026-06-28T16:03:09.221Z"},"bugs":{"url":"https://github.com/asymmetric-effort/NogginLessDom/issues"},"author":{"name":"Asymmetric Effort, LLC"},"license":"MIT","homepage":"https://github.com/asymmetric-effort/NogginLessDom#readme","keywords":["testing","test-runner","dom","dom-simulation","assertions","mocking","zero-dependency","security"],"repository":{"type":"git","url":"git+https://github.com/asymmetric-effort/NogginLessDom.git"},"description":"A zero-dependency testing framework with comprehensive test runner, assertions, DOM simulation, and mocking, built on node:test and node:assert","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"readme":"<!-- markdownlint-disable MD041 -->\n<img src=\"logo.png\" alt=\"NogginLessDom\" width=\"64\" align=\"left\" style=\"margin-right: 12px;\" />\n\n# NogginLessDom\n\nA zero-dependency testing framework built on `node:test` and `node:assert`.\n\n<br clear=\"both\" />\n\nNogginLessDom is a comprehensive testing framework for Node.js that ships a\nfull-featured test runner, assertion library, DOM simulation, mocking\nutilities, code coverage, snapshot testing, and dependency analysis -- all with\n**zero runtime dependencies**. Every algorithm is implemented from scratch\nusing only Node.js built-in modules. No third-party code ships to consumers,\neliminating the supply chain attack surface entirely.\n\n**v0.0.25** -- 80 source files, 28K+ lines of TypeScript, 3100+ tests.\n\n## Key Features\n\n- **Test Runner** -- `describe`, `it`, `test` with `skip`, `only`, `todo`,\n  `concurrent`, `each`, `shuffle`, `retry`, `fails`, `skipIf`, `runIf`,\n  and full lifecycle hooks\n- **30+ Assertions** -- `expect()` with equality, truthiness, type, numeric,\n  string, collection, exception, mock, and snapshot matchers plus `.not`,\n  `.resolves`, `.rejects` modifiers\n- **DOM Simulation** -- `Document`, `Element`, 29 typed HTML elements, 20\n  event types, Shadow DOM, Custom Elements, Observer APIs, SVG, Canvas,\n  IndexedDB, Web Workers, WebSocket, and more\n- **Mocking** -- `fn()`, `spyOn()`, module mocking, fake timers with full\n  `Date` mocking, global/env stubbing, and async utilities\n- **Code Coverage** -- V8 and Istanbul providers, 11 reporters, configurable\n  thresholds, source map support, per-test tracking\n- **Dependency Analysis** -- circular import detection, import depth analysis,\n  unused import detection, dependency graph visualization\n- **Zero Dependencies** -- empty `dependencies` in `package.json`, no\n  transitive `node_modules` to audit\n\n## Quick Start\n\nInstall as a dev dependency:\n\n```bash\nbun add -d @asymmetric-effort/nogginlessdom\n```\n\nCreate a test file (`example.test.ts`):\n\n```typescript\nimport { describe, it, expect } from '@asymmetric-effort/nogginlessdom';\n\ndescribe('Math', () => {\n  it('adds two numbers', () => {\n    expect(1 + 2).toBe(3);\n  });\n\n  it('compares objects deeply', () => {\n    expect({ a: 1, b: [2, 3] }).toEqual({ a: 1, b: [2, 3] });\n  });\n\n  it('checks exceptions', () => {\n    expect(() => {\n      throw new Error('oops');\n    }).toThrow('oops');\n  });\n});\n```\n\nRun the tests:\n\n```bash\nbun test\n```\n\n## DOM Testing\n\nNogginLessDom includes a full DOM simulation. No separate DOM library needed.\n\n```typescript\nimport {\n  describe,\n  it,\n  expect,\n  Document,\n  Event,\n} from '@asymmetric-effort/nogginlessdom';\n\ndescribe('DOM', () => {\n  it('creates and queries elements', () => {\n    const doc = new Document();\n    const div = doc.createElement('div');\n    div.id = 'app';\n    div.className = 'container';\n\n    const paragraph = doc.createElement('p');\n    paragraph.textContent = 'Hello, world!';\n    div.appendChild(paragraph);\n    doc.appendChild(div);\n\n    expect(doc.getElementById('app')).toBeDefined();\n    expect(doc.querySelector('p')?.textContent).toBe('Hello, world!');\n    expect(doc.querySelectorAll('.container')).toHaveLength(1);\n  });\n\n  it('handles events with bubbling', () => {\n    const doc = new Document();\n    const parent = doc.createElement('div');\n    const button = doc.createElement('button');\n    parent.appendChild(button);\n\n    const clicks: string[] = [];\n    parent.addEventListener('click', () => clicks.push('parent'));\n    button.addEventListener('click', () => clicks.push('button'));\n\n    button.dispatchEvent(new Event('click', { bubbles: true }));\n    expect(clicks).toEqual(['button', 'parent']);\n  });\n});\n```\n\n## Mocking\n\nCreate mock functions, spy on methods, and control time:\n\n```typescript\nimport {\n  describe,\n  it,\n  expect,\n  fn,\n  spyOn,\n  useFakeTimers,\n  useRealTimers,\n} from '@asymmetric-effort/nogginlessdom';\n\ndescribe('Mocking', () => {\n  it('tracks mock function calls', () => {\n    const mockFn = fn((x: number) => x * 2);\n    mockFn(3);\n    mockFn(5);\n\n    expect(mockFn).toHaveBeenCalledTimes(2);\n    expect(mockFn).toHaveBeenCalledWith(3);\n    expect(mockFn.mock.results[0]).toEqual({ type: 'return', value: 6 });\n  });\n\n  it('spies on object methods', () => {\n    const obj = { greet: (name: string) => `Hello, ${name}` };\n    const spy = spyOn(obj, 'greet');\n\n    obj.greet('Alice');\n    expect(spy).toHaveBeenCalledWith('Alice');\n    spy.mockRestore();\n  });\n\n  it('controls fake timers', () => {\n    const clock = useFakeTimers();\n    const callback = fn();\n\n    setTimeout(callback, 1000);\n    expect(callback).not.toHaveBeenCalled();\n\n    clock.advanceTimersByTime(1000);\n    expect(callback).toHaveBeenCalledOnce();\n\n    useRealTimers();\n  });\n});\n```\n\n## Code Coverage\n\nEnable coverage in `bunfig.toml`:\n\n```toml\n[test]\ncoverage = true\ncoverageThreshold = { line = 90, function = 90, statement = 90 }\n```\n\nRun tests with coverage:\n\n```bash\nbun test\n```\n\nCoverage data is collected automatically when enabled. The framework supports\nV8 and Istanbul providers with 11 output formats including text, HTML, LCOV,\nCobertura, and more. See the [Configuration Guide](docs/user/configuration.md)\nfor full details.\n\n## Why NogginLessDom?\n\n### Zero Supply Chain Risk\n\nThe `dependencies` field in `package.json` is `{}`. When you install\nNogginLessDom, you get exactly one package with no transitive dependency tree.\nPackage takeovers, typosquatting, and malicious updates in transitive\ndependencies cannot affect your test toolchain.\n\n### Built on Node.js Built-ins\n\nThe test runner wraps `node:test`. Assertions wrap `node:assert`. These are\nbattle-tested modules maintained by the Node.js team, guaranteed to be\navailable in every Node.js >= 20 environment. NogginLessDom adds a familiar\nAPI layer on top without reinventing core functionality.\n\n### Everything in One Package\n\nTest runner, assertions, DOM simulation, mocking, coverage, snapshots, and\ndependency analysis -- all from a single import. No need to install and\nconfigure separate packages for each capability.\n\n### Security by Design\n\nDOM parsing never uses `eval()`, `new Function()`, or dynamic code execution.\nHTML input is validated through deterministic parsing. Path operations include\nsymlink protection and traversal validation.\n\n## Documentation\n\nFull documentation is available in the [`docs/`](docs/) directory:\n\n- [Getting Started](docs/getting-started.md) -- Installation, first test, and\n  core features walkthrough\n- [Installation](docs/user/installation.md) -- All package managers, TypeScript\n  setup, and verification\n- [Configuration](docs/user/configuration.md) -- Test patterns, coverage,\n  reporters, dependency analysis, and environment variables\n- [Architecture](docs/architecture.md) -- Module structure, dependency graph,\n  build pipeline, and security design\n- [API Reference](docs/api/) -- Detailed documentation for every module\n\n## API Overview\n\n| Module          | Key Exports                                                                    | Docs                                      |\n| --------------- | ------------------------------------------------------------------------------ | ----------------------------------------- |\n| **Test Runner** | `describe`, `it`, `test`, lifecycle hooks, `.each`, `.skip`, `.only`, `.retry` | [test-runner.md](docs/api/test-runner.md) |\n| **Assertions**  | `expect()` with 30+ matchers, `.not`, `.resolves`, `.rejects`                  | [assertions.md](docs/api/assertions.md)   |\n| **DOM**         | `Document`, `Element`, 29 HTML elements, 20 event types, `Window`, `Storage`   | [dom.md](docs/api/dom.md)                 |\n| **Mocking**     | `fn`, `spyOn`, `mock`, `vi`, `useFakeTimers`, module mocking                   | [mocking.md](docs/api/mocking.md)         |\n| **Coverage**    | V8 + Istanbul providers, 11 reporters, thresholds, per-test tracking           | [architecture.md](docs/architecture.md)   |\n| **Snapshots**   | `toMatchSnapshot`, `toMatchInlineSnapshot`, custom serializers                 | [assertions.md](docs/api/assertions.md)   |\n\n## Development\n\n```bash\nmake setup          # Install dependencies and git hooks\nmake lint           # Run all linters (markdownlint, eslint, prettier, etc.)\nmake test           # Run unit, integration, and e2e tests\nmake build          # Clean build to build/\n```\n\nRequires Node.js >= 20.0.0.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development workflow, coding\nstandards, and pull request guidelines.\n\n## Security\n\nNogginLessDom has **zero runtime dependencies**, which eliminates the supply\nchain attack surface entirely. See [SECURITY.md](SECURITY.md) for our security\npolicy and vulnerability reporting process.\n\n## License\n\n[MIT](LICENSE.txt)\n","readmeFilename":"README.md"}