Skip to content

Instantly share code, notes, and snippets.

@alkrauss48
Last active February 17, 2020 12:45
Show Gist options
  • Star 50 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save alkrauss48/a3581391f120ec1c3e03 to your computer and use it in GitHub Desktop.
Save alkrauss48/a3581391f120ec1c3e03 to your computer and use it in GitHub Desktop.
Base gulpfile config for babel, browserify, and uglify - with sourcemaps and livereload
var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require('babelify');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var uglify = require('gulp-uglify');
var sourcemaps = require('gulp-sourcemaps');
var livereload = require('gulp-livereload');
gulp.task('build', function () {
// app.js is your main JS file with all your module inclusions
return browserify({entries: './src/js/app.js', debug: true})
.transform("babelify", { presets: ["es2015"] })
.bundle()
.pipe(source('app.js'))
.pipe(buffer())
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./dist/js'))
.pipe(livereload());
});
gulp.task('watch', ['build'], function () {
livereload.listen();
gulp.watch('./src/js/*.js', ['build']);
});
gulp.task('default', ['watch']);
npm install --save-dev babel-preset-es2015 babelify browserify vinyl-source-stream vinyl-buffer gulp-uglify gulp-sourcemaps gulp-livereload
@alkrauss48
Copy link
Author

So that you can write ES6 code in the browser! Just run the command in shell-install.sh to install all the dependencies.

@lawrencejones
Copy link

Appreciated!

@colepacak
Copy link

Thanks so much. FYI - I had to remove uglify to get the sourcemaps to work.

@menonsamir
Copy link

Thanks! BTW, I needed to use sourcemaps.init({loadMaps: true}) for source maps to get loaded correctly.

@stsvilik
Copy link

stsvilik commented Aug 1, 2016

For me it produced sourcemaps that did not map correctly to the source

@avitevet
Copy link

Thanks! I needed to add the buffer() call to get past a "Streaming not supported" error from gulp-uglify.

@alex1012
Copy link

Hi guys! What node version must be installed in my machine for support this gulp modules?

@Jayadev6191
Copy link

@alex1012 Works fine with node v7.7.2

@Zulcom
Copy link

Zulcom commented May 19, 2018

babel-preset-es2015 depricated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment