Cleaning up your Gruntfile with hidden subtasks
A Gruntfile can become less-manageable quite easily when there are multiple things wanting to run the same set of tasks. For example, the steps to compile CSS might always be to run sass and then autoprefixer, but this would be both part of the main build task, required as part of any dist task there may be, and then run on watch any time a .scss source file changes.