{"_id":"html-tokenizer","_rev":"19-e8bd827dc17bcbc2c20b7d3846803e78","name":"html-tokenizer","description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","dist-tags":{"latest":"4.0.1"},"versions":{"1.0.0":{"name":"html-tokenizer","version":"1.0.0","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"e10451ebcd7081c787eff3954fd9ab05ddb38569","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.0.0","_shasum":"7007c65b9e6e1d54ba03209c7631cc1ef1095f64","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"7007c65b9e6e1d54ba03209c7631cc1ef1095f64","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.0.0.tgz","integrity":"sha512-zlx7+RHKt3VTzNZWTO92sBidLyG05V7ACPb+jI3+IbFfZmli4kfQoMK5g0m0UKlAMS5gHgeQ9F4Jvby4PmojpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID9w4F+NG/REGJO7BJapbSBdhFMBlZStKCj3YH7zXFsKAiBJKjBosRbV9oletSRmx9CCIrB4xVXN8C/fvAYZ/tr2gQ=="}]},"directories":{}},"1.1.0":{"name":"html-tokenizer","version":"1.1.0","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"bd1a5fc44666b0c75a795e57bc7cdf06b43b9518","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.1.0","_shasum":"80727b070255c2fc5425ecc18091a89ac28a7196","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"80727b070255c2fc5425ecc18091a89ac28a7196","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.1.0.tgz","integrity":"sha512-qHHKn+ms1K+lZXWAx6TDCNJbnTozkbaBTWu9F6WLE1LFNo4SsKvFLKZuA7CVWj0XXaXThTWMyaB+AIA9DnQUXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/QF5JKVWsnWfkM9y339wmX5HJRHDLgdna40gq8h5OkwIhAIoFFmREAowxI75GgWyjeQgnFQXblmjHJampEGaFx9mc"}]},"directories":{}},"1.1.1":{"name":"html-tokenizer","version":"1.1.1","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"5f45871116706e7c4701264360f0907e5a29c776","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.1.1","_shasum":"dfcb5dc6d338559452ff1d8a07893681b2da1000","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"dfcb5dc6d338559452ff1d8a07893681b2da1000","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.1.1.tgz","integrity":"sha512-ykKZVelNq3dSh1oRWWxqbUyRv4RsV5d2kz2Eg2MuIrEQDdganI7gQ9iI/dWzrmijmuBuA3JLqzFtkDJwyjp1OQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDYLbCI6RaBhCDMSmc6CGM12igqvJV7vLO5SF/0kPoW5AiEA2RWgkX5b7q1Kjr+dFQ2Qblxs6/LmqBACI7KqzTG1P7A="}]},"directories":{}},"1.2.0":{"name":"html-tokenizer","version":"1.2.0","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"d8d728798a9b84630ab59d5e3c14dc84877115f9","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.2.0","_shasum":"a9747ebadd3b4bee8dd6a1acc4cad30a149fa64a","_from":".","_npmVersion":"2.11.0","_nodeVersion":"2.2.1","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"a9747ebadd3b4bee8dd6a1acc4cad30a149fa64a","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.2.0.tgz","integrity":"sha512-Qmhrs9E9byHn9htiaqKM9/nytaTgL8mvB+jcnfWzt5oGFWkdJJvgOlmyjpe5x6vbsAuJNE2l0KtM79lwSfGGzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnRCvH/aHGHKzPbkmJkwSSptIzOEwL0CbhTwHd3MCorgIhAPPy8FvADQyYUJc+uzxIHjdI65X2JR9OBvtaUasvor+p"}]},"directories":{}},"1.3.0":{"name":"html-tokenizer","version":"1.3.0","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"4f2758424727d578ac6d0151fd16a00e0b700745","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.3.0","_shasum":"36f35af61c012ac60150da5ddd01602d7b2a4b5a","_from":".","_npmVersion":"2.11.0","_nodeVersion":"2.2.1","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"36f35af61c012ac60150da5ddd01602d7b2a4b5a","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.3.0.tgz","integrity":"sha512-kHvKGzfRD4E6HYxn9ZhA48kHDgmwm8Sq/N4x1V+kvyg7L/FurODnKquLmbNU48v0rt7MTSXVGv6usUXahfl7wg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDDjHPL98dxg9YfmS6apsc6NZM1BBAgs0eKEdEdXOO3PAiAEg3eZ691hXCN0E7UNYW0N/GFNUvtubMfMvLxVqnqdJQ=="}]},"directories":{}},"1.4.0":{"name":"html-tokenizer","version":"1.4.0","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"4922c7fb8bc447464fcc65997faea6d5b26d11b2","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.4.0","_shasum":"59a494563476fd92581a3b2499280505c242b5a4","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"59a494563476fd92581a3b2499280505c242b5a4","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.4.0.tgz","integrity":"sha512-Zr7v5eT3+kf387F6j2I0QB+UGKnLFQKFsPQJqu9+Jlu2+1ENlRlbow7puANpB6+sV+RoNh8DfDhyC1exghtttQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDpvg+Ge3eKcfuV42G37UZCZW2dQgGXaCE2LfdRZDAzdAiAqVx/j/tTZ/GudDbEml0itJ1iRRLc6amngMPVa6wLFCQ=="}]},"directories":{}},"1.4.1":{"name":"html-tokenizer","version":"1.4.1","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"681943c8929f260bed64382f6b6f1239a0216b7c","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.4.1","_shasum":"eff454c3b4d261d598971b0f12c609eee8d287ea","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"eff454c3b4d261d598971b0f12c609eee8d287ea","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.4.1.tgz","integrity":"sha512-XukEdkPo1IShYvJgNSqEBZVY4cpCccdCwNOuQ02B0srmZNwPAPyPemLFOqELUNbyfPUFhUZThjYpCG3T9vxwFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHXL0sek6P3a/qpjlf5/jsJmDEhN6yK0ulQm6amUxVuAiAtTqlKJEnZzGVFVHL8MY+rUdKPQDcNbSzztTeUD8SJrg=="}]},"directories":{}},"1.4.2":{"name":"html-tokenizer","version":"1.4.2","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"7f549d8d565828411e937fca2337991457997c3f","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.4.2","_shasum":"e530b54cf3588496fd72028b05ec2144daf9afab","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"e530b54cf3588496fd72028b05ec2144daf9afab","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.4.2.tgz","integrity":"sha512-5VynFL4vPvKMSbNXxmiWiXTKIa4bnUK0b7J9wUoudpepznWpC25Uza/8VuuhORi48kGb8ESORFH3ss4Z3iDujg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8xflwcfFBRsbwBCnyCnlbixPfLm/jVeN6wIjS/A3tHAIhANyftWtHIb2+MVMQZ52g7IUk0qCxKFQbSROm2UEGWZ+g"}]},"directories":{}},"1.4.3":{"name":"html-tokenizer","version":"1.4.3","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"e616a4332dbdb26a355305114d9925fae71712e8","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.4.3","_shasum":"05dd209202bc8ac8dd769d90af265f658b7b6303","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"05dd209202bc8ac8dd769d90af265f658b7b6303","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.4.3.tgz","integrity":"sha512-iHkAHBkIDHIK84CmeBlJ/2JW94veSCf7vqiSyO4904zbi8uso7Qn4tv3b93zBsTITaY53F65N9arrQHdwWE9EQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCazXx/pPupu+hFx6yiSMkslUqXlwL8fzYf5NlNgXEO8wIgHYyvXykS6h5HEEY8EAipF1S0E/UE9bpNBvLmLQd7p9o="}]},"directories":{}},"1.4.4":{"name":"html-tokenizer","version":"1.4.4","repository":{"type":"git","url":"https://github.com/greim/html-tokenizer"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"1485b3e6c1a05fb5842bc1ed21b1918f29b3c22b","homepage":"https://github.com/greim/html-tokenizer","_id":"html-tokenizer@1.4.4","_shasum":"4cce2eb9793c212bfd61a88c2b42fd0fe4a48cf1","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"dist":{"shasum":"4cce2eb9793c212bfd61a88c2b42fd0fe4a48cf1","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-1.4.4.tgz","integrity":"sha512-MTcOZ5e5CGmDpLfW9ErIxzkhO29LClkVkW443WGLgk6JLV4Q02cHSS7PLANPUyCzOVBLApsF13Swj/KU+UU5Jw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfcdX8zXQfORUzwh6gOcTI0QbEDqLyWgNSjD+Nmb5gxwIhAP/lCl2CwtLKn5FUcdLXlB7KjXWD1EjrCcANzTrPHM3j"}]},"directories":{}},"2.0.0":{"name":"html-tokenizer","version":"2.0.0","repository":{"type":"git","url":"git+https://github.com/greim/html-tokenizer.git"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3"},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"e6a938929a8b0cadb57f641b72664e22762572f9","homepage":"https://github.com/greim/html-tokenizer#readme","_id":"html-tokenizer@2.0.0","_shasum":"4d2b814f12bd1d3fda3edf40146332937568e7ba","_from":".","_npmVersion":"2.15.8","_nodeVersion":"4.4.7","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"dist":{"shasum":"4d2b814f12bd1d3fda3edf40146332937568e7ba","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-2.0.0.tgz","integrity":"sha512-b5pBs20cyyLU5qwacvcuTPlO6A3FlV0Xmf3Vl5pErgumaaDKhNcQrhSpLsiDhBhwh8W0ZCgFoNuEcf/OlhJxdQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiLfzGxGg8d5yPJGCFm5Si1Bpogi8aJH0JKZVIOrQaRAIgKIdsNBgD21BMxs2PsEMZuBhWNhMD0rCwM3amNrUpo98="}]},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/html-tokenizer-2.0.0.tgz_1476848556812_0.877013913821429"},"directories":{}},"3.0.0":{"name":"html-tokenizer","version":"3.0.0","repository":{"type":"git","url":"git+https://github.com/greim/html-tokenizer.git"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{},"devDependencies":{"cheerio":"^1.0.0-rc.2","eslint":"^5.5.0","mocha":"^2.2.5"},"gitHead":"4180ad42aff1bac0ef4ba2f0ad06a880eb3ac854","homepage":"https://github.com/greim/html-tokenizer#readme","_id":"html-tokenizer@3.0.0","_npmVersion":"5.3.0","_nodeVersion":"10.9.0","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"dist":{"integrity":"sha512-U2f+YTRiRUf6LijNcHOJADLAq1atFGFYPtLZm+IMyx27bvLMxZNx8Ij3wMf4cJzhF8dlQWASvYQKSkKO3276wg==","shasum":"2bc6eff2b7cc21218d3828497e0b18d4af723165","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-3.0.0.tgz","fileCount":9,"unpackedSize":62127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkx+9CRA9TVsSAnZWagAABbwP/1e6G3R6h8eQMLu1B3qt\n3O4IedpWabslgkaNJrbKKFYtLklvsS2CR75/yvqFYSjE69wVB3CuSrrxQjUp\nJrOW10PU1NSyS1Z61PdY9dOpkrtoZPltJ/6G9UeR+wgh72enLyeDet84wKQt\n/inJuujnsk9ZlAXs8dgps9WrV0xYf+fGHCWBKtBlb3DEQKIeljbDVc8vIAN1\nVheG+EPKitcHv3+dd5/fYgcqkyCIt4/8x94GVajvolomjrZ76AazQBMHFyg7\n8nXZ1CPiVX1SxY2JVeHFCmElEVd9YfMDCNupmtxOBNBuE+AqYX1924YWaSDQ\ngalXUXKREs90rctmrfoIE6JlzjiVm0WB88H6PdFCruc8Scj1MoKAeuHW99nY\n9XO1NJZWmWGduMEoLnhq+VRHs98iSuRcyB1jq+BufTPgQJr5KhQiT5WBLRpv\n9H3cOi/T2navYbrxhen6q5hGkwnYDwhcszQfoslGe3vFm+cNBHQMui9ISR7D\nL7v+tNPVR4Sb4AOj1jsNBdE7AW9S9638vsHSi8KZPFYRvUGxa6IMgD6gZZMq\nS+MLTutfDIP7YeH4XDrpVv5G+rhKCK3uG9O0Fy/tQMgueapvR2H6ykIWpnzR\nNV0xXlG9u7UeKxSBlZkvz7AOVD/jUcnYcc97OH2o24WDCvaVJPOK78w1yjKA\nESbP\r\n=q35L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqok9SLEiywzVD9/PK955O94+EXv0H5LqFd0LAotC3qwIhANemPKBzfmfh4pKS5ApMMS3hFMB4Z/E6KW8wYwHb0Q/6"}]},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html-tokenizer_3.0.0_1536368572884_0.7352234025800584"},"_hasShrinkwrap":false},"2.0.1":{"name":"html-tokenizer","version":"2.0.1","repository":{"type":"git","url":"git+https://github.com/greim/html-tokenizer.git"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"index.js","scripts":{"test":"node node_modules/.bin/mocha --harmony"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing","event"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{},"devDependencies":{"mocha":"^2.2.5"},"gitHead":"e97119db3b8d090b2d9cf0bc1794c67af1696715","homepage":"https://github.com/greim/html-tokenizer#readme","_id":"html-tokenizer@2.0.1","_npmVersion":"5.3.0","_nodeVersion":"4.4.7","_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"dist":{"integrity":"sha512-iSmPY1BxVznaIs9QjOKrliBWCnGy0DHIER3v/BauWr1ICZOf3Ty/W3mU0G9+ImsfMcquj0Kkc0YqEKGIwukbsw==","shasum":"a1f973dc828a82479de98b11522d1366a4169d0a","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-2.0.1.tgz","fileCount":9,"unpackedSize":60941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb2z00CRA9TVsSAnZWagAARcMP/2BPlMVBU1w9N14sTaEy\nUpnWejQkBdK62p8FKvh+EUEznnFJrzwq78zc4h1I6uvXQ0WdZcXzyjm9f3Jn\nqhiFVuoovku3QWIqUPXRUd/mlSog0XdWnmLQln9m/KoiHZO5K5SGgr5+TIFZ\nVOekaGld9msEyy+SIZCN5oVP31YoRyxAe34SIDvGvJeCHEXqUBoLCZSxpwgd\nAKU223Y4iyLtqcjo+JhetucLQrAk5HBX2EYrP+2ny19ybnIGJxerwNuAFjtA\nE7Zp2A+7hK9/h/c2FkUGYbMSn3rjoOKMnxbOA9pziIWyJcmHxfruQQEOei/8\nMKHSGUKoc8wMrCL7KC9OcO7SEdKRnE9dxcUPlhqSeBBzpqW20pmltEb83sjV\ni5pBD6TO/OWchB86bjLH+BCrXSeGwZEI2zDRS6fFj+qSQ3Jdpv000p1Ancyc\nZ/bgV8rGVkSJbfrsNbqHEPge6swfjGE+OcTDkTJL33AzOUTFdb+KrL5jKrgK\n1rH7dDajla+kXdANfZyNyIFjo8q8kV5VbjnOmKizEANDUrUJDLSiv0wxurM7\ncq/Nuq7kG9AfwQOfw4s9SK07YL6fSaasV5lL5Xtdcu8OPwVLB6wbvXCERZkC\nSicPlqjm6amZZJhydfAlWZRgvKe5DVaoEHDgjRqCLh2iMN+Db8Trr+68OnbF\nXFll\r\n=Mx4q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMmbJuNyY3ffg93FZ2a8crSDaD5KNMViVjxvWRlBdxWgIgWdUjiT2dT2H9H8SBwijf7+GlJPXcYqNQ2rjOuhkY2MU="}]},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html-tokenizer_2.0.1_1541094708013_0.7813575474368555"},"_hasShrinkwrap":false},"4.0.0":{"name":"html-tokenizer","version":"4.0.0","repository":{"type":"git","url":"git+https://github.com/greim/html-tokenizer.git"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"lib/index.js","scripts":{"compile":"tsc","test":"mocha \"./**/*.test.ts\" --require ts-node/register","lint":"eslint --max-warnings 0 src/*.ts","check":"npm run lint && npm run compile && npm test","clean":"rm -rf ./lib"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{},"devDependencies":{"@types/cheerio":"^0.22.22","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^2.10.0","@typescript-eslint/parser":"^2.10.0","cheerio":"^1.0.0-rc.3","eslint":"^7.15.0","eslint-plugin-mocha":"^8.0.0","mocha":"^8.2.1","ts-node":"^9.1.0","typescript":"^4.1.2"},"gitHead":"24d170edb3ed90e43086e4a5d652c7c5b68edc12","homepage":"https://github.com/greim/html-tokenizer#readme","_id":"html-tokenizer@4.0.0","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-+p8eNFei4Z+QAUkEjnUpTkpiosMTV/jx8xGcftYVTmlcBpw0R1EzEv6mMaP7kc7qOdjdNysPez6derXGEJCc/A==","shasum":"7ea0fd6a0a9e5f5f974c1969385cce2397331f2f","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-4.0.0.tgz","fileCount":64,"unpackedSize":330425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzIqCCRA9TVsSAnZWagAAhjgP/29yEi9+72pWUVMw7vyj\nulRrhUbRJ5Sx8dPBNUYVl1rMU4jsXilL0syUqYxreNkx8sWch5jW8ZR1mFp+\nQ/ciMGP6IkDVkEFbM/UMJsYfow1S7wOq8niic39HkYP0HZWGIIo4nhYW1yxI\neP1//VhRsFmK54MLA9U9M+KXKl4uluR7PCP7zSPmU/KQoCzq/h8ngirmmhdk\nah5gMknWYZaBIo3P3HoicOdSLCPaShlcMgJNEoYtKaFAHaTtZiAKYfXYUJko\ngsS14KFwhcIKPGF+2Yr7dBf6CV5ZMuGMnM+PFAtl6/z/eh91SPK1KhyEuzFI\nz8ympPI/93pLzcx7JEmeK316TmSFkq3lKsbSBDHYwTHUt2jMcrRI8kM/O8TJ\nPItlFnsbfLVSf22cFytizQlnP239dMYo+54JA5O6Q/dDozhdjWOWbnUs3thd\nNJkwf82Nuxifh9vYmRTUiASN8Uh5CXqXK/Y7VBaFs6F7hWMfzaxRdRDcPs/z\nkJ98y+muKb6ej9rhTKw1te0xInpydQghgSj9dIoPmQio8T8aAxzhWJS1dWqs\nkhwhRNnoA2whP0AmpC7MBqt8TLMKUCvTJj2uSqMjgII7/gIeV9dPt2xYxCTF\ndJeCbOLedfYjsPZuqns3/QIbYFAYEsoQHXv3dNBRn+Ofx7DcPyIbN1yX4+Oy\nyWoa\r\n=iqSs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBtjvotMy03o/s5JVopenIl7jO8//TXEbjlxilhe4QpgAiBaBNdQBpvufOMcFyKsHkktzo/IHaTOCO0JYdiVWvtQoQ=="}]},"_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"directories":{},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html-tokenizer_4.0.0_1607240322026_0.22362034219635119"},"_hasShrinkwrap":false},"4.0.1":{"name":"html-tokenizer","version":"4.0.1","repository":{"type":"git","url":"git+https://github.com/greim/html-tokenizer.git"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"description":"Small, fast, event-driven, fault-tolerant html tokenizer. Works in node or browsers.","main":"lib/index.js","scripts":{"compile":"tsc","test":"mocha \"./**/*.test.ts\" --require ts-node/register","lint":"eslint --max-warnings 0 src/*.ts","check":"npm run lint && npm run compile && npm test","clean":"rm -rf ./lib"},"keywords":["html","tokenize","tokenizer","tokenization","parser","parsing"],"author":{"name":"gregreimer@gmail.com"},"license":"MIT","dependencies":{},"devDependencies":{"@types/cheerio":"^0.22.22","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^2.10.0","@typescript-eslint/parser":"^2.10.0","cheerio":"^1.0.0-rc.3","eslint":"^7.15.0","eslint-plugin-mocha":"^8.0.0","mocha":"^8.2.1","ts-node":"^9.1.0","typescript":"^4.1.2"},"gitHead":"24d170edb3ed90e43086e4a5d652c7c5b68edc12","homepage":"https://github.com/greim/html-tokenizer#readme","_id":"html-tokenizer@4.0.1","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-rxTPKPl0iDjB2GSlcfRKrN+7zBmwKDpKgV1BPOPmoj/K9lefbixD5Wl75Jvh4jD+U5dj1Tni155nh7881q+Suw==","shasum":"69adba24e4c99e620fc2cee51f28e72bc7bb9906","tarball":"https://registry.npmjs.org/html-tokenizer/-/html-tokenizer-4.0.1.tgz","fileCount":47,"unpackedSize":141685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzIreCRA9TVsSAnZWagAANM4QAIN5E94i21auwt7BEZdW\n3Lqr71OFC2vBKYqGWJ6NbkUrvlXFhhZSHgYE8+JQhOfRqz8HUojWYAfOS5To\nuQT9/ycIifnP0ITnoU3h0iQQG5EkegoXjbPlsyXlCr0tO8lSvRbY6Pv9Jnil\ndQN8nvw+0kp6VNeHAR/KTx966ElvLMI+DPrpEL3dHP3WIqw5nU7EOkFVp6ZG\npf5/HAcJBdwEyYS4sQ5k9L0Vu6Lb3NCEY6YL8TaimVhQSwikJcaobmZhCFgP\nPpNaEXLWBGhnEiKP+Q/O+tciTv6cVM52NLr48nYHF9APCSIv2IP5xmGCVjOW\nHxr42wAJmGxzY15LfvidxEydJ7ZayZuSpTT7YdDRinRJquqOJavgmOCaNSS4\nHzX3HdwRR6cjRi2+qa/qBuwLA+Gi8WbWY3+bV3jhfaLNMTddL8cqqusVGDbD\n6thBdu9GfY6eEh1LeHN+M1r/BLuyva0B0WGvgVnT1UHo/j7OYniwIUPRmYqY\nnlKYSupoFAHosMRq2QMf1+jvU/8zz3uVQ3xb1wJbWWxYSG1DelBuoRY8f8IC\nZ8LJrsCvQI4B6atM1fsYKk9Uy/ifSPriuzggDQopiMbBJEXr61pz6cPOzjge\naDghTP0K0dri7+t2ESb1cVpzBXpjawy1Jq4utTj5U4TOnAIiieVCEKqekV1g\nL6ir\r\n=27/V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbK61f5/Pya9Z/e+DM66oQcAoUjzpZHYwgjSKwzDxWeAIhAJYqt5U8ZdUKoRa04btXMrIdH1YgY6l1rWWeeSv8ODSo"}]},"_npmUser":{"name":"greim","email":"gregreimer@gmail.com"},"directories":{},"maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html-tokenizer_4.0.1_1607240413702_0.2510370420365442"},"_hasShrinkwrap":false}},"readme":"# HTML Tokenizer (and Parser)\n\nHTML tokenizer and parser!\n\n- Small\n- Synchronous\n- Fault-tolerant\n- Zero-dependencies\n- Runs in the browser\n- Written in TypeScript\n\nA small, fast, iterator-based, fault-tolerant, HTML tokenizer and parser. Works in Node or in browsers. You pass it a string containing markup, and it iterator over things it finds.\n\n```\nnpm install html-tokenizer\n```\n\n## Tokenizer or Parser?\n\nThis project contains a tokenizer and a parser, both of which iterate a sequence of things from a piece of markup. What's the difference? The tokenizer enumerates low-level syntax units. The parser enumerates higher-level markup structure. Therefore, you probably want the parser, not the tokenizer, unless you're looking to implement your own parser.\n\n## Can this parse XML?\n\nIn some cases, yes. An HTML parser such as this works very hard to make sense out of even the most garbled input, so it can't be a standards-compliant XML parser, since that it won't throw at the first error. This also doesn't support more esoteric features of XML like processing instructions.\n\n## Parser Example\n\n```ts\nimport { Parser } from 'html-tokenizer';\n\nconst html = '<p class=\"foo\">Hello<br/></p>';\n\nfor (const token of Parser.parse(html)) {\n  switch (token.type) {\n    case 'open': {\n      console.log(`Opening tag: ${token.name}`);\n      console.log('Attributes:', token.attributes);\n    }\n    case 'text': {\n      console.log(`Text node: ${token.text}`);\n    }\n    case 'close': {\n      console.log(`Closing tag: ${token.name}`);\n    }\n    case 'comment': {\n      console.log(`Comment: ${token.text}`);\n    }\n  }\n}\n```\n\n## Tokenizer Example\n\n```ts\nimport { Tokenizer } from 'html-tokenizer';\n\nconst html = '<p class=\"foo\">Hello<br/></p>';\n\nconst tokens = [...Tokenizer.tokenize(html)];\n\nassert.deepEqual(tokens, [\n  { type: 'start' },\n  { type: 'opening-tag', name: 'p' },\n  { type: 'attribute', name: 'class', value: 'foo' },\n  { type: 'opening-tag-end', name: 'p', token: '>' },\n  { type: 'text', text: 'Hello' },\n  { type: 'opening-tag', name: 'br' },\n  { type: 'opening-tag-end', name: 'br', token: '/>' },\n  { type: 'closing-tag', name: 'p' },\n  { type: 'done' },\n]);\n```\n\n# API\n\n## Parser API\n\n### `Parser.from(opts)`\n\n```ts\n// using empty args\nimport { Parser } from 'html-tokenizer';\nconst parser = Parser.from({});\n\n// with custom entity support\nimport { Parser } from 'html-tokenizer';\nconst entities = { copy: '\\u00A9' };\nconst parser = Parser.from({ entities });\n\n// with exhaustive entity support\nimport { Parser } from 'html-tokenizer';\nimport entities from 'html-tokenizer/lib/entities';\nconst parser = Parser.from({ entities });\n```\n\n`entities` is an optional object which maps HTML entities to unicode characters. This provides a way to expand the set of default-supported entities, which only include numeric codes like `&#160;`, plus the most common textual ones such as `&gt;` and `&nbsp;`. Exhaustive entity support should be used with caution in client-size apps, since the entities file is quite large.\n\n### `Parser#parse(html)`\n\n```ts\nimport Parser from 'html-tokenizer/parser';\nfor (const parseToken of Parser.parse(html, {})) {\n  switch (parseToken.type) {\n    case 'open': ...\n    case 'text': ...\n    // etc\n  }\n}\n```\n\nAccepts a string and returns an iterator of parse-token objects.\n\n- `{ type: 'open', name, attributes, selfClosing }` - Opening tag. `selfClosing` will be true if this tag self-closes.\n- `{ type: 'text', text }` - Text.\n- `{ type: 'comment', text }` - Comment text.\n- `{ type: 'close', name, selfClosing }` - Closing tag. `selfClosing` will be true if this was a self-closing tag.\n\n### `Parser.parse(html, opts)`\n\nThis is a static convenience method so you can skip instantiating a parser. An instance is created internally and `opts` is passed to its constructor.\n\n## Tokenizer API\n\n### `Tokenizer.from(opts)`\n\n```ts\n// using empty options\nimport { Tokenizer } from 'html-tokenizer';\nconst tokenizer = Tokenizer.from({});\n\n// with custom entity support\nimport { Tokenizer } from 'html-tokenizer';\nconst entities = { copy: '\\u00A9' };\nconst tokenizer = Tokenizer.from({ entities });\n\n// with exhaustive entity support\nimport { Tokenizer } from 'html-tokenizer';\nimport entities from 'html-tokenizer/lib/entities';\nconst tokenizer = Tokenizer.from({ entities });\n```\n\n`entities` is an optional object which maps HTML entities to unicode characters. This provides a way to expand the set of default-supported entities, which only include numeric codes like `&#160;`, plus the most common textual ones such as `&gt;` and `&nbsp;`. Exhaustive entity support should be used with caution in client-size apps, since the entities file is quite large.\n\n### `Tokenizer#tokenize(html, opts)`\n\n```ts\nimport { Tokenizer } from 'html-tokenizer';\nfor (const token of Tokenizer.tokenize(html, {})) {\n  switch (token.type) {\n    case 'opening-tag': ...\n    case 'opening-tag-end': ...\n    // etc\n  }\n}\n```\n\nToken objects:\n\n- `{ type: 'start' }` - Generated at the beginning.\n- `{ type: 'opening-tag', name }` - Beginning of opening tag, like `<foo`.\n- `{ type: 'attribute', name, value }` - Only generated between \"opening-tag\" and \"opening-tag-end\" events.\n- `{ type: 'opening-tag-end', name, token }` - Closing bracket of opening tag. `token` will either be `\">\"` or `\"/>\"`.\n- `{ type: 'text', text }` - Text.\n- `{ type: 'comment', text }` - Comment text.\n- `{ type: 'closing-tag', name }` - Closing tag, like `</foo>`.\n- `{ type: 'done' }` - Generated at the end.\n\n### `Tokenizer.tokenize(html, opts)`\n\nThis is a static convenience method so you can skip instantiating a tokenizer. An instance is created internally and `opts` is passed to its constructor.\n\n## Other Notes\n\n- Does not handle `<![CDATA[]]>` (output as text).\n- Does not handle `<!doctype>` (output as text).\n- Does not handle `<? processing instructions ?>` (output as text).\n- Does not consume or produce Node.js streams.\n- Performs best on clean markup.\n- Never intentionally throws.\n- Tests pass on Node.js 6.x and above; fail on 5.x and below due to syntax issues.\n- Performance gets better going from Node.js 6.x => 10.x.\n\n## Changelog\n\n- **4.0.0** - Project is re-written in TypeScript. Constructors on `Parser` and `Tokenizer` are made private, replaced with `.from()` static factories. `Tokenizer` is no longer default-exported from `'html-tokenizer'`, and `Parser` is no longer default-exported from `'html-tokenizer/parser'`. Instead, `Parser` and `Tokenizer` are both named exports from `'html-tokenizer'`. Also, exhaustive entities are now exported from `'html-tokenizer/lib/entities'`.\n- **3.0.0** - This is a breaking change due to several things: 1) switching the API from event callbacks to iteration, 2) no longer extending `EventEmitter`, 3) making instances immutable, and 4) updating the JS syntax from circa-2014 to 2018 JavaScript. As of 3.x, tokenizer and parser state is now completely local to the returned iterator instance, which is by definition a throw-away object used once. Parser and tokenizer instances themselves are stateless and can be shared effortlessly across space and time. Also, in order to reduce install footprint, `lodash` is removed as a dependency, since it was only used for a few trivial things.\n- **2.0.1** - Retroactive change to the 2.x line to remove `lodash` in order to reduce install footprint, but otherwise maintain full backwards compatibility.\n","maintainers":[{"name":"greim","email":"gregreimer@gmail.com"}],"time":{"modified":"2022-06-18T21:58:46.787Z","created":"2015-06-04T03:47:47.798Z","1.0.0":"2015-06-04T03:47:47.798Z","1.1.0":"2015-06-04T04:32:06.504Z","1.1.1":"2015-06-04T17:21:51.730Z","1.2.0":"2015-06-04T21:00:21.957Z","1.3.0":"2015-06-04T21:28:24.514Z","1.4.0":"2015-06-06T04:18:23.160Z","1.4.1":"2015-06-08T15:39:26.276Z","1.4.2":"2015-06-08T23:19:00.629Z","1.4.3":"2015-06-09T17:17:20.287Z","1.4.4":"2015-07-31T17:49:54.133Z","2.0.0":"2016-10-19T03:42:38.565Z","3.0.0":"2018-09-08T01:02:53.033Z","2.0.1":"2018-11-01T17:51:48.237Z","4.0.0":"2020-12-06T07:38:42.174Z","4.0.1":"2020-12-06T07:40:13.822Z"},"homepage":"https://github.com/greim/html-tokenizer#readme","keywords":["html","tokenize","tokenizer","tokenization","parser","parsing"],"repository":{"type":"git","url":"git+https://github.com/greim/html-tokenizer.git"},"author":{"name":"gregreimer@gmail.com"},"bugs":{"url":"https://github.com/greim/html-tokenizer/issues"},"license":"MIT","readmeFilename":"readme.md"}