{"_id":"grunt-dom-munger","_rev":"34-e404378d839c612fd16b47775c19a4f2","name":"grunt-dom-munger","description":"Read and manipulate HTML with CSS selectors. Ex. read <script> tags from your html.  Remove nodes, add nodes, and more.","dist-tags":{"latest":"4.0.0"},"versions":{"0.1.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with jsdom and jquery.  Ex.  read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"0.1.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery"],"dependencies":{"jsdom":"~0.5.5"},"_id":"grunt-dom-munger@0.1.0","dist":{"shasum":"66b35b244d763af457a5b28f825408d2abba6665","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-0.1.0.tgz","integrity":"sha512-dtMIBZ/Krn1IpNZyBBFeF2DtpWIR83jXC06vmU/db5R5/KQXsC/t8//Dbp2kNPQYJu6a5m+qLfaRz/Mdya7xcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC01vsM6sFucVdV5JuyQ4wTwHz+XQNsylTg+6Ps1voV6AIgOcvdt9JJyVte+nc2djXm+7qlNBwnaQFQwD9VMnsV4L0="}]},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"0.2.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with jsdom and jquery.  Ex.  read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"0.2.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery"],"dependencies":{"jsdom":"~0.5.5"},"_id":"grunt-dom-munger@0.2.0","dist":{"shasum":"deadf1f762e48715f07b0e7c82377054d137b888","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-0.2.0.tgz","integrity":"sha512-NrKJiFoqGAQv86wJOuoj59PhCKmhsK7TSCOBpy418gLuycAagHZFH0FqpZP0CskDa4Qxr95OAgIq+b+f8wg9GQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfUT1vXNeQgM6Q1flfbtyNHukaYZBYmpsDxDsKDuzyXAIhAOUfGfHPTVy2s6azr2RJhe+5vNlCXzEtj0qstdZ8ns3d"}]},"_npmVersion":"1.1.63","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"1.0.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with jsdom and jquery.  Ex.  read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"1.0.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery"],"dependencies":{"jsdom":"~0.5.5"},"_id":"grunt-dom-munger@1.0.0","dist":{"shasum":"fc8170e51c028541f9e8c86cea4e97efc70b2def","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-1.0.0.tgz","integrity":"sha512-5/HqI6ajLWeQn4FQhUBf3608fl5iAD5bdDRK4pwEw14nGc/ROwSFI6w98oX3J8QEErslwyxJApmeNoinrZjDng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyXtDgUCU25gsV+cIqbMEarTnj+bwEPhkhWecoqyDVSQIhAMpwTxHW0ymBwbEk07ESE8GI5t6boXMBa0wL3DQh6azr"}]},"_npmVersion":"1.1.63","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"1.0.1":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with jsdom and jquery.  Ex.  read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"1.0.1","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery"],"dependencies":{"jsdom":"~0.5.5"},"_id":"grunt-dom-munger@1.0.1","dist":{"shasum":"becbc38ff436986dcbc7d31be829732a1b3e46d0","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-1.0.1.tgz","integrity":"sha512-la1LZxpDp8VYeAe2X6aM+MnU+GFJuVx/e9oMH9ZsTHqm86BuynOoq306uousowNb+W4zPqMCmNGtILkwSnfhhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSNH4P09zc5A13P8uyZFeRnWsdrzXePk7Qkeq/xW5i1wIgOXzKZiXuPwmWM8IqTwpr1v+UPrx/pFJJTex1HcmusIM="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"2.0.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with jquery (or cheerio).  Ex.  read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"2.0.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery"],"optionalDependencies":{"jsdom":"~0.5.5","cheerio":"~0.12.0"},"_id":"grunt-dom-munger@2.0.0","dependencies":{"jsdom":"~0.5.5","cheerio":"~0.12.0"},"dist":{"shasum":"5e53319ed370c2ccbd62684b53299b1548c625dd","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-2.0.0.tgz","integrity":"sha512-JjvIxV/Dqd0F1eDT36+iAoQEVwNSJKAPimqBBJePbTwFCmW8+RVXjyhJcSctCyhqghyzhFylKndhGK2MnHpE7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAKAjvFYdrrGox4rxRTWq0C9XX3wJcsLXshBfpPEOn1iAiBOVYNrIN0KAPqHfWfrpth6zZLzPLV9Amtowgb+VUwgwA=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"2.0.1":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with jquery (or cheerio).  Ex.  read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"2.0.1","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery"],"optionalDependencies":{"jsdom":"~0.5.5"},"dependencies":{"cheerio":"~0.12.0","jsdom":"~0.5.5"},"_id":"grunt-dom-munger@2.0.1","dist":{"shasum":"7fff4d1f3b4aea96abef3a5b153d404c34a44a96","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-2.0.1.tgz","integrity":"sha512-eHEwGDK6COa3NooHvTeB86pXnotFzlvqqQ8K9ya2eHJjEkaKM0PcT5RSu4IE7IpOFDnQwmiEUQCNF2VTHsZ2fw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIETREmccMzf7OnENQgL3RbCq3XakqZNp0npF/svZaA5XAiEAxCyRHTy5aTPgXw1BAZwSKRM0CUcLmE3BFAY8IFrgM8M="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"3.0.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with CSS selectors. Ex. read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"3.0.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery"],"dependencies":{"cheerio":"~0.12.3"},"_id":"grunt-dom-munger@3.0.0","dist":{"shasum":"6e1ae590538bf21da74408018572d878325a0af8","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-3.0.0.tgz","integrity":"sha512-7ZTbKAEt40vLpzDEVcNsiEKNRMcvuYzxH/RzEHpjL010LqJraQqQnWfVEybojaOhkgR+unn6y0P28zdYirHuhw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5/AqDVwG4xbpL3YNPvTHo5FvKnHtr9NwXJLii1ChI0wIhAMiwymHNpYqvu7RvlWk0n6dwkI5tMP52MtvdXZFNPXB1"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"3.0.1":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with CSS selectors. Ex. read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"3.0.1","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery"],"dependencies":{"cheerio":"~0.12.3"},"_id":"grunt-dom-munger@3.0.1","dist":{"shasum":"b1835352917e1e55056010a5e9ee4aa99575eca0","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-3.0.1.tgz","integrity":"sha512-ivAb2vr6OWRFEG4DyFM22pIzqC96nT/stD2NfYo2GARao3yuQ9QfZ+NpnYVMBAIlBlNcD+BpkaZ2RcZ0t5S69Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhWvz4kyaAHfBK4gbUr5hLYNxw78oENfZXWfVhjRczxAiEAiI7kWvkcViLqlMpHbs+yK/+by3Ay7GM9TDxomQ6Qd0k="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"3.1.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with CSS selectors. Ex. read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"3.1.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery","cheerio"],"dependencies":{"cheerio":"~0.12.3"},"_id":"grunt-dom-munger@3.1.0","dist":{"shasum":"c2d60f2f1ed0d224f99daebc4d09018b757b34aa","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-3.1.0.tgz","integrity":"sha512-Lc/96H3KWBJz6UhTRQtbBOAaJmI25ur9c9rGHnAcEKkbifXAlaw+1QLalvgtTrMOG4dAgZ7ujHkCOolzBwgeZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBmO0tHNJAOVEw+/l0JTNdnsi44x3u+pTL2DkoP+WcTYAiEA5UIlHWwX/SGNI9YAjCGGoKJAfJ2y5VuF6lLwETwBlYc="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"3.2.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with CSS selectors. Ex. read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"3.2.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.1.2","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery","cheerio"],"dependencies":{"cheerio":"~0.12.3"},"_id":"grunt-dom-munger@3.2.0","dist":{"shasum":"fcb322462e8aaa57af0b8126dc599c35d721b095","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-3.2.0.tgz","integrity":"sha512-QhzW7aSyMowrMQlSdfiX5r1kYvjN7wtC8dLFBK1ooYCMPqlcl8EhvNjsOvPgENhipkB5x/y97JkG7ODIU+Hbuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBCR416Bj0HdAgy6oHJNZzt9/xGWJJ4kFArgprzvHs+AIhAKMKBY20PNpSz+sAePQYEuxjiXT79mzH1d8x7B4AhCM+"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"3.3.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with CSS selectors. Ex. read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"3.3.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0","grunt-contrib-nodeunit":"~0.3.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery","cheerio"],"dependencies":{"cheerio":"~0.12.3"},"_id":"grunt-dom-munger@3.3.0","dist":{"shasum":"67600c8c73bf6fa3a554c5d69bc33f8f1b39dec5","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-3.3.0.tgz","integrity":"sha512-zux5heJwnrF/kAIhciZzTmvB1H8+H2cmB25ean7dSfdHdkBVhhe5LwNzmA3YGUxOojZrddSwQ2QmVEOybwIxYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeT3sdL2KsGGJSUWKJO/6tfFmtLF/R62FmmtPUc2IPvQIhAOjrlxwch1fI3IlUV3PamI6HRYrfolGAvrTzKErIjCOy"}]},"_from":".","_npmVersion":"1.3.22","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"3.4.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with CSS selectors. Ex. read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"3.4.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-clean":"~0.4.0","grunt":"~0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"~0.2.0","grunt-contrib-nodeunit":"~0.3.0"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin","html","jquery","cheerio"],"dependencies":{"cheerio":"~0.12.3"},"_id":"grunt-dom-munger@3.4.0","dist":{"shasum":"2d0d8f964f5a99511e914ad1d53f1f71c5ab6d89","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-3.4.0.tgz","integrity":"sha512-YQOxY2mB1o65cmDFRTp5vM1iR39ujmVpgXHvM2QEHinr7PTb8ocgJAQWYO4RSs9oPT7TxZjPKZoJaY4JGo4iSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBNvZkfPett3jMcT1bMbG7evb2bnO//uTiFPNjKLjTo5AiA5ISDkox0IgxmQTKOuNnvkb67UGU9hnvOUTIQ43+aDPA=="}]},"_from":".","_npmVersion":"1.3.22","_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"}],"directories":{}},"4.0.0":{"name":"grunt-dom-munger","description":"Read and manipulate HTML with CSS selectors. Ex. read <script> tags from your html.  Remove nodes, add nodes, and more.","version":"4.0.0","homepage":"https://github.com/cgross/grunt-dom-munger","author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cgross/grunt-dom-munger/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">=10"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt":"^1.1.0","grunt-contrib-clean":"^2.0.0","grunt-contrib-concat":"^1.0.1","grunt-contrib-jshint":"^3.0.0","grunt-contrib-nodeunit":"^3.0.0","grunt-contrib-uglify":"^5.0.1"},"peerDependencies":{"grunt":"^1.1.0"},"keywords":["gruntplugin","html","jquery","cheerio"],"dependencies":{"cheerio":"^1.0.0-rc.10"},"gitHead":"b6e2e5a19cd2130d511a70700fc579e255283cf3","_id":"grunt-dom-munger@4.0.0","_nodeVersion":"16.3.0","_npmVersion":"7.18.1","dist":{"integrity":"sha512-+VjKRfPTYPuonPt9abzu+jk3+6avVXAO99RU/zs3nENPpnTnsW6EIzIdCzbpmXxpyyOE+XVbG/n9tACWgPLapw==","shasum":"bc90a8364ec69d5d5bbce9bed503b4742727ccf7","tarball":"https://registry.npmjs.org/grunt-dom-munger/-/grunt-dom-munger-4.0.0.tgz","fileCount":43,"unpackedSize":469717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgz7qECRA9TVsSAnZWagAAFoYP/jCqux+mos8BrQnsGxvr\neVuFDruUMVjvFL1AVdAwUa5kaYffniIyNu8xcxLQYGmJWaorTLxxmbuFlbOS\nZ121zfgkoI6SyxGK+GQy+OvOPQTOlvSuDFFCFOLZW9Ng2+VIVUlAWkT68Awx\nMOwYNhBKzZh9hBRrgfX4QITPyTYPcQrKDo0w0I+GchT1yxMSppk4d+sIhWT5\nS09ql32+JVnTKMTYdqI24jVouegS1rRxJLytYBfJ8BolFRGCgzoTErCJ4LXJ\nhs868qt2COcBIOOVvcbKXCcUMA1DwWigkSMkSFjSd2lvkBaJsAgn3DVaNiLP\nEjD8exH9pRqYTk4XzLfWwMykofvn1BtnXL27OVG1zEQMBL4Svqr0xvrE+j0E\n2PzbdkcizL0hQR8399VYyisG6N2v69wzrk4Pkl4w5iB/HwDPzHLAd7hbo969\nt0VeNbRLwFWgucyZEscuvClrQ/V52ZqDd0BnOBhXPOLh1iTjdO/8VWy+ScV+\n2AvbbfZRPc7YItWfrF/2G7QoZgoY/DqsQfBajLaAMA+5h3Iu8pNvCrXXXLKr\nNO11Yu0H8gEVX6WhuOzvicGfmDqQ2AJwUfwC7M21RqbskuKhGjbg3F8IyA4Z\ni0sUHIQdgzeBtLBg5CmDGXXNldo5v3Rv4QIFRoxLZb4v4yscHK8aVmHJ/YXN\nG/+u\r\n=yPf8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjz/QbO9EE1rtRD3g2IkPbz1F26v26VVyKetLFAQNxQQIgUhrlHvQOYvSBnaIixEN7dXjmTrUItVtvyBOv+EF6lrY="}]},"_npmUser":{"name":"cgross","email":"schtoo@schtoo.com"},"directories":{},"maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"},{"name":"niemyjski","email":"bniemyjski@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grunt-dom-munger_4.0.0_1624226436076_0.7919494217125889"},"_hasShrinkwrap":false}},"readme":"# grunt-dom-munger [![Build](https://github.com/cgross/grunt-dom-munger/actions/workflows/build.yml/badge.svg)](https://github.com/cgross/grunt-dom-munger/actions/workflows/build.yml)\n\n> Read and manipulate HTML documents using CSS selectors.\n\nUse this task to read and transform your HTML documents.  Typical use cases include:\n\n* Read the references from your `script` or `link` tags and pass those to `concat`,`uglify`, etc automatically.\n* Update HTML to remove script references or anything that is not intended for your production builds.\n* Add, update, or remove any DOM elements for any reason.\n\n## Getting Started\n\nThis plugin requires Grunt `~1.1.0` and Node `>=10.0`.\n\n```shell\nnpm install grunt-dom-munger --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-dom-munger');\n```\n\n## The \"dom_munger\" task\n\n### Overview\n\nThe dom-munger reads one or more HTML files and performs one or more operations on them.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        //You typically would only specify one option per target but they may be combined\n        //All options (except callback) can be arrays\n        read: [\n          {selector:'link',attribute:'href',writeto:'myCssRefs',isPath:true},\n          {selector:'script[src]',attribute:'src',writeto:'myJsRefs',isPath:true}\n        ],\n        remove: '#removeMe',\n        update: {selector:'html',attribute:'appmode', value:'production'},\n        prefix: {selector:'link',attribute:'href',value:'project-name/'},\n        suffix: {selector:'html',attribute:'version',value:'.0.1'},\n        append: {selector:'body',html:'<div id=\"appended\">Im being appended</div>'},\n        prepend: {selector:'body',html:'<span>Im being prepended</span>'},\n        text: {selector:'title',text:'My App'},\n        callback: function($){\n          $('#sample2').text('Ive been updated via callback');\n        }\n      },\n      src: 'index.html', //could be an array of files\n      dest: 'dist/index.html' //optional, if not specified the src file will be overwritten\n    },\n  },\n})\n```\n\n### Options\n\nNote: each option (except callback) requires a `selector`.  This can be any valid CSS selector.  Also, each option (except callback) can be a single object (or String for `remove`) or an array of objects/Strings.  In this way, one target may perform multiple actions of the same type.\n\n#### options.read\n\nExtract the value of a given attribute from the set of matched elements then set the values into `dom_munger.data.{writeto}`.  A typical use-case is to grab the script references from your html file and pass that to `concat`,`uglify`, or `cssmin`.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        read: {selector:'script',attribute:'src',writeto:'myJsRefs',isPath:true}\n      },\n      src: 'index.html'\n    },\n  },\n  uglify: {\n    dist: {\n      src:['other.js','<%= dom_munger.data.myJsRefs %>'],\n      dest: 'dist/app.min.js'\n    }\n  }\n})\n```\n\nWhen `isPath` is true, the extracted values are assumed to be file references and their path is made relative to the Gruntfile.js rather than the file they're read from.  This is usually necessary when passing the values to another grunt task like `concat` or `uglify`.\n\n#### options.remove\n\nRemoves one or more matched elements.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        remove: '#removeMe' //remove an element with the id of removeMe\n      },\n      src: 'index.html',\n      dest: 'dist/index.html'\n    },\n  },\n})\n```\n\n#### options.update\n\nUpdates the value of a given attribute for the set of matched elements.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        update: {selector:'html',attribute:'appmode', value:'production'}, //set a appmode=\"production\" on <html>\n      },\n      src: 'index.html',\n      dest: 'dist/index.html'\n    },\n  },\n})\n```\n\n#### options.prefix\n\nPrepends to the value of a given attribute for the set of matched elements.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        prefix: {selector:'link',attribute:'href', value:'project-name/'}, //prepend project-name to the href attribute, for example href=\"project-name/next/path\" on <link>\n      },\n      src: 'index.html',\n      dest: 'dist/index.html'\n    },\n  },\n})\n```\n\n#### options.suffix\n\nAppends to the value of a given attribute for the set of matched elements.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        suffix: {selector:'html',attribute:'version', value:'.0.1'}, //append .0.1 to the version attribute, for example version=\"1.0.1\" on <html>\n      },\n      src: 'index.html',\n      dest: 'dist/index.html'\n    },\n  },\n})\n```\n\n#### options.append\n\nAppends the content to each matched element.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        append: {selector:'body',html:'<div id=\"appended\">Im being appended</div>'}\n      },\n      src: 'index.html',\n      dest: 'dist/index.html'\n    },\n  },\n})\n```\n\n#### options.prepend\n\nPrepends the content to each matched element.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        prepend: {selector:'body',html:'<span>Im being prepended</span>'}\n      },\n      src: 'index.html',\n      dest: 'dist/index.html'\n    },\n  },\n})\n```\n\n#### options.text\n\nUpdates the text content of the matched elements.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        text: {selector:'title',text:'My App'} //Updates the <title> to \"My App\"\n      },\n      src: 'index.html',\n      dest: 'dist/index.html'\n    },\n  },\n})\n```\n\n#### options.callback\n\nWhen you feel like busting loose.  Set a callback function and use the passed JQuery object to do anything you want to the HTML.  The second argument to the callback is the name of the file being processed.  If the callback function returns `false` the source file is assumed to only have been read and no output will be written.\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    your_target: {\n      options: {\n        callback: function($,file){\n          //do anything you want here\n        }\n      },\n      src: 'index.html',\n      dest: 'dist/index.html'\n    }\n  }\n})\n```\n\n### Quick Note About Ordering\n\nWhen specifying multiple actions for a single task, the order of the actions is always:\n\n* `read` actions\n* `remove` actions\n* all other actions\n\nThis ensures that you can use one task to read script or link tags, then remove them, then append tags containing the concatenated/minified references.\n\n## Full End-to-End Example for Concatenation and Minification\n\nThe following is an example config to read your js and css references from html, concat and min them, and\nupdate the html with the new combined files.\n\nThis configuration would be run in this order:\n\n```shell\ngrunt dom_munger cssmin uglify\n```\n\n```js\ngrunt.initConfig({\n  dom_munger: {\n    main: {\n      options: {\n          read: [\n            {selector:'link',attribute:'href',writeto:'cssRefs',isPath:true},\n            {selector:'script',attribute:'src',writeto:'jsRefs',isPath:true}\n          ],\n          remove: ['link','script'],\n          append: [\n            {selector:'head',html:'<link href=\"css/app.full.min.css\" rel=\"stylesheet\">'},\n            {selector:'body',html:'<script src=\"js/app.full.min.js\"></script>'}\n          ]\n        }\n      },\n      src: 'index.html',\n      dest: 'dist/index.html'\n    },\n  },\n  cssmin: {\n    main: {\n      src:'<%= dom_munger.data.cssRefs %>', //use our read css references and concat+min them\n      dest:'dist/css/app.full.min.css'\n    }\n  },\n  uglify: {\n    main: {\n      src: '<%= dom_munger.data.jsRefs %>', //use our read js references and concat+min them\n      dest:'dist/js/app.full.min.js'\n    }\n  }\n});\n```\n\n## Release History\n\n* v4.0.0 - Updated to grunt 1.1.0 and bumped min node version to 10.0. **Please note that whitespace/line endings may be removed, this is caused by parse5 producing a spec-compliant DOM structure**\n* v3.4.0 - Update task actions ordering.  Reads always first, removes second, all others after.\n* v3.3.0 - All task actions can now be arrays for multiple actions per type.\n* v3.2.0 - Added second `file` argument to callback (#15).\n* v3.1.0 - Prefix and suffix options added.  Fixes for issues #8, #10, and #11.\n* v3.0.0 - Removed `jsdom` engine as `cheerio` is as good without needing contextify.\n* v2.0.0 - Moved to `cheerio` engine.  Upgraded jquery to v2.\n* v1.0.1 - `remove` moved to the second to last operation performed (only `callback` is later).\n* v1.0.0 - Read task modified to write values to `dom_munger.data` rather than to write directly to a task config.\n* v0.1.0 - Initial release.\n","maintainers":[{"name":"cgross","email":"schtoo@schtoo.com"},{"name":"niemyjski","email":"bniemyjski@gmail.com"}],"time":{"modified":"2022-06-18T14:53:03.517Z","created":"2013-04-02T01:38:09.542Z","0.1.0":"2013-04-02T01:38:10.971Z","0.2.0":"2013-04-02T19:17:09.021Z","1.0.0":"2013-04-03T14:36:13.484Z","1.0.1":"2013-05-08T19:07:51.187Z","2.0.0":"2013-06-12T18:44:48.279Z","2.0.1":"2013-06-12T19:04:19.816Z","3.0.0":"2013-11-13T19:59:18.189Z","3.0.1":"2013-11-18T20:08:39.291Z","3.1.0":"2013-11-27T16:27:11.335Z","3.2.0":"2014-01-30T14:47:01.816Z","3.3.0":"2014-02-11T19:49:35.946Z","3.4.0":"2014-02-11T21:29:39.697Z","4.0.0":"2021-06-20T22:00:36.283Z"},"author":{"name":"Chris Gross","email":"schtoo@schtoo.com"},"repository":{"type":"git","url":"git://github.com/cgross/grunt-dom-munger.git"},"readmeFilename":"README.md","users":{"jmav":true,"davidrlee":true,"noyobo":true,"maxime1992":true,"saravananr":true},"homepage":"https://github.com/cgross/grunt-dom-munger","keywords":["gruntplugin","html","jquery","cheerio"],"bugs":{"url":"https://github.com/cgross/grunt-dom-munger/issues"}}