{"_id":"grunt-frontend","_rev":"33-a352bbf01e53c8387031b82615a73d9f","name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","dist-tags":{"latest":"2.0.4"},"versions":{"1.0.0":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"1.0.0","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"grunt.js","engines":{"node":"*"},"scripts":{"test":"grunt test"},"dependencies":{"underscore":">=1.3.x","csso":"*"},"devDependencies":{"grunt":"~0.3.8"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@1.0.0","dist":{"shasum":"86c3136d078e65f4d514468799c8f391f5770697","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-1.0.0.tgz","integrity":"sha512-bG7LjvXTByJvGKXib0tw1Xr5dqHuw5HTJMcvSXEGBnWI21t6VYgTpCvuqllH4oT3ZsYkQNLS1BOnmBCscYDBcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+Z64GI/jyC9l1Y/4UFJE9jE5wM1aTMfCvWbTQZv4YYAiAqdhz3x7zrKBWtge6CL+5Y/u+6iBF6Quo8IkWFcgOBNw=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{}},"1.0.1":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"1.0.1","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"grunt.js","engines":{"node":"*"},"scripts":{"test":"grunt test"},"dependencies":{"underscore":">=1.3.x","csso":"*"},"devDependencies":{"grunt":"~0.3.8"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@1.0.1","dist":{"shasum":"ee04bf2996e9b103611584a6d7b89ad4237c8584","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-1.0.1.tgz","integrity":"sha512-LQTH+Xt9rmllX6L7NlrIkPcn2hdeErLdPbBF4BujZXwjOyg+h/48a2BvSg86MOQ1xNxQDSn9Uz90HiIAETHOCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEV1F++rQZ81u5cug3kbQU0MHKzzEytBxhgF/FlTDUJeAiEA/TVCbMXFkLwpd5q2RvauW76QhRmhW1qKixbj5zQs2bE="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{}},"1.0.2":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"1.0.2","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"grunt.js","engines":{"node":"*"},"scripts":{"test":"grunt test"},"dependencies":{"underscore":">=1.3.x","csso":"*"},"devDependencies":{"grunt":"0.3.x"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@1.0.2","dist":{"shasum":"b1d318901e03806dc8dc23aedc4d84c73bc03daa","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-1.0.2.tgz","integrity":"sha512-fUlvocEv184EUZQNc8RaCMiR3FwPb/If3fljdx0mTpy2fxEAvVwJkxh3HnV+SzweXByqBEif0R/eJ2Lk0RlrTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICFD7yYOTIn0eX22mBTFtx1mT/mZe8TG0gsVX//oA8sNAiEAxWP/aDTj5dxieF8iVr49a/W0C6q390nRlqSBO6PtgeM="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{}},"1.0.3":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"1.0.3","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"grunt.js","engines":{"node":"*"},"scripts":{"test":"grunt test"},"dependencies":{"underscore":">=1.3.x","csso":"*"},"devDependencies":{"grunt":"0.3.x"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@1.0.3","dist":{"shasum":"06d1823f257ec5def02238ec061763cdec6ed55e","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-1.0.3.tgz","integrity":"sha512-TlivKsdSZfMB4JnHg1lNtXiqg4pRveXXGsVkYGBL/gO76oLAgpSG181dLZbf124rJmvIH+q0hQEOZ/cI9FvH7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTHCR/Iago4ucJDp7Q3oXQ7X9slY8vAv8CvIPshUck6gIhAPOHfBhyY690i0BaodaIv09UGcSbyxxwsv16YC/bteDr"}]},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{}},"1.0.4":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"1.0.4","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"grunt.js","engines":{"node":"*"},"scripts":{"test":"grunt test"},"dependencies":{"underscore":">=1.3.x","csso":"*"},"devDependencies":{"grunt":"0.3.x"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@1.0.4","dist":{"shasum":"946da19856a6a214f36adbe6562918d39ea856e2","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-1.0.4.tgz","integrity":"sha512-tchMyRk69WrqpbOqZjQUsGCo0udkrnt8H6bzERwPH32MVHbxLsvN7Txqi8eClhCzD96BwpovDZpyunL8x4W+pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEwcAdx3DCVMfwkAMi9viiid+VEwlnwM3C9+k7iKTyqUAiBkLwGW6/hNSG3wPtq1/0JL9H+FOLBHq5FqPHRXsFH51g=="}]},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{}},"1.1.0":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"1.1.0","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":"*"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"underscore":">=1.3.x","csso":"*","grunt-contrib-uglify":"~0.2"},"peerDependencies":{"grunt":"~0.4.0"},"devDependencies":{"grunt":"~0.4","grunt-contrib-jshint":"~0.3.0","grunt-contrib-nodeunit":"~0.1.2"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@1.1.0","dist":{"shasum":"959bec65944eba96cb0e9fd563d951fc0049ebeb","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-1.1.0.tgz","integrity":"sha512-uKBh6MYTY0lJrIZqjtJwd3YT6QSo19u+LyD03DSZ0hlBEZWyabcIhNhW7H4Qi5GVKbq4ADoxuD2b4kbp6L/x4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkxou1Z9fVr/JL73kVaJqeBmoQLierxYKhQ1dISCdm0QIgbt27hu70LzE+au4fTm5mdlon2s3uWpI7oMNYFVvzVk8="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{}},"1.1.2":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"1.1.2","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":"*"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"underscore":">=1.3.x","csso":"*","grunt-contrib-uglify":"~0.2"},"peerDependencies":{"grunt":"~0.4.0"},"devDependencies":{"grunt":"~0.4","grunt-contrib-jshint":"~0.3.0","grunt-contrib-nodeunit":"~0.1.2"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@1.1.2","dist":{"shasum":"4b1b65c02bf9061d1e7d8098e791b339ff17804b","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-1.1.2.tgz","integrity":"sha512-lLR0eAyqprQKH/yJPyrYqQ4RsltdXgECIUSz1bzzkpBFX4NWXkQPz3/ui8jgrsIG8yhBBDruX3K7t7NzYWAD+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT8WvkbqWIePMN+zikQVAVcByI3IR6vdlvJ7UXgFgYMgIhAItCtKEzs2lhXyBccr0Qjq5v9Vjulw/nUzJ4QsuVdk5z"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{}},"1.1.3":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"1.1.3","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":"*"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"underscore":">=1.3.x","csso":"*","grunt-contrib-uglify":"~0.2"},"peerDependencies":{"grunt":"~0.4.0"},"devDependencies":{"grunt":"~0.4","grunt-contrib-jshint":"~0.3.0","grunt-contrib-nodeunit":"~0.1.2"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@1.1.3","dist":{"shasum":"c8a9386407718fec1cb3fa9ccd8b14c2e925b33f","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-1.1.3.tgz","integrity":"sha512-lOjIhLw0R7U0MRSRvAto+Tu/XZMmHCq6rJeEJVP7+k7SjUjCTXtqXN4eReW/+lMo+//FPjW5Fui/PgjRN8Q+ZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpdvTv6atitXGJDSvPUCsJrSLRHYSDSg4uBbyk996pjgIgX0CLn9SceRGe49X6h2RqooudslXhijNgmV5i+8adJpw="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{}},"2.0.0":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"2.0.0","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":"*"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"underscore":"~1.4.0","rework":"~0.18.1","uglify-js":"~2.4.0","csso":"~1.3.8"},"peerDependencies":{"grunt":"~0.4.0"},"devDependencies":{"grunt":"~0.4","grunt-contrib-jshint":"~0.3.0","grunt-contrib-nodeunit":"~0.1.2"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@2.0.0","dist":{"shasum":"32212d952c82138c7dca18955c6219f561246ec1","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-2.0.0.tgz","integrity":"sha512-DdSxdCfSvj6VmgKAWTsojJLwGt7ixcnC/oRq1OvJ0ifqz5ZRHYBnPpPIQITRPWf6B6Ujk5jjPvnzTW2TkICbCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEw3ONMcVm9zv01CAyNiWgqPnoVkrYJvlEVc6FooasXAiAbyWiZGlfK2tOM4rr4EN9U0U7cHgoiLm8v7zSe9UxW/Q=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{}},"2.0.1":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"2.0.1","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":"*"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"underscore":"~1.4.0","rework":"~0.18.1","uglify-js":"~2.4.0","csso":"git+https://github.com/sergeche/csso.git#transition-fix"},"peerDependencies":{"grunt":"~0.4.0"},"devDependencies":{"grunt":"~0.4","grunt-contrib-jshint":"~0.3.0","grunt-contrib-nodeunit":"~0.1.2"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@2.0.1","dist":{"shasum":"a121c3610e50a116839ece75df506231063b692d","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-2.0.1.tgz","integrity":"sha512-ffUhluCRARWu6KqBTBuVK+SqJbclGgk8rttdjHx8JsPQuVz3y/j5cybQPQxYo8nksfx1M5pV0SrNBWudz8/xdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQCLd1j+LoCINyc6v8pwCPLXAts2ySjDnLgmhprqXpbANgIfPQqNRvZT66g/zwUhoLPuomSsoESERfZGcw/CkcHrcQ=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}]},"2.0.2":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"2.0.2","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":"*"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"underscore":"~1.4.0","rework":"~0.18.1","uglify-js":"~2.4.0","csso":"git://github.com/sergeche/csso.git#transition-fix"},"peerDependencies":{"grunt":"~0.4.0"},"devDependencies":{"grunt":"~0.4","grunt-contrib-jshint":"~0.3.0","grunt-contrib-nodeunit":"~0.1.2"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@2.0.2","dist":{"shasum":"95a41a6c5abea06a631f1be0f5d8bf0717336a92","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-2.0.2.tgz","integrity":"sha512-I4CZlZSy7ZvCxFxDxUBOr75Y4CxLEsDgDaYqNQsHvrbaxBWLg3p45dYADqCzEIZowbM1saQB9Hi4A42uvg6/uA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBs6mjCPqq1ftHFPzsqhCSI4EwDIJ3bdMEzz4dqh3EQvAiBH6tGi3F9UCJmCLNZ+onsQ1cYu3XKRN0JvYjwc7/C4lw=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}]},"2.0.3":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"2.0.3","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":"*"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"underscore":"~1.4.0","rework":"~0.18.1","uglify-js":"~2.4.0","csso":"~1.3.9"},"peerDependencies":{"grunt":"~0.4.0"},"devDependencies":{"grunt":"~0.4","grunt-contrib-jshint":"~0.3.0","grunt-contrib-nodeunit":"~0.1.2"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@2.0.3","dist":{"shasum":"c07ba36d3e9fca59f97d188de0cf4d4553b6e356","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-2.0.3.tgz","integrity":"sha512-TlM4gSUt2EaLKG4plEn8htmT641ngQQc7fci1BHNVvszvNc6NOyzfhOrygYZlN8hN4w6Z1SekeCWyfIp8Q19IA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMDk2te1Y0GGfYVSPclYCRF/o6VUQLmtMGtvou0PfP5QIhAMGu4gIVeDmW8Oix48C6aU6wjRvH7vP+80QROwjEyffY"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}]},"2.0.4":{"name":"grunt-frontend","description":"CSS and JS minifier that respects source modification","version":"2.0.4","homepage":"https://github.com/sergeche/grunt-frontend","author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"licenses":[{"type":"MIT","url":"https://github.com/sergeche/grunt-frontend/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":"*"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"underscore":"~1.4.0","rework":"~0.18.1","uglify-js":"~2.4.0","csso":"~1.3.9"},"peerDependencies":{"grunt":"~0.4.0"},"devDependencies":{"grunt":"~0.4","grunt-contrib-jshint":"~0.3.0","grunt-contrib-nodeunit":"~0.1.2"},"keywords":["gruntplugin","frontend","front-end","css","js"],"_id":"grunt-frontend@2.0.4","_shasum":"fbe15e302fc3048d52f84aa6da7ce10d996b950a","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"serge.che","email":"serge.che@gmail.com"},"maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"dist":{"shasum":"fbe15e302fc3048d52f84aa6da7ce10d996b950a","tarball":"https://registry.npmjs.org/grunt-frontend/-/grunt-frontend-2.0.4.tgz","integrity":"sha512-5GcQuddGw4nA5zec0J+fcK4U/OsOUx2IxnN3sHAICvy/Lf8PSGLmG3BJ9hYoZjsSf5xOsbgh825h+0TvnWK/lQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+YgcLJO39rPhc6u9OmGonrNzKubP5ZG4sSewkKwbhPAiAc1/bEyyP6oHr92Bnf1oj3tsmwQrssq2RUcVfWtdjaiQ=="}]}}},"readme":"A [Grunt.js](http://gruntjs.com) task that compiles CSS and JS files with respect of _file modification_ date. For JS, it uses built-in [UglifyJS](https://github.com/mishoo/UglifyJS) minifier, for CSS — Yandex’s [CSSO](https://github.com/css/csso) with automatic `@import` inlining and `url()` rewriting.\n\nUnlike basic minifiers, this task generates a hidden catalog file (`.build-catalog.json`) that stores state, last compilation date and checksum of minified files. Every time you call `frontend-*` task, it will look into this catalog and check if the state of files being minified was changed. If not, the file _will not_ be re-minified which saves CPU time and _modification date_. This date (or checksum hash) can be used to modify URLs to minified files for effective caching.\n\n## Usage ##\n\nThis plugin provides `frontend-js`, `frontend-css` and `frontend-index` multi-tasks. Global config can be defined in `frontend` key. All tasks are [file-based](http://gruntjs.com/configuring-tasks#files). Here’s example `Gruntfile.js`:\n\n```js\nmodule.exports = function(grunt) {\n    grunt.initConfig({\n    \t// Global config for each frontend-* task. These values can\n    \t// be overridden in `options` key of each task\n    \tfrontent: {\n    \t\t// Force file minification even if they were not modified\n           force: false,\n        \n           // Path to project sources root folder.\n           // It is used to resolve absolute paths in CSS imports,\n           // for example: @import \"/css/file.css\" will be resolved \n           // to './src/files/css/file.css'\n           srcWebroot: './src/files',\n\n           // Destination root folder.\n           // Used to update minified files paths in catalog,\n           // e.g. instead of storing '/Users/foo/project/out/css/minified.css' path, \n           // task will cut-out path to webroot and store '/css/minified.css' instead\n           webroot: './out',\n           \n           // A scheme for creating versioned URLs. Versioned URLs\n           // can are stored in catalog and used to rewrite paths \n           // for `url()` values of CSS.\n           // Can be a string or a function.\n           // A string is a template with the following placeholders:\n           // * version: version tag (in most cases it’s CRC32 of file)\n           // * url: absolute URL, e.g. `/path/to/file.css`\n           // * dirname: absolute path to file’s directory, e.g. `/path/to/`\n           // * basename: file’s full name, e.g. `file.css`\n           // * filename: name of file, e.g. `file`\n           // * ext: file’s extension, e.g. `css`\n           rewriteScheme: '/-/<%= version %><%= url %>',\n           \n           // function to post-process file’s content before it will be\n           // saved to disk\n           postProcess: function(content, fileInfo) {}\n    \t},\n    \t\n    \t// Task for concatenating and minifying JS files\n        'frontend-js': {\n            main: {\n                // task options\n                options: {\n                    // Minify JS\n                    minify: true,\n                    \n                    // config for UglifyJS\n                    uglify: {}\n                },\n                \n                files: {\n\t\t\t\t\t'out/js/f.js': [\n\t\t\t\t\t\t'test/js/file1.js',\n\t\t\t\t\t\t'test/js/file2.js'\n\t\t\t\t\t]\n\t\t\t\t}\n            }\n        },\n        \n        // Task for concatenating and minifying CSS files\n        'frontend-css': {\n        \tmain: {\n\t        \toptions: {\n\t        \t\t// inline @imports\n\t        \t\tinline: true,\n\t        \t\t\n\t        \t\t// rewrite all url() to versioned ones.\n\t        \t\t// the `rewriteScheme` is used to create versioned URL\n\t        \t\trewriteUrl: true,\n\t        \t\t\n\t        \t\t// minify CSS\n\t        \t\tminify: true\n\t        \t},\n\t        \tfiles: [\n\t\t\t\t\t{src: 'test/css/*.css', dest: 'out/css'}\n\t\t\t\t]\n        \t}\n        },\n        \n        // Task fo indexing files and storing its’ version hash\n        // and verioned URL in catalog. Useful for fast lookups of \n        // versioned files\n        'frontend-index': {\n        \tmain: {\n\t\t\t\tfiles: [{src: 'test/css/**/*.{css,jpg,png}'}]\n\t\t\t}\n        }\n    });\n};\n```\n\nThis task can be used together with [docpad-plugin-frontend](https://github.com/sergeche/docpad-plugin-frontend) to automatically generate cache-effective URLs to assets for [DocPad](https://github.com/bevry/docpad)-generated web-site.\n","maintainers":[{"name":"serge.che","email":"serge.che@gmail.com"}],"time":{"modified":"2022-06-18T15:02:24.678Z","created":"2012-11-24T10:43:12.359Z","1.0.0":"2012-11-24T10:43:14.552Z","1.0.1":"2013-01-04T13:09:36.360Z","1.0.2":"2013-01-10T17:20:52.638Z","1.0.3":"2013-01-11T12:32:51.219Z","1.0.4":"2013-01-11T13:19:51.535Z","1.1.0":"2013-03-23T13:46:41.140Z","1.1.2":"2013-04-23T14:05:22.358Z","1.1.3":"2013-09-04T13:47:05.347Z","2.0.0":"2013-09-12T09:34:02.608Z","2.0.1":"2013-10-01T08:09:32.031Z","2.0.2":"2013-10-14T14:25:58.102Z","2.0.3":"2013-10-15T13:30:06.848Z","2.0.4":"2014-08-07T15:34:52.660Z"},"author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git://github.com/sergeche/grunt-frontend.git"},"homepage":"https://github.com/sergeche/grunt-frontend","keywords":["gruntplugin","frontend","front-end","css","js"],"bugs":{"url":"https://github.com/sergeche/grunt-frontend/issues"},"readmeFilename":"README.md"}