IMO npm has more drawbacks from security side than benefits (in short: if you install grunt via npm you get hundreds of packages where you dont know what most of them really do. Furthermore, there seem to be CVEs found in another dependency weekly…)
I just thought about which jobs grunt currently has and how they can be replaced:
- Compress all static files (
*.ttf, *.js, *.css, *.ico, *.svg) with gzip → this can be also easily done in Python with a small modified collecstatic management command.
- Run autoprefixer on all CSS-files → That was/is quite convenient for browser-prefixed CSS-attributes, but do we really need this any more?
- Generate sprites → Just drop it and use no sprites? With HTTP >= 2 sprites should have a smaller (or no?) impact on performance. This would be also a good chance to switch to SVG icons everywhere.
- jshint → just add static analysis for JS in the CI?
- For less.js (that converts all less-files to CSS-files) there are IMO more options
- minifcation (in contrast to uglification you can still review the result…)
IMO npm has more drawbacks from security side than benefits (in short: if you install grunt via npm you get hundreds of packages where you dont know what most of them really do. Furthermore, there seem to be CVEs found in another dependency weekly…)
I just thought about which jobs grunt currently has and how they can be replaced:
*.ttf,*.js,*.css,*.ico,*.svg) with gzip → this can be also easily done in Python with a small modifiedcollecstaticmanagement command.