{"action":"created","issue":{"url":"https://api.github.com/repos/ericelliott/cloverfield/issues/2","labels_url":"https://api.github.com/repos/ericelliott/cloverfield/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/ericelliott/cloverfield/issues/2/comments","events_url":"https://api.github.com/repos/ericelliott/cloverfield/issues/2/events","html_url":"https://github.com/ericelliott/cloverfield/issues/2","id":53354771,"number":2,"title":"Task Running","user":{"login":"ericelliott","id":364727,"avatar_url":"https://avatars.githubusercontent.com/u/364727?v=3","gravatar_id":"","url":"https://api.github.com/users/ericelliott","html_url":"https://github.com/ericelliott","followers_url":"https://api.github.com/users/ericelliott/followers","following_url":"https://api.github.com/users/ericelliott/following{/other_user}","gists_url":"https://api.github.com/users/ericelliott/gists{/gist_id}","starred_url":"https://api.github.com/users/ericelliott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericelliott/subscriptions","organizations_url":"https://api.github.com/users/ericelliott/orgs","repos_url":"https://api.github.com/users/ericelliott/repos","events_url":"https://api.github.com/users/ericelliott/events{/privacy}","received_events_url":"https://api.github.com/users/ericelliott/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ericelliott/cloverfield/labels/help+wanted","name":"help wanted","color":"159818"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":18,"created_at":"2015-01-05T00:37:49Z","updated_at":"2015-01-06T01:01:50Z","closed_at":null,"body":"# Choosing a Task Runner for the Cloverfield Boilerplate Scaffold\r\n\r\nCloverfield aims to create a next generation JavaScript project boilerplate. That means we'll use the tools that coders in-the-know will be using over the next 1 - 3 years. We're starting with the 2016 edition. [Read more](https://github.com/ericelliott/cloverfield/blob/master/README.md).\r\n\r\nThe JS community has been splintering when it comes to task runner consensus. For a while, Grunt was the clear winner, but that isn't the case anymore. We need to make a decision on one of these options, because many of our generators are going to produce some sort of task runner config. Please do some research and weigh in by answering the questions below.\r\n\r\n[Gulp](http://gulpjs.com/) and [Brocolli](http://www.solitr.com/blog/2014/02/broccoli-first-release/) have entered the community radar, and there is a growing trend to lean more heavily on Unix pipes instead of Node streams or the heavy file i/o typical of Grunt setups.\r\n\r\nAnd the long-time reigning champion that's been a part of Unix since the time of the ancient grey beards is starting to make inroads. See [Building JavaScript Projects with Make](https://blog.jcoglan.com/2014/02/05/building-javascript-projects-with-make/).\r\n\r\nOh, and npm has a built-in task runner that lets you easily leverage Unix pipes. [Substack thinks that's the way to go](http://substack.net/task_automation_with_npm_run), and he's not alone.\r\n\r\nThis is a pretty confusing landscape for those who haven't investigated all of these possible solutions, so lets try to lay out the pros and cons of each.\r\n\r\n## Questions\r\n\r\n* What's your pick?\r\n* What's the main reason you use it?\r\n* What are the other advantages?\r\n* What are the disadvantages?\r\n\r\n## Greener fields\r\n\r\n* If you could change one thing, what would it be?\r\n* If you could only keep one thing, what would it be?"},"comment":{"url":"https://api.github.com/repos/ericelliott/cloverfield/issues/comments/68810598","html_url":"https://github.com/ericelliott/cloverfield/issues/2#issuecomment-68810598","issue_url":"https://api.github.com/repos/ericelliott/cloverfield/issues/2","id":68810598,"user":{"login":"ericelliott","id":364727,"avatar_url":"https://avatars.githubusercontent.com/u/364727?v=3","gravatar_id":"","url":"https://api.github.com/users/ericelliott","html_url":"https://github.com/ericelliott","followers_url":"https://api.github.com/users/ericelliott/followers","following_url":"https://api.github.com/users/ericelliott/following{/other_user}","gists_url":"https://api.github.com/users/ericelliott/gists{/gist_id}","starred_url":"https://api.github.com/users/ericelliott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericelliott/subscriptions","organizations_url":"https://api.github.com/users/ericelliott/orgs","repos_url":"https://api.github.com/users/ericelliott/repos","events_url":"https://api.github.com/users/ericelliott/events{/privacy}","received_events_url":"https://api.github.com/users/ericelliott/received_events","type":"User","site_admin":false},"created_at":"2015-01-06T01:01:50Z","updated_at":"2015-01-06T01:01:50Z","body":"> Now you're talking about implementing autoconf / cmake. I'm not so sure that's a good route to go down (it's the equivalent of implementing a gruntfile-builder package that autogenerates your gruntfile.js based on gruntfilelists.txt :P)\r\n\r\nNope, I'm talking about running a single command to, for instance, add a CSS sprite compiler to the build, rather than choosing the tech, downloading the libs, and adding to the makefile manually."}}