mongoscope-client
Version:
69 lines (57 loc) • 1.71 kB
JavaScript
var gulp = require('gulp'),
release = require('github-release'),
pkg = require('./package.json'),
browserify = require('browserify'),
source = require('vinyl-source-stream'),
rename = require('gulp-rename'),
ecstatic = require('ecstatic'),
http = require('http'),
exec = require('child_process').exec;
function create(fn){
browserify({entries: ['./bin/mongoscope-browser.js']})
.bundle({})
.pipe(source('./bin/mongoscope-browser.js'))
.pipe(rename('mongoscope.js'))
.pipe(gulp.dest('./dist/'))
.on('end', fn);
}
gulp.task('default', ['serve']);
gulp.task('serve', ['watch'], function(){
create(function(){
gulp.src('./dist/mongoscope.js')
.pipe(gulp.dest('./examples/'));
http.createServer(
ecstatic({root: __dirname + '/'})
).listen(8080);
});
});
gulp.task('dist', function(){
create(function(){
gulp.src('./dist/*').pipe(release(pkg));
});
});
gulp.task('deploy', function(cb){
var msg, cmd,
src = __dirname,
dest = 'build',
remote = pkg.repository.url.replace('git://github.com/', 'git@github.com:');
console.log(' getting last commit message');
exec('git log --oneline HEAD | head -n 1', {cwd: src}, function(err, stdout){
if(err) return cb(err);
msg = stdout.toString();
console.log(' last commit: ' + msg);
cmd = [
'git init',
'rm -rf .DS_Store **/.DS_Store',
'git add .',
'git commit -m "Deploy: ' + msg + '"',
'git push --force ' + remote + ' master:gh-pages',
'rm -rf .git'
].join('&&');
exec(cmd, {cwd: dest}, function(err){
if(err) return cb(err);
console.log(' ✔︎ GitHub Pages deployed');
cb();
});
});
});