Gulp.js: Difference between revisions

Content deleted Content added
Stiruma (talk | contribs)
m grammatical error in overview
Stiruma (talk | contribs)
citations added
Line 9:
| website = {{url|http://gulpjs.com/}}<br>{{url|www.gulpjs.com/}}
}}
'''gulp.js''' is an [[Open-source software|open-source]], extensible, powerful and efficient [[JavaScript]] toolkit by Fractal Innovations<ref name=":0">{{Cite book|title=Developing a Gulp Edge|last=|first=|publisher=Bleeding Edge Press|year=2014|isbn=978-1-939902-14-6|edition=1st|___location=|pages=|via=|author = Jed Mao, Maximilian Schmitt, Tomasz Stryjewski, Cary Country Holt, William Lubelski}}</ref> and the open source community at [[git]], used as a streaming [[build system]] in [[front-end web development]].
 
It is a task runner built on [[Node.js]] and [[Node Package Manager|Node Package Manager (npm)]], used for automation of time-consuming and repetitive tasks involved in web development like [[Minification (programming)|minification]], concatenation, [https://www.npmjs.com/package/gulp-buster cache busting], [[unit testing]], [[Linting software|linting]], [https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/image-optimization?hl=en image optimization] etc.<ref>{{url|https://www.smashingmagazine.com/2014/06/building-with-gulp/}}</ref>
Line 16:
 
== Overview ==
gulp<ref>{{Cite web|url=https://github.com/gulpjs/gulp/blob/master/docs/FAQ.md|title=gulpjs/gulp|website=GitHub|access-date=2016-09-22}}</ref> is a build tool in JavaScript built on [[Node stream|node streams]]. These streams facilitate the connection of file operations through [[Pipeline (software)|pipelines]]<ref>{{url|https://github.com/substack/stream-handbook}}</ref>. gulp reads the file system and pipes the data at hand from its one single-purposed plugin to other through the <code>.pipe()</code> operator, doing one task at a time. The original files are not affected until all the plugins are processed. It can be configured either to modify the original files or to create new ones. This grants the ability to perform complex tasks through linking its numerous plugins. The users can also write their own plugins to define their own tasks<ref>{{Cite web|url=https://github.com/gulpjs/gulp/blob/master/docs/writing-a-plugin/README.md|title=gulpjs/gulp|website=GitHub|access-date=2016-09-22}}</ref>. Unlike other task runners that run tasks by configuration, gulp requires knowledge of JavaScript and coding to define its tasks. gulp is a build system which means apart from running tasks, it is also capable of copying files from one ___location to another, [[compiling]], [[Software deployment|deploying]], creating notifications, unit testing, linting etc<ref name=":0" />.
 
== Why gulp over Grunt? ==