Skip to content

Instantly share code, notes, and snippets.

@cbourdage
Created September 25, 2016 17:25
Show Gist options
  • Save cbourdage/ee680eb98a05e60c8ffdfcac4a727d45 to your computer and use it in GitHub Desktop.
Save cbourdage/ee680eb98a05e60c8ffdfcac4a727d45 to your computer and use it in GitHub Desktop.
Gulp + watchify + browserify + babelify
var gulp = require('gulp');
var gutil = require('gulp-util');
var guglify = require('gulp-uglify');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var browserify = require('browserify');
var watchify = require('watchify');
var babelify = require('babelify');
var colors = {
success : gutil.colors.green,
error : gutil.colors.bgRed.bold,
info : gutil.colors.cyan,
};
function compile(watch) {
var ts = colors.info('Bundled') + ' main.js';
var bundler = browserify('./main.js', { debug: true })
.transform(babelify.configure({
comments: false,
}));
if (watch) {
bundler = watchify(bundler);
bundler.on('update', () => {
console.log('Recompiling');
rebundle();
});
}
function rebundle() {
console.time(ts);
return bundler.bundle()
.on('error', (err) => gutil.log(colors.error('Error:'), err))
.on('end', () => console.timeEnd(ts))
.pipe(source('main.js'))
.pipe(buffer())
.pipe(guglify({ compress: true }))
.pipe(gulp.dest('./dist'));
}
return rebundle();
}
function watch() {
return compile(true);
};
gulp.task('build', () => compile());
gulp.task('watch', () => watch());
gulp.task('default', ['build']);
{
"name": "github-pr-view",
"version": "0.0.1",
"description": "Github PR extended view to show Approval, Request Changes as a label",
"author": "Collin Bourdage",
"license": "MIT",
"dependencies": {
"isomorphic-fetch": "2.2.1"
},
"devDependencies": {
"babel-core": "^6.14.0",
"babel-polyfill": "^6.13.0",
"babel-preset-es2015": "^6.14.0",
"babelify": "^7.3.0",
"browserify": "^13.1.0",
"gulp-uglify": "^2.0.0",
"gulp-util": "^3.0.7",
"vinyl-buffer": "^1.0.0",
"vinyl-source-stream": "^1.1.0",
"watchify": "^3.7.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment