Knowledge (XXG)

gulp.js

Source 📝

1836: 375: 66: 25: 200: 511:), These, as per build tool convention, are often found in the root directory of the package's source code. The gulpfile contains most of the logic that gulp needs to run its build tasks. First, all the necessary modules are loaded and then tasks are defined in the gulpfile. All the necessary plugins specified in the gulpfile are listed in the devDependencies section of 125: 762:
The default task is used in gulp to run any number of dependent sub tasks defined above in a sequential order automatically. gulp can also monitor source files and run an appropriate task when changes are made to the files. The sub tasks are to be mentioned as the elements of the array in the second
453:
their own plugins to define their own tasks. 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,
452:
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
486:
calls and the creation of many temporary files. Whereas gulp streams through the file system do not require any of these temporary locations, decreasing the number of I/O calls thus, improving performance. Grunt uses configuration files to perform tasks, whereas gulp requires its build file to be
481:
scripts because they can be simple and easy to implement, there are numerous ways where gulp and Grunt seem to have an advantage over each other, and the default provided scripts. Grunt runs tasks by transforming files and saves them as new ones in temporary folders, and the output of one task is
535:
gulpfile is the place where all the operations are defined in gulp. The basic anatomy of the gulpfile consists of required plugins included at the top, definition of the tasks and a default task at the end.
432:
gulp uses a code-over-configuration approach to define its tasks and relies on its small, single-purpose plugins to carry them out. The gulp ecosystem includes more than 3500 such plugins.
487:
coded. In Grunt, each plugin needs to be configured to match its input location to the previous plugin's output. In gulp, the plugins are automatically pipe-lined.
631:
Alternatively, a task that performs several predefined functions can be created. Those functions are passed as the second parameter in the form of an array.
837:
the images would indeed be optimized, but are not stored. Since the optimized images are stored to another folder, the original images remain unaltered.
1185:
Furthermore, it is possible to accomplish an update of the browser content using the Watch-tasks. For this, there are numerous options and plugins.
1860: 1792: 1773: 1230: 544:
Any installed plugin that is required to perform a task is to be added at the top of the gulpfile as a dependency in the following format.
76: 143: 1811: 1574: 179: 161: 52: 275: 249: 1635: 418: 403: 477:
because the basic npm scripts are inefficient when executing multiple tasks. Even though some developers prefer
448:. gulp reads the file system and pipes the data at hand from one single-purposed plugin to another through the 38: 1435: 482:
taken as input for another and so on until the output reaches the destination folder. This involves a lot of
496: 1077:
The Watch-task serves to react to changes in files. In the following example, the tasks with the names
1534: 478: 474: 388: 374: 458: 445: 337: 325: 1338: 957:
overwrites the original files with the output. For this, one must first return to the required
1807: 1788: 1769: 1570: 1226: 584:
and takes the name of the task as the first parameter and a function as the second parameter.
417:, used for automation of time-consuming and repetitive tasks involved in web development like 1764:
Jed Mao; Maximilian Schmitt; Tomasz Stryjewski; Cary Country Holt; William Lubelski (2014).
1221:
Jed Mao; Maximilian Schmitt; Tomasz Stryjewski; Cary Country Holt; William Lubelski (2014).
1194: 470: 426: 349: 305: 399: 1835: 1462: 1387: 1664: 1085:
are called when any of JavaScript files or images change in the specified directories.
414: 1614: 87: 1854: 1292: 591:
is mandatory and specifies the name by which the task in the shell can be executed.
724:
The default task is to be defined at the end of the gulpfile. It can be run by the
422: 395: 44: 1593: 816:
retrieves all the images with the extension .png, .gif or .jpg in the directory '
441: 354: 1636:"Durchstarten mit Gulp.js – Websites optimieren, Arbeitsabläufe automatisieren" 1414: 1199: 763:
parameter. The process can be triggered by simply running the default task by
587:
The following example shows the creation of a gulp tasks. The first parameter
391: 298: 217: 207: 1486: 1689: 454: 1713: 1643: 1266: 199: 1246: 1737: 728:
command in the shell. In the case below, the default task does nothing.
410: 342: 330: 318: 1845: 1507: 1318: 1297: 1271: 825:
channels the images found, through the optimization process and with
523:. Complex tasks are defined by chaining the plugins with the help of 444:. These streams facilitate the connection of file operations through 1415:"substack/stream-handbook: how to write node programs with streams" 134:
provides insufficient context for those unfamiliar with the subject
945:
In the following example, all JavaScript files from the directory
314: 310: 1841: 281: 1363: 519:. Individual tasks can be defined by gulp.task and are run by 483: 118: 59: 18: 1785:
Pro JavaScript Development Coding, Capabilities, and Tooling
99: 503:, which is used to list the various plugins for gulp, and 91: 580:
The tasks can then be created. A gulp task is defined by
95: 139: 83: 461:, creating notifications, unit testing, linting, etc. 1829: 365: 360: 348: 336: 324: 304: 294: 274: 248: 226: 216: 206: 780:The module definition can be at the beginning of 1783:Den Odell (2014). "Build Tools and Automation". 1588: 1586: 1457: 1455: 1665:"Front-end Workflow mit Gulp - Liechtenecker" 8: 1409: 1407: 812:The subsequent image task optimizes images. 440:gulp is a build tool in JavaScript built on 192: 1615:"gulp/API.md at 4.0 · gulpjs/gulp · GitHub" 53:Learn how and when to remove these messages 1834: 965:package installer and at the beginning of 373: 191: 180:Learn how and when to remove this message 162:Learn how and when to remove this message 1594:"An Introduction to Gulp.js - SitePoint" 1339:"Building With Gulp – Smashing Magazine" 1210: 829:the optimized images are saved to the ' 77:instructions, advice, or how-to content 1768:(1st ed.). Bleeding Edge Press. 1560: 1558: 1556: 1554: 1529: 1527: 1225:(1st ed.). Bleeding Edge Press. 1090:// Rerun the task When a file changes 144:providing more context for the reader 7: 1216: 1214: 672:// Task with array of function names 521:gulp <task> <othertask> 499:(CLI) shell and require two files, 398:(similar to a more package-focused 86:so that it is more encyclopedic or 14: 473:are built on Node.js rather than 34:This article has multiple issues. 969:, the module should be defined. 887:'images/*.{png,gif,jpg}' 421:, concatenation, cache busting, 255:5.0.0 / 29 March 2024 222:Blaine Bublitz, Eric Schoffstall 198: 123: 64: 23: 16:Server-side JavaScript framework 1319:"License field from gulp - npm" 1247:"Release Date of Version 1.0.0" 42:or discuss these issues on the 495:The gulp tasks are run from a 1: 1508:"install | npm Documentation" 409:It is a task runner built on 394:toolkit, used as a streaming 1861:JavaScript programming tools 1642:. 2014-05-25. Archived from 515:. The default task runs by 469:Task-runners like gulp and 1877: 1804:Getting Started with Gulp 1567:Getting Started with Gulp 1364:"gulp.js plugin registry" 404:front-end web development 270: 244: 197: 1806:. Packt Publishing Ltd. 1802:Maynard, Travis (2015). 1569:. Packt Publishing Ltd. 1565:Maynard, Travis (2015). 1489:. CSS-Tricks. 2015-09-01 1293:"LICENSE file on GitHub" 1267:"Releases · gulpjs/gulp" 1087: 971: 839: 786: 730: 633: 593: 546: 1738:"Browsersync + Gulp.js" 1138:'scripts/js/**' 804:'gulp-imagemin' 1766:Developing a Gulp Edge 1223:Developing a Gulp Edge 1019:'scripts/*.js' 929:'dist/images/' 497:command-line interface 465:Need for a task runner 257:; 5 months ago 232:; 10 years ago 230:26 September 2013 955:gulp.dest('scripts/') 549://Adding dependencies 429:, optimization, etc. 1617:. GitHub. 2016-05-12 1487:"Gulp for Beginners" 1343:Smashingmagazine.com 733:// Gulp default task 1162:'images/**' 949:are optimized with 531:Anatomy of gulpfile 194: 140:improve the article 84:rewrite the content 1061:'scripts/' 959:gulp-uglify plugin 827:.pipe(gulp.dest()) 687:'taskName' 608:'taskName' 208:Original author(s) 1794:978-1-4302-6268-8 1775:978-1-939902-14-6 1232:978-1-939902-14-6 989:'scripts' 823:.pipe(imagemin()) 748:'default' 382: 381: 190: 189: 182: 172: 171: 164: 117: 116: 57: 1868: 1838: 1833: 1832: 1830:Official website 1817: 1798: 1779: 1752: 1751: 1749: 1748: 1734: 1728: 1727: 1725: 1724: 1710: 1704: 1703: 1701: 1700: 1686: 1680: 1679: 1677: 1676: 1669:Liechtenecker.at 1661: 1655: 1654: 1652: 1651: 1640:Magazin.phlow.de 1632: 1626: 1625: 1623: 1622: 1611: 1605: 1604: 1602: 1601: 1590: 1581: 1580: 1562: 1549: 1548: 1546: 1545: 1531: 1522: 1521: 1519: 1518: 1504: 1498: 1497: 1495: 1494: 1483: 1477: 1476: 1474: 1473: 1459: 1450: 1449: 1447: 1446: 1432: 1426: 1425: 1423: 1422: 1411: 1402: 1401: 1399: 1398: 1384: 1378: 1377: 1375: 1374: 1360: 1354: 1353: 1351: 1350: 1335: 1329: 1328: 1326: 1325: 1315: 1309: 1308: 1306: 1305: 1289: 1283: 1282: 1280: 1279: 1263: 1257: 1256: 1254: 1253: 1243: 1237: 1236: 1218: 1195:Grunt (software) 1181: 1178: 1175: 1172: 1169: 1166: 1163: 1160: 1157: 1154: 1151: 1148: 1145: 1142: 1139: 1136: 1133: 1130: 1127: 1124: 1121: 1118: 1115: 1112: 1109: 1106: 1103: 1100: 1097: 1094: 1091: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1044: 1041: 1038: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 996: 993: 990: 987: 984: 981: 978: 975: 956: 952: 936: 933: 930: 927: 924: 921: 918: 915: 912: 909: 906: 903: 900: 897: 894: 891: 888: 885: 882: 879: 876: 873: 870: 867: 864: 861: 858: 857:'images' 855: 852: 849: 846: 843: 836: 828: 824: 815: 808: 805: 802: 799: 796: 793: 790: 783: 766: 758: 755: 752: 749: 746: 743: 740: 737: 734: 727: 715: 712: 709: 706: 703: 700: 697: 694: 691: 688: 685: 682: 679: 676: 673: 670: 667: 664: 661: 658: 655: 652: 649: 646: 643: 640: 637: 627: 624: 621: 618: 615: 612: 609: 606: 603: 600: 597: 571: 568: 565: 562: 559: 556: 553: 550: 526: 522: 518: 514: 510: 506: 502: 451: 378: 377: 370: 367: 306:Operating system 290: 287: 285: 283: 265: 263: 258: 240: 238: 233: 212:Eric Schoffstall 202: 195: 185: 178: 167: 160: 156: 153: 147: 127: 126: 119: 112: 109: 103: 68: 67: 60: 49: 27: 26: 19: 1876: 1875: 1871: 1870: 1869: 1867: 1866: 1865: 1851: 1850: 1828: 1827: 1824: 1814: 1801: 1795: 1782: 1776: 1763: 1760: 1755: 1746: 1744: 1736: 1735: 1731: 1722: 1720: 1712: 1711: 1707: 1698: 1696: 1688: 1687: 1683: 1674: 1672: 1663: 1662: 1658: 1649: 1647: 1634: 1633: 1629: 1620: 1618: 1613: 1612: 1608: 1599: 1597: 1592: 1591: 1584: 1577: 1564: 1563: 1552: 1543: 1541: 1533: 1532: 1525: 1516: 1514: 1506: 1505: 1501: 1492: 1490: 1485: 1484: 1480: 1471: 1469: 1461: 1460: 1453: 1444: 1442: 1434: 1433: 1429: 1420: 1418: 1413: 1412: 1405: 1396: 1394: 1386: 1385: 1381: 1372: 1370: 1362: 1361: 1357: 1348: 1346: 1337: 1336: 1332: 1323: 1321: 1317: 1316: 1312: 1303: 1301: 1291: 1290: 1286: 1277: 1275: 1265: 1264: 1260: 1251: 1249: 1245: 1244: 1240: 1233: 1220: 1219: 1212: 1208: 1191: 1183: 1182: 1179: 1176: 1173: 1170: 1167: 1164: 1161: 1158: 1155: 1152: 1149: 1146: 1143: 1140: 1137: 1134: 1131: 1128: 1125: 1122: 1119: 1116: 1113: 1110: 1107: 1105:'watch' 1104: 1101: 1098: 1095: 1092: 1089: 1075: 1070: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 954: 951:.pipe(uglify()) 950: 943: 938: 937: 934: 931: 928: 925: 922: 919: 916: 913: 910: 907: 904: 901: 898: 895: 892: 889: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 834: 831:images/' folder 826: 822: 813: 810: 809: 806: 803: 800: 797: 794: 791: 788: 781: 778: 773: 764: 760: 759: 756: 753: 750: 747: 744: 741: 738: 735: 732: 725: 722: 717: 716: 713: 710: 707: 704: 701: 698: 695: 692: 689: 686: 683: 680: 677: 674: 671: 668: 666:// do something 665: 662: 659: 656: 653: 650: 648:// do something 647: 644: 641: 638: 635: 629: 628: 625: 622: 619: 616: 613: 610: 607: 604: 601: 598: 595: 578: 573: 572: 569: 566: 563: 560: 557: 554: 551: 548: 542: 533: 524: 520: 516: 512: 508: 504: 500: 493: 467: 449: 438: 372: 364: 280: 266: 261: 259: 256: 236: 234: 231: 227:Initial release 186: 175: 174: 173: 168: 157: 151: 148: 137: 128: 124: 113: 107: 104: 81: 69: 65: 28: 24: 17: 12: 11: 5: 1874: 1872: 1864: 1863: 1853: 1852: 1849: 1848: 1839: 1823: 1822:External links 1820: 1819: 1818: 1812: 1799: 1793: 1780: 1774: 1759: 1756: 1754: 1753: 1742:Browsersync.io 1729: 1705: 1681: 1656: 1627: 1606: 1582: 1575: 1550: 1523: 1512:docs.npmjs.com 1499: 1478: 1451: 1427: 1403: 1379: 1355: 1345:. 11 June 2014 1330: 1310: 1284: 1258: 1238: 1231: 1209: 1207: 1204: 1203: 1202: 1197: 1190: 1187: 1088: 1074: 1071: 974:// Script task 972: 942: 939: 842:// Images task 840: 818:images-orig/'. 787: 777: 774: 772: 769: 731: 721: 718: 634: 623://do something 594: 577: 574: 567:'gulp' 547: 541: 538: 532: 529: 492: 489: 466: 463: 437: 434: 380: 379: 362: 358: 357: 352: 346: 345: 340: 334: 333: 328: 322: 321: 308: 302: 301: 296: 292: 291: 278: 272: 271: 268: 267: 254: 252: 250:Stable release 246: 245: 242: 241: 228: 224: 223: 220: 214: 213: 210: 204: 203: 188: 187: 170: 169: 131: 129: 122: 115: 114: 72: 70: 63: 58: 32: 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 1873: 1862: 1859: 1858: 1856: 1847: 1843: 1840: 1837: 1831: 1826: 1825: 1821: 1815: 1813:9781784393472 1809: 1805: 1800: 1796: 1790: 1786: 1781: 1777: 1771: 1767: 1762: 1761: 1757: 1743: 1739: 1733: 1730: 1719: 1715: 1709: 1706: 1695: 1691: 1690:"gulp-uglify" 1685: 1682: 1670: 1666: 1660: 1657: 1646:on 2017-06-16 1645: 1641: 1637: 1631: 1628: 1616: 1610: 1607: 1595: 1589: 1587: 1583: 1578: 1576:9781784393472 1572: 1568: 1561: 1559: 1557: 1555: 1551: 1540: 1536: 1535:"gulpjs/gulp" 1530: 1528: 1524: 1513: 1509: 1503: 1500: 1488: 1482: 1479: 1468: 1464: 1463:"gulpjs/gulp" 1458: 1456: 1452: 1441: 1437: 1436:"gulpjs/gulp" 1431: 1428: 1416: 1410: 1408: 1404: 1393: 1389: 1388:"gulpjs/gulp" 1383: 1380: 1369: 1365: 1359: 1356: 1344: 1340: 1334: 1331: 1320: 1314: 1311: 1300: 1299: 1294: 1288: 1285: 1274: 1273: 1268: 1262: 1259: 1248: 1242: 1239: 1234: 1228: 1224: 1217: 1215: 1211: 1205: 1201: 1198: 1196: 1193: 1192: 1188: 1186: 1086: 1084: 1080: 1072: 970: 968: 964: 960: 948: 940: 838: 832: 820: 819: 785: 775: 771:Example tasks 770: 768: 729: 719: 632: 592: 590: 585: 583: 575: 545: 539: 537: 530: 528: 498: 490: 488: 485: 480: 476: 472: 464: 462: 460: 456: 447: 443: 435: 433: 430: 428: 424: 420: 416: 412: 407: 405: 401: 397: 393: 390: 386: 376: 369: 363: 359: 356: 353: 351: 347: 344: 341: 339: 335: 332: 329: 327: 323: 320: 316: 312: 309: 307: 303: 300: 297: 293: 289: 279: 277: 273: 269: 253: 251: 247: 243: 229: 225: 221: 219: 215: 211: 209: 205: 201: 196: 184: 181: 166: 163: 155: 145: 141: 135: 132:This article 130: 121: 120: 111: 101: 97: 93: 89: 85: 79: 78: 73:This article 71: 62: 61: 56: 54: 47: 46: 41: 40: 35: 30: 21: 20: 1803: 1784: 1765: 1745:. Retrieved 1741: 1732: 1721:. Retrieved 1717: 1714:"gulp-watch" 1708: 1697:. Retrieved 1693: 1684: 1673:. Retrieved 1671:. 2015-05-29 1668: 1659: 1648:. Retrieved 1644:the original 1639: 1630: 1619:. Retrieved 1609: 1598:. Retrieved 1596:. 2014-02-10 1566: 1542:. Retrieved 1538: 1515:. Retrieved 1511: 1502: 1491:. Retrieved 1481: 1470:. Retrieved 1466: 1443:. Retrieved 1439: 1430: 1419:. Retrieved 1395:. Retrieved 1391: 1382: 1371:. Retrieved 1367: 1358: 1347:. Retrieved 1342: 1333: 1322:. Retrieved 1313: 1302:. Retrieved 1296: 1287: 1276:. Retrieved 1270: 1261: 1250:. Retrieved 1241: 1222: 1184: 1082: 1078: 1076: 966: 962: 958: 946: 944: 941:Scripts Task 830: 821: 817: 811: 779: 761: 723: 720:Default task 630: 588: 586: 581: 579: 543: 534: 513:package.json 501:package.json 494: 468: 442:node streams 439: 431: 423:unit testing 419:minification 408: 396:build system 384: 383: 218:Developer(s) 176: 158: 152:January 2017 149: 138:Please help 133: 108:October 2016 105: 82:Please help 74: 50: 43: 37: 36:Please help 33: 835:gulp.dest() 782:Gulpfile.js 507:(or simply 505:gulpfile.js 389:open-source 355:MIT License 92:Wikiversity 1787:. Apress. 1758:Literature 1747:2016-12-14 1723:2016-09-23 1699:2016-12-14 1675:2016-12-14 1650:2016-12-14 1621:2016-12-14 1600:2016-09-23 1544:2016-09-23 1517:2016-09-22 1493:2016-12-14 1472:2016-09-23 1445:2016-09-22 1421:2016-12-14 1397:2016-09-22 1373:2016-12-14 1368:Gulpjs.com 1349:2016-12-14 1324:2020-12-31 1304:2020-12-31 1278:2020-12-31 1252:2020-12-31 1206:References 1200:Browserify 1073:Watch Task 833:. Without 814:gulp.src() 776:Image Task 527:operator. 392:JavaScript 299:JavaScript 295:Written in 276:Repository 262:2024-03-29 237:2013-09-26 100:Wikivoyage 39:improve it 1718:Npmjs.com 1694:Npmjs.com 767:command. 582:gulp.task 491:Operation 459:deploying 455:compiling 446:pipelines 96:Wikibooks 75:contains 45:talk page 1855:Category 1417:. GitHub 1189:See also 1111:function 995:function 967:gulpfile 947:scripts/ 902:imagemin 863:function 792:imagemin 784:like so: 699:parallel 654:function 636:function 614:function 589:taskName 509:gulpfile 436:Overview 326:Platform 1144:scripts 1079:scripts 798:require 561:require 540:Plugins 525:.pipe() 450:.pipe() 427:linting 411:Node.js 361:Website 350:License 343:Toolkit 331:Node.js 319:Windows 286:/gulpjs 260: ( 235: ( 1846:GitHub 1810:  1791:  1772:  1573:  1539:GitHub 1467:GitHub 1440:GitHub 1392:GitHub 1298:GitHub 1272:GitHub 1229:  1168:images 1083:images 1034:uglify 1004:return 872:return 517:$ gulp 387:is an 371:  366:gulpjs 282:github 90:it to 1156:watch 1132:watch 576:Tasks 471:Grunt 402:) in 315:macOS 311:Linux 288:/gulp 98:, or 1842:gulp 1808:ISBN 1789:ISBN 1770:ISBN 1571:ISBN 1227:ISBN 1150:gulp 1126:gulp 1099:task 1093:gulp 1081:and 1055:dest 1049:gulp 1043:pipe 1028:pipe 1007:gulp 983:task 977:gulp 953:and 923:dest 917:gulp 911:pipe 896:pipe 875:gulp 851:task 845:gulp 765:gulp 742:task 736:gulp 726:gulp 693:gulp 681:task 675:gulp 602:task 596:gulp 555:gulp 413:and 400:Make 385:gulp 368:.com 338:Type 284:.com 193:gulp 88:move 1844:on 1180:}); 1177:(); 1067:}); 1064:)); 1037:()) 1013:src 963:npm 961:on 935:}); 932:)); 905:()) 881:src 789:var 714:)); 711:fn2 705:fn1 657:fn2 639:fn1 626:}); 552:var 484:I/O 479:npm 475:npm 415:npm 142:by 1857:: 1740:. 1716:. 1692:. 1667:. 1638:. 1585:^ 1553:^ 1537:. 1526:^ 1510:. 1465:. 1454:^ 1438:. 1406:^ 1390:. 1366:. 1341:. 1295:. 1269:. 1213:^ 1174:cb 1171:); 1147:); 1117:cb 998:() 866:() 807:); 757:); 754:fn 660:() 642:() 617:() 570:); 457:, 425:, 406:. 317:, 313:, 94:, 48:. 1816:. 1797:. 1778:. 1750:. 1726:. 1702:. 1678:. 1653:. 1624:. 1603:. 1579:. 1547:. 1520:. 1496:. 1475:. 1448:. 1424:. 1400:. 1376:. 1352:. 1327:. 1307:. 1281:. 1255:. 1235:. 1165:, 1159:( 1153:. 1141:, 1135:( 1129:. 1123:{ 1120:) 1114:( 1108:, 1102:( 1096:. 1058:( 1052:. 1046:( 1040:. 1031:( 1025:. 1022:) 1016:( 1010:. 1001:{ 992:, 986:( 980:. 926:( 920:. 914:( 908:. 899:( 893:. 890:) 884:( 878:. 869:{ 860:, 854:( 848:. 801:( 795:= 751:, 745:( 739:. 708:, 702:( 696:. 690:, 684:( 678:. 669:} 663:{ 651:} 645:{ 620:{ 611:, 605:( 599:. 564:( 558:= 264:) 239:) 183:) 177:( 165:) 159:( 154:) 150:( 146:. 136:. 110:) 106:( 102:. 80:. 55:) 51:(

Index

improve it
talk page
Learn how and when to remove these messages
instructions, advice, or how-to content
rewrite the content
move
Wikiversity
Wikibooks
Wikivoyage
improve the article
providing more context for the reader
Learn how and when to remove this message
Learn how and when to remove this message

Original author(s)
Developer(s)
Stable release
Repository
github.com/gulpjs/gulp
JavaScript
Operating system
Linux
macOS
Windows
Platform
Node.js
Type
Toolkit
License
MIT License

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.