{"_id":"@camilaprav/htmlsnap","_rev":"18-6def3bf3e74d734b9648693809f05db5","name":"@camilaprav/htmlsnap","dist-tags":{"latest":"0.0.17"},"versions":{"0.0.0":{"name":"@camilaprav/htmlsnap","version":"0.0.0","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.0","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"e84f61b10265715af8fa41aac4ba3c91f2d9dc8a","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.0.tgz","fileCount":6,"integrity":"sha512-WeXV2XShkGuS7iXd4YjfNx6CQgQBtSDSDRKc9v/vBjt0cpPVM3wq/i+n8eeUrWUO82AJEIHaBIdMHqE7IVQ43g==","signatures":[{"sig":"MEQCIG3FuPomt16Ix/L3kBy5rQu9EA55AVQrZ+K7DtOh82HTAiA1XgGfGCWg5SxYmiEd6z7QmBFKuz1s05UyHLyz6+ie4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9370},"main":"htmlsnap.js","gitHead":"e567bc278c56c1f0a540f7969e73f1a3b39f1439","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.0_1745997792389_0.13717211490216363","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@camilaprav/htmlsnap","version":"0.0.1","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.1","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"d83364c418c698378d2c8591de2f17f35e493539","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.1.tgz","fileCount":6,"integrity":"sha512-ucT2cIxXPpWF/udrMPi0G4zFuvMyxvmhwXdcYSmyHdxejGbnxNgSWz9YdNye4/Vc3PM3Kf/4UEXXVYHaVbcwgw==","signatures":[{"sig":"MEUCIQDhDqnOd4gbwNjrWiWjCEs1AKlCWpthBr40yCasRz4jxQIgc1r7ie8BblEJ28y4JZRgaiCw3ToH7xb+W4iQK4qsjEk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9543},"main":"htmlsnap.js","gitHead":"0a13e270efe68ce532d1285066dfe985d2983ccd","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.1_1745998002005_0.6081895827206041","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@camilaprav/htmlsnap","version":"0.0.2","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.2","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"56a4cd5761559810a90377f43493d8636074b152","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.2.tgz","fileCount":6,"integrity":"sha512-wT4LZO7WLYVUdSKElbRnLE7Ffj/R6SoyuHCivYSjP68BZvZOEwhzdk2DU31QLp4CI+LfeKJLPoej7kIsFT68/Q==","signatures":[{"sig":"MEUCIEvxScczRG0OoW9r6hzhYmpZYFOR8icA0ak3KqEYmWntAiEA7y95jgtnrUh3cDityPqUVFZQvMLzVOeAWCbD+gpWQS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9554},"main":"htmlsnap.js","gitHead":"ba504c79561308fcc477193f98840220738fccda","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.2_1745998524364_0.022498405288156498","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@camilaprav/htmlsnap","version":"0.0.3","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.3","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"71a486e37ebfe7cec28e6e5177dcf4707dfa94d0","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.3.tgz","fileCount":6,"integrity":"sha512-PcodccJcvNL8Pt+bxFWaL2rSLMPMySqc2ECmax5WQbkU62O5vOOD4Ynuu70b37Q1su9CKbxgPI/NxpSjjU+REg==","signatures":[{"sig":"MEUCIQCrtpIJy8BbvtMUq2DyAlzi20f2CtMFJTRk+fMNcPgz7wIgfuvxoA+hQ5zP4kwpdRqy7JWz0nKkcoAxdGkW1KBJNgc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10915},"main":"htmlsnap.js","gitHead":"499a893785658696eec94e819ef80a9d7bc4b7b0","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.3_1747211250471_0.08403231628199004","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@camilaprav/htmlsnap","version":"0.0.4","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.4","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"1e1320257e9b2a9a13674a84511f819fe3bea710","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.4.tgz","fileCount":6,"integrity":"sha512-UInBf60IWHxCaumTe6s+qu0rotsGxEf6DMU2hnGThpPymzyGpAO6IJWie7NGiJbNiP4faaZXd6s7h2anZgichA==","signatures":[{"sig":"MEYCIQDZhmGUEslu/lthr+WEeGYp4czQFMcZ+vCgB7+yskxPlwIhAJb+lZCEOs2GIQHRAddjq0QPoVDHUVPAmUjEtli5WjbV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10915},"main":"htmlsnap.js","gitHead":"edc00e67b726550645600a2813c53e01bf77b762","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.4_1747213095936_0.6437014410064796","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@camilaprav/htmlsnap","version":"0.0.5","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.5","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"ca7555268e362e62c5f6d1a5c841f3bb03433315","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.5.tgz","fileCount":6,"integrity":"sha512-wth8UggoXS76/INhmaKz+OVVSwF/jFtne4zlFud8HBZYITRx76OVd/c4w9O6E1+lu7VQCf0UDgjapSIeu6KJpQ==","signatures":[{"sig":"MEUCIQC5cmbNxrRxmdgrFONIAgmYPKkyrn2CD2gI3nkl5yvE+gIgcsaLXliuWJSqSEDW0DRu+GB2Ov1NwmQii2gFHwzLWOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10884},"main":"htmlsnap.js","gitHead":"cdcd5face56f5e2583fd1dd843a70a1ead8a7115","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.5_1747213468823_0.18659191810742426","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@camilaprav/htmlsnap","version":"0.0.6","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.6","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"ea1e88b296b4062a4381877bc7673f2be106e8ac","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.6.tgz","fileCount":6,"integrity":"sha512-4XzFM+w+04ngEp87t5jQNw9Wncn2qwjTt3nbx7D+zKFLFzeauTDAxFCfmCGPfn6UFtgfNhSRwFBO6R9zcgegdw==","signatures":[{"sig":"MEUCIFYEU1MZ4cCv+sYiWr9JklFHyt6myFpnBNbFdzCniik5AiEA5L+9eeP/hb3qdoBKHtqjefLvy89vM+1SMtuImXaySkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11479},"main":"htmlsnap.js","gitHead":"74da494a73bb3ade659938a77295b54c3f8eafbf","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.6_1747352145362_0.960772483973614","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@camilaprav/htmlsnap","version":"0.0.7","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.7","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"d1974886c0bf60e024f3d6a33af516f689861981","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.7.tgz","fileCount":5,"integrity":"sha512-CtPXG0IAGM21Em/MS/0r39jvrTYj+YK0ZW+Hz1mgD31X596ETwS0aakX1cbRuLlWqRGjTTpLCWOWhHVjRdytLQ==","signatures":[{"sig":"MEQCIAxxh+1WezsjapdzsiuAMJlub6Ujaw57nBHtMdod4lYbAiB2DYzstX5RUR70nSUvOADuJ4kk2yrOI8aQObVL2J0J7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8885},"main":"htmlsnap.js","gitHead":"fd38f80ffb82599ed956075c3eb483678c20dcda","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.7_1747352537012_0.006838556036695476","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@camilaprav/htmlsnap","version":"0.0.8","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.8","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"106aae4a5cf7fe11d2b57143b1123263a1cd6f29","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.8.tgz","fileCount":5,"integrity":"sha512-uP0X6q/MYTlOyGs9gABBNk4toO5q2bHQT5eIAJIlzjv2zK9XoQucPHPOw4kvC8NV/93OyodqZ64LExBTS63qfg==","signatures":[{"sig":"MEYCIQCByk1CERMCtRCXyYvL71n1DLScc1n0/0EhG05+9Ux4DgIhALxHCPkeRo2hCdGdYHweqgIlXnL0eugVbqlemvjWaaV0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8913},"main":"htmlsnap.js","browser":"htmlsnap.js","gitHead":"55bf5baeaf61de33485b44a182da1eacb8086b3c","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.8_1747352719735_0.12360211069497895","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@camilaprav/htmlsnap","version":"0.0.9","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.9","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"847e851f91408b05e9df8d813ef2a3224cb71f95","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.9.tgz","fileCount":5,"integrity":"sha512-qNgdLT57UuietKikUNjMkG0yBEolPJ2EDjRiesApzET87n/0Iscj+QL2imip9w7bCIFG5SoXCVnbw+/hR+Yj7A==","signatures":[{"sig":"MEYCIQCsm1seenpQJ2/lFhdTmziKVAJScRdNbKSsQkzczvhxXwIhALH/jFKGBP12Gcur0kjdHI53gdPLYFQc3SeK/QEviOiR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8919},"main":"htmlsnap.js","browser":"htmlsnap.js","gitHead":"0161b123570b06ef48a5d7e43fcaf4a6838542fa","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.9_1747352855579_0.33058188110578746","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@camilaprav/htmlsnap","version":"0.0.10","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.10","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"0d9a445a2aaf78d9e1f47425d34026f60b77abe8","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.10.tgz","fileCount":5,"integrity":"sha512-W2n9GBEl6HfnJhwjo6kDk4RVfgq64okyz0beAnNIT3kKRCFLJ0l3lKvHL/JcPzh6M28lgy9fBRPGAGcSGENWLg==","signatures":[{"sig":"MEYCIQDMwVxHdz6YcKdjriap8duFxpbNjclpkU32lxDmvVLN4wIhAOLa7jINRFqj1PCD/hrJOLQZM6SzSzd9ftI+JmoiJsaT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9176},"main":"htmlsnap.js","browser":"htmlsnap.js","gitHead":"9b758608506ac10a431b87b29d04ef2d95d18edd","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.10_1755194370184_0.15800110674749135","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@camilaprav/htmlsnap","version":"0.0.11","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.11","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"7cfe25445d98b40132474764af04c1fcb74c32eb","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.11.tgz","fileCount":5,"integrity":"sha512-wPJBoXmMsJtjAPSBrIDuK6yoHmjsW75R/rwdzQB3ty++KutJZ3UD54KK0h91yTFM4EAHHPfue7amnfFO8arjoA==","signatures":[{"sig":"MEUCIQCfvHR2BvWg581I6gPtGHWxW2xLIoe8oSW7mIQKl/bMSQIgTm8AiptzbBDp1A+gdjzK1lQXAV4ieNAjg5u1JNPkcy8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9173},"main":"htmlsnap.js","browser":"htmlsnap.js","gitHead":"db419b8ce88b851f644f8b9be2ffdedc9bfb0a57","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.11_1755195577062_0.19876225455312446","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@camilaprav/htmlsnap","version":"0.0.12","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.12","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"d63a311a70735e04aefe487aac85f66f78152f0c","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.12.tgz","fileCount":5,"integrity":"sha512-NbME4eh3dxLGw+X929yM82rUaPs7+7kvOUPLbnvcpIr7emLIhE5AfhMfb9aQcQtXZ4w/qOyKwHGv9UQzv+Qfjw==","signatures":[{"sig":"MEYCIQCfOgXb9JtpXqvMuV2ET1uLSQZPhwwqZRkfLdRkGtpgaAIhAMR1/sfrGEzTDiljBd4oXE604IfoJAOQvhTSGd4A8Gd8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9208},"main":"htmlsnap.js","browser":"htmlsnap.js","gitHead":"230737ab2d4e3fb3af9fd563603383671cbf1e4c","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.12_1759899459543_0.810093971846247","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@camilaprav/htmlsnap","version":"0.0.13","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.13","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"b5e9c0e69bcab41d77284b9d0b1b1a84edbf9d50","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.13.tgz","fileCount":5,"integrity":"sha512-CWguj1EwkvgfzSnTa+NazrYJATyTcAOHLkqH6X2QZ3VPtOR/dM9/H94W2Jr3au3YZlusga8uzdeAu6PIo/9JCg==","signatures":[{"sig":"MEQCIB67sSqGPm7fxYnRbV9ktPcfgkzQbRoaf4lu3MK6FvzCAiAqjxsRaq1bPm6ktF6otfiIbpZbjqSqJk/kCeF/ONqScA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9208},"main":"htmlsnap.js","browser":"htmlsnap.js","gitHead":"5b0a19c7109cf2e35b2163ff2d6d9288c0cbad15","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.13_1759899721437_0.35537839756369194","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@camilaprav/htmlsnap","version":"0.0.14","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.14","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"77985d24409f1734815fc78d9b8c328eb0c3205f","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.14.tgz","fileCount":5,"integrity":"sha512-+sSJFStfQsBp6MLW1Khmo7OH0WMaDqZSqRRQ4cbkmjQsvJ3gWOyx73d1LD7En9x7NAh5IX3203b520Isc9Jqyg==","signatures":[{"sig":"MEUCIQDJ0nMZTI9rpO5mgBi27P6EfG0Ws+itWIZ0QlhhL/GpcgIgHzQaAaXdFsOZt/IBTNZjhX9Sf1xFRAVs7X8i3FB6DSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9301},"main":"htmlsnap.js","browser":"htmlsnap.js","gitHead":"5b0a19c7109cf2e35b2163ff2d6d9288c0cbad15","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.14_1760228063851_0.604036639424115","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@camilaprav/htmlsnap","version":"0.0.15","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.15","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"c24d12951ff9686bdb6f20accf00762d422a2a85","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.15.tgz","fileCount":5,"integrity":"sha512-xffGa2o7+5OX7MvEnAL7DdPZ+Xhn4lZEBaNyiZY/Em6rtuyGAgVCIPRFzDOfQ8s6u9Eyi8WQAakuC9tbHAAgAA==","signatures":[{"sig":"MEYCIQC7q1I4paC4fxZPj3G230D4wRW/dtcuWMvwzfN3zJ20gwIhAJp/fBScOzNpty/4YWEBWjmXEc23DMnOA6a3yRllvHxY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9425},"main":"htmlsnap.js","browser":"htmlsnap.js","gitHead":"5b0a19c7109cf2e35b2163ff2d6d9288c0cbad15","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.15_1761154975049_0.4897586095647941","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@camilaprav/htmlsnap","version":"0.0.16","author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.16","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"dist":{"shasum":"8d469bc4726a6a83049bc518409b25311fa2bc2c","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.16.tgz","fileCount":5,"integrity":"sha512-xd7q/ag84yxBPe6pubGv/wRolgOStA4s66aVeV+dF7bidZe7mUn8G3zRbwV3YEKW2rmDbCSHpOtH7URDgq/RUA==","signatures":[{"sig":"MEUCIDgmeOcEy7w0WrjPm9kkiZw5qiVYcXdq3D6Nfnx76fdfAiEAqjzIHJn5/OtefDYBu6lHB5SxCUtJYGmwFoTFTgrOrok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9433},"main":"htmlsnap.js","browser":"htmlsnap.js","gitHead":"1e32816e629b3aa5940d7d4bfb2839e6b4a88025","_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"repository":{"url":"git@githubcom:camilaprav/htmlsnap.git","type":"git"},"_npmVersion":"10.9.2","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/htmlsnap_0.0.16_1761155238121_0.029237427171416863","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@camilaprav/htmlsnap","version":"0.0.17","description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","main":"htmlsnap.js","browser":"htmlsnap.js","repository":{"type":"git","url":"git@githubcom:camilaprav/htmlsnap.git"},"author":{"name":"Camila Prá"},"license":"ISC","_id":"@camilaprav/htmlsnap@0.0.17","gitHead":"62408441e4de2f70fa5276def1f8d81ebdd23395","_nodeVersion":"23.11.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-yxqy9eS5MsXw0fgb9VTg0oUFtlUgJTmKEhtL0ZQaDlAod2D5oIdUB2W3w2cTytXuoPnmaoRmF4tTXIENABcfgg==","shasum":"d8b7b025fe71d6b0d7e6dcb132a0e2ae26d80464","tarball":"https://registry.npmjs.org/@camilaprav/htmlsnap/-/htmlsnap-0.0.17.tgz","fileCount":5,"unpackedSize":9301,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD4CjQMSKsqiDDM/egtrZn4G/BgDGgCigrbgdaUlKYCXAIhAJthTBFsVeS6lWsl+5bPal3prkHN+AWG6zbGv76DCjnk"}]},"_npmUser":{"name":"camilaprav","email":"camila@guiprav.com"},"directories":{},"maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/htmlsnap_0.0.17_1761326369490_0.28630520934104164"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-30T07:23:12.291Z","modified":"2025-10-24T17:19:29.889Z","0.0.0":"2025-04-30T07:23:12.550Z","0.0.1":"2025-04-30T07:26:42.197Z","0.0.2":"2025-04-30T07:35:24.537Z","0.0.3":"2025-05-14T08:27:30.631Z","0.0.4":"2025-05-14T08:58:16.085Z","0.0.5":"2025-05-14T09:04:28.984Z","0.0.6":"2025-05-15T23:35:45.604Z","0.0.7":"2025-05-15T23:42:17.220Z","0.0.8":"2025-05-15T23:45:19.926Z","0.0.9":"2025-05-15T23:47:35.774Z","0.0.10":"2025-08-14T17:59:30.381Z","0.0.11":"2025-08-14T18:19:37.260Z","0.0.12":"2025-10-08T04:57:39.719Z","0.0.13":"2025-10-08T05:02:01.625Z","0.0.14":"2025-10-12T00:14:24.051Z","0.0.15":"2025-10-22T17:42:55.272Z","0.0.16":"2025-10-22T17:47:18.318Z","0.0.17":"2025-10-24T17:19:29.712Z"},"author":{"name":"Camila Prá"},"license":"ISC","repository":{"type":"git","url":"git@githubcom:camilaprav/htmlsnap.git"},"description":"Lightweight utility for generating a filtered and optionally ID-annotated HTML snapshot of a DOM subtree","maintainers":[{"name":"camilaprav","email":"camila@guiprav.com"}],"readme":"# 📸 htmlsnap\n\n`htmlsnap` is a lightweight utility for generating a filtered and optionally ID-annotated (`data-htmlsnap` attribute) HTML snapshots of a DOM subtree. It can be configured to clean up whitespace, include only visible or LLM-relevant content, unobtrusively track DOM nodes via IDs and bi-directional maps, and selectively preserve element attributes.\n\n---\n\n## Usage\n\n### Via CDN\n\nYou can use `htmlsnap` in the browser or Deno via e.g. [esm.sh](https://esm.sh):\n\n```js\nimport htmlsnap from \"https://esm.sh/htmlsnap\";\n\nconst [html, map] = htmlsnap(document.body, {\n  llm: true,\n  idtrack: true,\n});\n```\n\n### Via `npm`\n\nInstall first:\n\n```bash\nnpm install htmlsnap\n```\n\nThen use:\n\n```js\nimport htmlsnap from 'htmlsnap';\n\nconst [html, map] = htmlsnap(document.body, {\n  llm: true,\n  idtrack: true,\n});\n```\n\n---\n\n## Options\n\n### `opt.collapseWhitespace` (default: `false`)\n- If `true`, all text content will be trimmed and internal whitespace collapsed to a single space.\n- Automatically enabled when `opt.llm` is `true`.\n\n### `opt.idtrack` (default: `false`)\n- If `true`, generates and attaches `data-htmlsnap` IDs to **all** elements and maps them in the output.\n- IDs are consistent for the same DOM elements when `opt.map` is provided.\n\n### `opt.llm` (default: `false`)\n- Enables filtering and tagging for large language model (LLM) consumption.\n- Implies `collapseWhitespace: true` (input token preservation).\n- Hides elements like `<script>`, `<style>`, `<iframe>`, and any with CSS `display: none` or `visibility: hidden`.\n- Excludes elements with the class `ai-invisible`; includes elements with `ai-only`, even if hidden.\n- Annotates actionable elements (e.g., `<a>`, `<input>`, `<button>`) with `data-htmlsnap` and tracks them in a bi-directional map.\n- Also affects default `opt.attrs`.\n\n### `opt.removeInvisible` (default: same as `opt.llm`)\n- If `true`, elements deemed invisible (based on computed style, dimensions, or tag type) will be removed from the snapshot.\n- This includes `<script>`, `<style>`, `<iframe>`, elements with `display: none` or `visibility: hidden`, and the class `ai-invisible` (if `opt.llm` is also true).\n- If `false`, invisible elements are retained.\n\n### `opt.attrs` (default: `null` or LLM-relevant attributes if `opt.llm` is `true`)\n- Specifies which element attributes to retain in the output.\n- Can be an array of strings and/or regular expressions.\n- Default if `opt.llm` is enabled:\n  ```js\n  [/^aria-/, 'alt', 'title', 'href', 'src', 'type', 'name', 'placeholder', 'value', 'id', 'role']\n  ```\n\n### `opt.map` (default: `undefined`)\n- An optional pre-existing `BiMap` instance to use for ID tracking.\n- If provided, it is updated and also used in the output (same instance).\n- Required if you want to share or reuse mappings across multiple snapshots.\n\n---\n\n## Interactions Between Options\n\n| Option            | Effect on Others                                         |\n|-------------------|----------------------------------------------------------|\n| `llm: true`       | Implies `collapseWhitespace: true`                       |\n|                   | Sets default for `attrs` (overridable)                   |\n|                   | Enables node visibility filtering and `ai-*` classes     |\n|                   | Annotates form elements with `data-htmlsnap`             |\n| `idtrack: true`   | Annotates **all elements** with `data-htmlsnap`          |\n| `removeInvisible` | Defaults to `true` if `llm: true`, otherwise `false`     |\n| `attrs`           | Filters retained attributes; `llm` sets a default        |\n| `map`             | Used for ID tracking; shared between `idtrack` and `llm` |\n\n---\n\n## Output Format\n\n- If `opt.llm` or `opt.idtrack` is enabled:\n  - Returns the array: `[html, map]`\n  - `map` is an instance of `BiMap` mapping IDs to original DOM elements.\n- Otherwise:\n  - Returns a string containing the filtered HTML snapshot.\n\n---\n\n## Testing\n\nThis library is implicitly tested by the extensive test coverage found in [KittyGPT](https://github.com/camilaprav/kittygpt), which exercises all of its functionality.\n\n---\n\n## License\n\n### ISC (Internet Systems Consortium)\n\nhtmlsnap is free software: you can redistribute it and/or modify it under the terms of the [ISC License](COPYING).\n\n## Exclusion of warranty\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n\n","readmeFilename":"README.md"}