{"_id":"soup","_rev":"32-3ce8a46fd7fd3377312a7c70f10dcd85","name":"soup","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dist-tags":{"latest":"0.2.3"},"versions":{"0.0.2":{"name":"soup","version":"0.0.2","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.0.2","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"2a1e0bb70f9c1870585020212574abaa72816eb4","tarball":"https://registry.npmjs.org/soup/-/soup-0.0.2.tgz","integrity":"sha512-FX8KJaTQagNbx6DRBISp+vUou2aKqT8xl/DFxzHHZNStr7I+BmXRHoysm7qvYC5lU3WSYJ9GtRnPEz1vCZMXQQ==","signatures":[{"sig":"MEQCIAOYkh7hWcWcWlKGNQgelPAp7+IxrzIoMhJypDEwaYO3AiBjEe8OFtHn2YrQhuI16rzdM7KqX5Ig/n0OeS2GdEZA9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"grunt nodeunit:all"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.21","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0","coffee-script":"~1.6.3"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.0.3":{"name":"soup","version":"0.0.3","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.0.3","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"e65ab91bd4b74f9ad922a55b1db8fd40b0b253c7","tarball":"https://registry.npmjs.org/soup/-/soup-0.0.3.tgz","integrity":"sha512-Hh0DnnCte95i3sVZNpPZOEF8TYZDDbN/BmBpwFZbz0kv09+6E7WJGyTshuxZAAxINvsf21pLdFQXa6qfexWwuw==","signatures":[{"sig":"MEUCICw0OwuTAJVAmqOEYSUSTU+Hg5rZY6WfC97Ti39AWRtoAiEA2nDSzgYLCjRkRJowrEn3kH5/B4dk1vjZKl7Cd4gChyc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"grunt nodeunit:all"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.21","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0","coffee-script":"~1.6.3"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.0.4":{"name":"soup","version":"0.0.4","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.0.4","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"e77901705c9fa89a97d08f1d704d0a2fda2b542d","tarball":"https://registry.npmjs.org/soup/-/soup-0.0.4.tgz","integrity":"sha512-ev11Ei1Rj0vt1PsNrJfZy0PZCqKE+mZmaGp5jlhgtenWABXhkT5tgLqRvOahMcmGK4xrPK9Xc7JhyGQYHChrmg==","signatures":[{"sig":"MEYCIQD6KrkoN4Xqjw63WzAvRyZ+Un7OWO61HkzeXWNEwYYliAIhAPzTr5a7hJ+AkL6ucj0W/14N1epiM6ecAIMHNRZml2xa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"grunt nodeunit:all"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.21","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0","coffee-script":"~1.6.3"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.0.5":{"name":"soup","version":"0.0.5","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.0.5","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"d4e06d9260da5aa515fe1336fb11319a0a9bc7a6","tarball":"https://registry.npmjs.org/soup/-/soup-0.0.5.tgz","integrity":"sha512-u1gE4Gt6vrMAnlCxT5bYjCbtiAgEDW0vuqW0KKb6Mkf+uo2OV+86qk4TuEp4xT6kWsBKvvC0OVsL3z33o4zGCQ==","signatures":[{"sig":"MEQCIFT//97yFnnVNRJonhZgIwxiNqovC/hdQcLVKDM4u5BXAiBylI0P+TbELXNVlvEvqwqGB8LtkBaEi9xgqrKG/89qbg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.21","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0","coffee-script":"~1.6.3"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-coffee":"~0.8.2","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.0.7":{"name":"soup","version":"0.0.7","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.0.7","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"7b2152aeffc1f4b1fbd9a9959e667e2270c21694","tarball":"https://registry.npmjs.org/soup/-/soup-0.0.7.tgz","integrity":"sha512-xHTLFBOyVHnB7b05U35EQ/H3hngm4ud9xmLBLCQMgq/LXpUmmDZc7C3V/pvhMwhw/uuz63sY0TAjxZKUFwEyyQ==","signatures":[{"sig":"MEUCIEZj28MnGSegiu7X87ZUIfck6ecW66Iu4SjN+65KKfIwAiEA0n6S0rq0kJfb8CwiwDmoxDK0j5rDR6McnSjO2dApWkQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.21","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","coffee-script":"~1.6.3","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-coffee":"~0.8.2","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.0.8":{"name":"soup","version":"0.0.8","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.0.8","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"6c9bc4154097f1ba4b64f46e939b95c359b276cb","tarball":"https://registry.npmjs.org/soup/-/soup-0.0.8.tgz","integrity":"sha512-O8Yk2o4UHy77Lxv0jmiDRbAV29bLPN9sy2oqFKigETKvx4BvNlCQPDibjlP2rzLZVTzCU66KwNo2UevyNV3l8A==","signatures":[{"sig":"MEUCIFzafs+hDKUSpB0wzfHuZncWv8dCL5Jf3th5lI2OK5KRAiEAksFKkIGHGwu+cQS4GoM3VOPFAsqEYvxbGrkaCu8Hoi4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.21","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","coffee-script":"~1.6.3","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-coffee":"~0.8.2","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.0.9":{"name":"soup","version":"0.0.9","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.0.9","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"6a48d821ddb32d819423117d22dfa1905421f318","tarball":"https://registry.npmjs.org/soup/-/soup-0.0.9.tgz","integrity":"sha512-xk8lRUscJBFecXUN72tPOELc6o+M0j+ruaatCCo+E8T7QglLUMDucl886zXgFAyu0WLMRSjLeqpfEPbbv89HoQ==","signatures":[{"sig":"MEUCIFa5micSRiZEwefhGNpe2kC4YNwURphgYpqIyUAe+tlkAiEA0X2cakU86Qei3ZItD0TodLPWNHF/xCNcxlCazP/t3kM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.21","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","coffee-script":"~1.6.3","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-coffee":"~0.8.2","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.1.0":{"name":"soup","version":"0.1.0","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.1.0","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"091d7e012ca93353a084a18f29f311a364de2218","tarball":"https://registry.npmjs.org/soup/-/soup-0.1.0.tgz","integrity":"sha512-UdIWuXaGuF+MN/e9egxVX6Pl1wGgYaLsJssAKUSAdgFTURm8s/crrB7/7FndNWpqydWTKZbWsncflhxKsCWptg==","signatures":[{"sig":"MEQCIHJoerlPFaQ2tymONq45W8RXasGsUjTq7cfBekhh7xZKAiBrIFfiupLuSBGr61h9p0PtT1M7crpcmY4F1f5gtGI2/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.24","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","coffee-script":"~1.6.3","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-coffee":"~0.8.2","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.1.1":{"name":"soup","version":"0.1.1","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.1.1","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"aecb39006858d3c2626fec28807611a9465d8195","tarball":"https://registry.npmjs.org/soup/-/soup-0.1.1.tgz","integrity":"sha512-H4MOSxO43ktZ4I7ko/y/W73nMPuTy0kgLZN6MozmikTiw5l+abLHzRTz5aeYsmjUWw4IEeW7Wm9MVeefcKqiVw==","signatures":[{"sig":"MEUCIQDw9nMpG4rtk/972TheFdyRT0NNQ+Gq7MrwTYPRg3RqdgIgb3nd5oUv1hKfD6MzTzJHxN+rb9xKBMXXeMXlkCaFFoQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.24","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","coffee-script":"~1.6.3","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-coffee":"~0.8.2","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.1.2":{"name":"soup","version":"0.1.2","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.1.2","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"a3164e2771d10945d4385a1a669360fa400eba5c","tarball":"https://registry.npmjs.org/soup/-/soup-0.1.2.tgz","integrity":"sha512-Ga+H/jBwYI9226KYWavm/Z9XMmdG9Xkq7SvqB6k5hgj5axrOF0g04ypGUujOon8Xr46fUAgkrhfObjSkt6hU4w==","signatures":[{"sig":"MEUCIQD33NVBw17teeLaRpFce1wH1ntYGTRY+ByPJTZPYDANAgIgDr74diAN9LrwyOd6ufRSFD3M+yZw8t2eD3dYv1g7Sfk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.24","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","coffee-script":"~1.6.3","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-coffee":"~0.8.2","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.1.3":{"name":"soup","version":"0.1.3","author":{"url":"http://github.com/callumlocke","name":"Callum Locke"},"_id":"soup@0.1.3","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"http://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"9a5e79dfcc6672ea3b217adaccfe16ec8d500240","tarball":"https://registry.npmjs.org/soup/-/soup-0.1.3.tgz","integrity":"sha512-iSIALXdxZoZf5UjF8b2QDCxGp3pF6AtFk3NDKVcQcm5EkvdOcS8Xm5RgTilEv14kgnsSSHsCMXF9zcoJWAJfbw==","signatures":[{"sig":"MEYCIQDbWJdQU+1HaXXTjfZ5/afaGP1If5i/Epkl+yhiV9ibggIhAIT63mpgcbCVrFik6tS0DZJk8qu+rCnfi8F9oie1QJUk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"licenses":[{"type":"MIT"}],"repository":{"url":"https://github.com/callumlocke/soup","type":"git"},"_npmVersion":"1.3.24","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","dependencies":{"cheerio":"~0.13.1","htmlparser2":"~3.4.0"},"devDependencies":{"sugar":"~1.4.1","grunt-cli":"~0.1.11","time-grunt":"~0.2.0","coffee-script":"~1.6.3","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.0","grunt-contrib-coffee":"~0.8.2","grunt-contrib-nodeunit":"~0.2.0"},"directories":{}},"0.1.4":{"name":"soup","version":"0.1.4","author":{"url":"https://github.com/callumlocke","name":"Callum Locke"},"license":"MIT","_id":"soup@0.1.4","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"https://github.com/callumlocke/soup","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"2b301c1bd710aa4b801692e3077575d2b803c1ef","tarball":"https://registry.npmjs.org/soup/-/soup-0.1.4.tgz","integrity":"sha512-X3nuj1riDMqhAPvxjgMygRTuD+lEclZAuMaFykKgwcKFxp4ANwopzhFVHS6RGf2zUL3Htx/xiBYliQxu7qrWAA==","signatures":[{"sig":"MEQCIGhbi3H0/J+m1JFbK2Gi9IOWNzFe1jQgENb0H8iprICOAiBG7HT45VQET+bFRGMnTCZH4+ggs699xO57LUe09YEMiw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","files":["lib"],"_shasum":"2b301c1bd710aa4b801692e3077575d2b803c1ef","gitHead":"148db35fc1d865aced8ea6cc0a3699a2eff6e916","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"repository":{"url":"git+https://github.com/callumlocke/soup.git","type":"git"},"_npmVersion":"2.14.7","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","_nodeVersion":"4.2.1","dependencies":{"cheerio":"~0.19.0"},"devDependencies":{"grunt":"~0.4.5","sugar":"~1.4.1","grunt-cli":"~0.1.13","time-grunt":"~1.2.2","coffee-script":"~1.10.0","grunt-contrib-clean":"~0.6.0","grunt-contrib-watch":"~0.6.1","grunt-contrib-coffee":"~0.13.0","grunt-contrib-nodeunit":"~0.4.1"},"directories":{}},"0.1.5":{"name":"soup","version":"0.1.5","license":"MIT","_id":"soup@0.1.5","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"https://github.com/callumlocke/soup#readme","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"b50532933cc9a8faaca3e66643e29041ba6143d3","tarball":"https://registry.npmjs.org/soup/-/soup-0.1.5.tgz","integrity":"sha512-6j3nBln2FReRNcjRrG0d8eLewUXhuX8gZysItvZkuxrt/NSTBLDz91BMwaL+hSSlfT7fckLyyxIZeGW6DaIBJA==","signatures":[{"sig":"MEQCIGnt8jmlhi96vCeyDTs3I94YZsSylXUUeZfeTHoYLs9IAiAGLprYBU6tc8l2nySMLtW9flu4BlIyZJUNzYBFw374fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/soup.js","_from":".","files":["lib"],"_shasum":"b50532933cc9a8faaca3e66643e29041ba6143d3","gitHead":"fe8ee07ad87ec341b4639e5223c410a9c97a88bc","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"repository":{"url":"git+https://github.com/callumlocke/soup.git","type":"git"},"_npmVersion":"2.14.7","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","_nodeVersion":"4.2.1","dependencies":{"cheerio":"^0.19.0","htmlparser2":"^3.8.3"},"devDependencies":{"grunt":"^0.4.5","sugar":"^1.4.1","grunt-cli":"^0.1.13","time-grunt":"^1.2.2","coffee-script":"^1.10.0","grunt-contrib-clean":"^0.6.0","grunt-contrib-watch":"^0.6.1","grunt-contrib-coffee":"^0.13.0","grunt-contrib-nodeunit":"^0.4.1"},"directories":{}},"0.2.1":{"name":"soup","version":"0.2.1","license":"MIT","_id":"soup@0.2.1","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"https://github.com/callumlocke/soup#readme","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"66f659a7b23e756c1a8109ceea400eb47d4cf855","tarball":"https://registry.npmjs.org/soup/-/soup-0.2.1.tgz","fileCount":5,"integrity":"sha512-jDi4gU8vMkx8hYvsWbbG/AANouSl6I01hIP7Y7/WAmX2oxwu2tjDeyQpTf526ErK/5NhW7HFNtnsYbpLz7fhKw==","signatures":[{"sig":"MEUCIQC5hH1g1ynfgityxUf0ocV8O8pUFeq6VSmm/Gv8jySrYgIgUYQq2SHksHAaftdPCCyl6LIanvuNhN7UweN2N896Bdg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21236},"main":"lib/soup.js","gitHead":"1fcc18b1eb585882fdcc206a3c7805d48c291d88","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"repository":{"url":"git+https://github.com/callumlocke/soup.git","type":"git"},"_npmVersion":"10.2.0","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","directories":{},"_nodeVersion":"21.1.0","dependencies":{"cheerio":"^1.0.0-rc.12","htmlparser2":"^9.1.0"},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^0.4.5","sugar":"^1.4.1","grunt-cli":"^0.1.13","time-grunt":"^1.2.2","coffee-script":"^1.10.0","grunt-contrib-clean":"^0.6.0","grunt-contrib-watch":"^0.6.1","grunt-contrib-coffee":"^0.13.0","grunt-contrib-nodeunit":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/soup_0.2.1_1717170017194_0.9197404321750742","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"soup","version":"0.2.2","license":"MIT","_id":"soup@0.2.2","maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"homepage":"https://github.com/callumlocke/soup#readme","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"dist":{"shasum":"708ec2777f15945f2989eed46d38cc17147fdf22","tarball":"https://registry.npmjs.org/soup/-/soup-0.2.2.tgz","fileCount":2,"integrity":"sha512-6Rh1hgB2s4qlW+kWqrWRUs92XpzHVPRITVIMXyK9Nbm47aQA011EBzdQaG9w/fvVpw8h8KCteaHyAA1yb4k2iw==","signatures":[{"sig":"MEYCIQCXnPlz0EGYsyiJ259eXcfR9ZTRurzmS66Jq2AVbWfowgIhAKCFhMWfHICJEN9UVHBizvZJmBV18VjkhRAHhcOgal+d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4388},"main":"lib/soup.js","gitHead":"27726d3b6cd8e9f35ab333358f648d31167ec6e3","scripts":{"test":"grunt nodeunit:all","prepublish":"grunt build","postpublish":"grunt clean:lib"},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"repository":{"url":"git+https://github.com/callumlocke/soup.git","type":"git"},"_npmVersion":"10.2.0","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","directories":{},"_nodeVersion":"21.1.0","dependencies":{"cheerio":"^1.0.0-rc.12","htmlparser2":"^9.1.0"},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^0.4.5","sugar":"^1.4.1","grunt-cli":"^0.1.13","time-grunt":"^1.2.2","coffee-script":"^1.10.0","grunt-contrib-clean":"^0.6.0","grunt-contrib-watch":"^0.6.1","grunt-contrib-coffee":"^0.13.0","grunt-contrib-nodeunit":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/soup_0.2.2_1717170410957_0.3432430930092609","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"soup","description":"Query and manipulate raw markup via CSS selectors, without losing original formatting","version":"0.2.3","dependencies":{"cheerio":"^1.0.0-rc.12","htmlparser2":"^9.1.0"},"devDependencies":{"coffee-script":"^1.10.0","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-clean":"^0.6.0","grunt-contrib-coffee":"^0.13.0","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-watch":"^0.6.1","sugar":"^1.4.1","time-grunt":"^1.2.2"},"license":"MIT","main":"lib/soup.js","repository":{"type":"git","url":"git+https://github.com/callumlocke/soup.git"},"scripts":{"clean":"grunt clean:lib","build":"grunt build","test":"grunt nodeunit:all"},"_id":"soup@0.2.3","gitHead":"5908eafa6475ef32bfaf5d74135e9f8421bf77bb","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"homepage":"https://github.com/callumlocke/soup#readme","_nodeVersion":"21.1.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-0+L+E6b2pXbfi37Lf1Xn0TPSfl3YeIYcFNFOs8f0C7hZgp8PKOV2/+2DHp9vvNthM9JLI3K+eqxbKki0f35kUQ==","shasum":"c1d1e80cd8ff9f5aa68b304bb23a92eab83ce29b","tarball":"https://registry.npmjs.org/soup/-/soup-0.2.3.tgz","fileCount":5,"unpackedSize":20754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDBR9y4dxhxj0AarEwqjfdYsH8TxM4fc3d2YwaA2cogLAiAYXJzryrQFpTPWhvRx8AHC76vkkd455ypXdfqS+IlAcw=="}]},"_npmUser":{"name":"callumlocke","email":"callum.locke@gmail.com"},"directories":{},"maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/soup_0.2.3_1717171076311_0.9137575321841376"},"_hasShrinkwrap":false}},"time":{"created":"2014-01-16T20:30:05.455Z","modified":"2024-05-31T15:57:56.648Z","0.0.2":"2014-01-16T20:30:09.167Z","0.0.3":"2014-01-16T23:43:07.772Z","0.0.4":"2014-01-20T09:12:40.093Z","0.0.5":"2014-01-20T16:22:50.754Z","0.0.7":"2014-01-20T16:31:49.405Z","0.0.8":"2014-01-20T17:21:19.881Z","0.0.9":"2014-01-21T14:16:53.342Z","0.1.0":"2014-02-12T15:15:09.036Z","0.1.1":"2014-02-12T15:27:56.755Z","0.1.2":"2014-02-12T17:29:27.019Z","0.1.3":"2014-02-12T19:04:22.318Z","0.1.4":"2015-11-02T18:09:44.924Z","0.1.5":"2015-11-02T18:20:38.647Z","0.2.1":"2024-05-31T15:40:17.351Z","0.2.2":"2024-05-31T15:46:51.120Z","0.2.3":"2024-05-31T15:57:56.482Z"},"maintainers":[{"name":"callumlocke","email":"callum.locke@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/callumlocke/soup.git"},"license":"MIT","homepage":"https://github.com/callumlocke/soup#readme","bugs":{"url":"https://github.com/callumlocke/soup/issues"},"readme":"# soup\n\n[![NPM version][npm-image]][npm-url]\n\n> As of v0.2.2, now fixed to work with modern runtimes – tested on Node v21 and Bun.\n\nA little library for querying and manipulating tag soup via CSS selectors.\n\nIt manipulates the string itself (rather than operating on a parsed DOM and then re-exporting it). So it retains all the syntactic/formatting nuances of the original, such as:\n\n- attribute quotes or lack thereof,\n- whitespace,\n- invalid-but-parseable stuff,\n- omitted closing tags, etc.\n\nUse cases:\n\n- build tasks/plugins that need to manipulate markup without parsing away all the original formatting;\n- GUI webpage design tools that need to combine hand-coded HTML with WYSIWYG-driven edits;\n- anywhere else you need to make automated, light-touch changes to other people's markup.\n\n## Usage\n\n```sh\n$ npm install soup\n```\n\n```js\nvar Soup = require('soup')\n\nsoup = new Soup('<div class=thing><img src=cat.jpg></div>')\n\n// Change the img src\nsoup.setAttribute('img', 'src', 'dog.jpg')\nsoup.toString() // <div class=thing><img src=dog.jpg></div>\n\n// Add a class to the div\nsoup.setAttribute('.thing', 'class', function (oldValue) {\n  return oldValue + ' another'\n})\nsoup.toString() // <div class=\"thing another\"><img src=dog.jpg></div>\n```\n\n### Selectors\n\nSoup uses [Cheerio](https://github.com/MatthewMueller/cheerio) under the hood for finding elements to update, so you can use any CSS3 selector in the methods below.\n\n### Methods\n\n#### setAttribute(selector, attributeName, newValue)\n\n- `newValue` can be:\n  - any string – to set the attribute's value\n  - `true` – to set it as a boolean attribute (eg `required`)\n  - `false` – to delete the attribute\n  - `null` – for \"no change\"\n  - a function – which should decide what to do and return the correct value (as a string, boolean, or `null`). The function will be passed these arguments (NB. indices are relative to the start of the whole HTML string):\n    1. the current value\n    2. the start index of the attribute\n    3. the end index of the attribute\n    4. the start index of the element\n    5. the end index of the element\n- Soup will respect the original quote style of each attribute it updates whenever possible (but quotes will be added to non-quoted values if necessitated by characters in the new value).\n\nExample – adding a query string to all image URLs:\n\n```js\nsoup.setAttribute('img', 'src', function (oldValue) {\n  return oldValue + '?12345'\n})\n```\n\n#### getAttribute(selector, attributeName, callback)\n\nSame as `.setAttribute()`, except that any return value from your callback will be ignored.\n\n#### setInnerHTML(selector, attributeName, newHTML)\n\n- `newHTML` can be:\n  - a string of HTML\n  - a function that returns a string of HTML\n    - this will be passed the oldHTML\n  - `null` for \"no change\"\n\nExample – appending new content inside an element:\n\n```js\nsoup.setInnerHTML('#foo', function (oldHTML) {\n  return oldHTML + '<p>appended content</p>'\n})\n```\n\n## License\n\nCopyright (c) 2014 Callum Locke. Licensed under the MIT license.\n\n[npm-url]: https://npmjs.org/package/soup\n[npm-image]: https://img.shields.io/npm/v/soup.svg?style=flat-square\n[travis-url]: http://travis-ci.org/callumlocke/soup\n[travis-image]: https://img.shields.io/travis/callumlocke/soup.svg?style=flat-square&label=Linux%20build\n[depstat-url]: https://david-dm.org/callumlocke/soup\n[depstat-image]: https://img.shields.io/david/callumlocke/soup.svg?style=flat-square\n[devDepstat-url]: https://david-dm.org/callumlocke/soup\n[devDepstat-image]: https://img.shields.io/david/dev/callumlocke/soup.svg?style=flat-square#info=devDependencies\n","readmeFilename":"README.md","users":{"bhaskarmelkani":true}}