act of scripting or automating a wide variety of tasks that software developers do in their day-to-day activities including things like: • compiling computer source code into binary code • packaging binary code • running tests • deployment to production systems • creating documentation and/or release notes
/ Batch files • ANT • Rake ➔ It’s written in JavaScript, and we all know that. ➔ It’s modular, and manages its own dependencies in a clean, source-control friendly way.
grunt-imageoptim grunt-plato grunt-aws-s3 Plugins Watch filesystem for changes Start a simple web server Launch a browser Concatenate files Compile SASS files Create Zip/Tar/Gz files Empty a directory Symlinks for web server Generate a static website from templates Karma testing Optimize images JS Static code analysis Upload/Download from AWS S3 grunt-file-creator grunt-text-replace grunt-git-describe grunt-contrib-copy Create arbitrary files Replace text in files Get tags from Git Copy files
plugins together and runs them in a specific order. ➔ It normalises (to a certain extent) the format in which you supply options to the plugins. ➔ Grunt + NPM helps manage build dependencies. As an added bonus…
It describes your project, including its dependencies. ➔ It gets auto-updated as you ‘install’ additional plugins for your project. ➔ Create one using npm init ➔ Auto-add dependencies by installing them with the -- save-dev flag