# gulp

Published articles for gulp.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## A Gulp Workflow for Frontend Development Automation

DevFeed: [A Gulp Workflow for Frontend Development Automation](<https://devfeed.tech/articles/a-gulp-workflow-for-frontend-development-automation-31233.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/a-gulp-workflow-for-frontend-development-automation>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2017-08-15T22:25:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Gulp](<https://devfeed.tech/topics/gulp.md>), [frontend development](<https://devfeed.tech/topics/frontend-development.md>), [workflow automation](<https://devfeed.tech/topics/workflow-automation.md>), [CSS](<https://devfeed.tech/topics/css.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [make](<https://devfeed.tech/topics/make.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [build](<https://devfeed.tech/tags/build.md>), [cache](<https://devfeed.tech/tags/cache.md>), [cool](<https://devfeed.tech/tags/cool.md>), [css](<https://devfeed.tech/tags/css.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [development](<https://devfeed.tech/tags/development.md>), [es6](<https://devfeed.tech/tags/es6.md>), [faster](<https://devfeed.tech/tags/faster.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [frontend-development](<https://devfeed.tech/tags/frontend-development.md>), [gulp](<https://devfeed.tech/tags/gulp.md>), [helps](<https://devfeed.tech/tags/helps.md>), [here-s](<https://devfeed.tech/tags/here-s.md>), [insights](<https://devfeed.tech/tags/insights.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [scss](<https://devfeed.tech/tags/scss.md>), [stuff](<https://devfeed.tech/tags/stuff.md>), [tool](<https://devfeed.tech/tags/tool.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

A tutorial explaining why frontend workflow automation is useful and how Gulp can assemble a website's assets. It describes tasks for processing CSS and JavaScript, including SCSS compilation, browser prefixing, source maps, dependency inclusion, combining, minification, transpilation, and uglification.

### Source excerpt

Gulp is a workflow automation tool that helps you build cool stuff faster; here's how to use it for frontend development.

## A Better package.json for the Frontend

DevFeed: [A Better package.json for the Frontend](<https://devfeed.tech/articles/a-better-package-json-for-the-frontend-31231.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/a-better-package-json-for-the-frontend>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2016-12-23T19:46:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [frontend development](<https://devfeed.tech/topics/frontend-development.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Yarn](<https://devfeed.tech/topics/yarn.md>), [Gulp](<https://devfeed.tech/topics/gulp.md>)

Tags: [better](<https://devfeed.tech/tags/better.md>), [consider](<https://devfeed.tech/tags/consider.md>), [days](<https://devfeed.tech/tags/days.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [frontend-development](<https://devfeed.tech/tags/frontend-development.md>), [gulp](<https://devfeed.tech/tags/gulp.md>), [here-s](<https://devfeed.tech/tags/here-s.md>), [insights](<https://devfeed.tech/tags/insights.md>), [like](<https://devfeed.tech/tags/like.md>), [mandatory](<https://devfeed.tech/tags/mandatory.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [npm-packages](<https://devfeed.tech/tags/npm-packages.md>), [package-json](<https://devfeed.tech/tags/package-json.md>), [setup](<https://devfeed.tech/tags/setup.md>), [tools](<https://devfeed.tech/tags/tools.md>), [webdev](<https://devfeed.tech/tags/webdev.md>), [webpack](<https://devfeed.tech/tags/webpack.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This article explains how to use package.json as a centralized manifest for a website's frontend packages and workflow tooling. It discusses replacing Bower with npm, and notes that Yarn can manage the same registry with deterministic installs through yarn.lock.

### Source excerpt

Frontend workflow tools like gulp are almost mandatory for webdev these days; here's what I consider to be a better package.json setup

## Jekyll and Gulp workflow

DevFeed: [Jekyll and Gulp workflow](<https://devfeed.tech/articles/jekyll-and-gulp-workflow-37301.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/jekyll-gulp-workflow/>)

Author: Stanko

Published: 2016-02-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Gulp](<https://devfeed.tech/topics/gulp.md>), [Jekyll](<https://devfeed.tech/topics/jekyll.md>), [Sass](<https://devfeed.tech/topics/sass.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Development](<https://devfeed.tech/topics/development.md>), [es6](<https://devfeed.tech/topics/es6.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [es6](<https://devfeed.tech/tags/es6.md>), [gulp](<https://devfeed.tech/tags/gulp.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jekyll](<https://devfeed.tech/tags/jekyll.md>), [sass](<https://devfeed.tech/tags/sass.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This tutorial describes a Jekyll development workflow that uses Gulp to compile and watch SASS and JavaScript, run a local Jekyll server, proxy it through BrowserSync, and reload the browser on changes. The author notes that the setup may be outdated because they no longer use Jekyll.

### Source excerpt

Please note that I'm not using Jekyll anymore, so this post might be outdated. Update, November 2017 # I don't use this setup anymore, it might be outdated, proceed with caution. Original post # As you probably know this blog is powered by Jekyll. It is a really nice platform, but it lacks a few things I'm used to during development. First one is live reload on file changes (and injecting CSS), using SASS, autoprefixer, ES6... I tried to find a boilerplate, but everything I found didn't match my needs. Usually people would run gulp tasks for SASS and JavaScript files, and on change run jekyll build, which is insanely slow. They would use BrowserSync to serve _site folder. So I did what programmers do - written my own. I quickly made usual gulp tasks: styles - to compile SASS and autoprefix it scripts - to transpile ES6 goodness, and concatenate JavaScript files serve - to start local server, watch for changes and auto reload First thing I did is that I was running jekyll serve in one terminal, and gulp serve with BrowserSync in the other. This was working decently, but I wanted to run only one command, and let the tasks do everything for me. That is where node child process comes in. import childProcess from 'child_process'; const spawn = childProcess.spawn; gulp.task('jekyll', function (){ const jekyll = spawn('jekyll', ['serve'], { stdio: 'inherit' }); }); This task spawns a child process from gulp. Nice thing is that we can start it, and gulp will kill it on exit. Now we have up and running Jekyll server, and proxy it to BrowserSync. But darn, injecting CSS files didn't really work. Server was expeting CSS file to come from /css/style.css, but browserSync.stream in gulp pipe would inject it from the _sass folder. I solved this by copying css file to the .tmp/css and adding .tmp to the serveStatic option of the BrowserSync. One thing I should mention, that I keep my SASS files in the _sass folder, and JavaScript in the _js one. Gulp watches changes on SASS/JS, and

## Using the Frontend Maven Plugin to Run Node and npm Tools in Maven Projects

DevFeed: [Using the Frontend Maven Plugin to Run Node and npm Tools in Maven Projects](<https://devfeed.tech/articles/conquering-the-kingdom-of-java-with-a-nodejs-trojan-horse-31974.md>)

Original publisher: [Read original article](<https://tech.finn.no2013/06/06/conquering-the-kingdom-of-java-with-a-nodejs-trojan-horse/>)

Author: espen

Published: 2013-06-06T07:36:00Z

Content type: tutorial

Language: en

Sources: [Finn.no](<https://devfeed.tech/sources/finn-no.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Java](<https://devfeed.tech/topics/java.md>), [Gulp](<https://devfeed.tech/topics/gulp.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [gulp](<https://devfeed.tech/tags/gulp.md>), [java](<https://devfeed.tech/tags/java.md>), [maven](<https://devfeed.tech/tags/maven.md>), [npm](<https://devfeed.tech/tags/npm.md>)

### AI overview

FINN.no describes using the Frontend Maven Plugin to install Node and npm in a project folder and run Node-based front-end tools from Maven. This allowed Node build, test, and code-analysis tools to integrate with its existing Maven toolchain without requiring Node installation on every developer or CI machine.

### Source excerpt

Most of FINN.no is built with Java and we've been a Java shop for 6-7 years. With the professionalization of front-end development we saw that the tools available in the Java Web Development ecosystem was preventing us from delivering rapidly and with high quality. The trend was that the tools we used weren't keeping up with the pace set by people creating tools in Node's NPM module ecosystem. When working on pet projects we could use these tools, but in our daily job we were working with second rate tools. This was a frustration for many of us, so we set out to work out how we could utilize Node without having to rewrite all our applications. In the belly of the beast that is Maven We use Maven to build and test all our applications. This includes continuous deployment and quality analysis. Our reporting tools requires projects to be built with Maven in order to work. To introduce Node-based tools for front-end tasks, we had to be able to run them from Maven. The easiest way to get started is just to use the Maven exec plugin. It allows you to run commands like on the command line. This approach worked, but there was one catch: it relied upon Node + NPM to be installed on every developer machine as well as in our CI environment. Forcing 100+ developers to install Node and keep up with versions was something which wasn't really acceptable for the rest of the organization. Enter The Maven Front-end Plugin Behold! The Frontend Maven plugin Erik Sletteberg, who started out working as a summer intern and is now working at FINN.no full time, helped solve the problem of Node having to be installed. He created the Frontend Maven Plugin which install Node+NPM in the project folder. The plugin also has tasks for running NPM, Grunt, Gulp and similar. Because of the tool we were able to use Node within a Maven web application module, which was awesome! It meant we could use build-, test and code analysis tools developed in Node and have them report into our existing tool chain