aboutsummaryrefslogtreecommitdiffstats
path: root/gulpfile.js
blob: de893a4f54b5ade0a006153e2f9a39373a8bb399 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env node

'use strict';

var del = require('del');
var gulp = require('gulp');
var browserify = require('gulp-browserify-thin');
var jshint = require('gulp-jshint');
var uglify = require("gulp-uglify");
var rename = require("gulp-rename");
var bower = require('bower');

var DEST = './dist/';

gulp.task('bower', function(cb){
  bower.commands.install().on('end', function (installed){
    console.log(installed);
    cb();
  });
});

gulp.task('lint', function(){
  return gulp.src(['./*.js', './lib/*.js'])
    .pipe(jshint())
    .pipe(jshint.reporter('default'));
});

gulp.task('clean', ['lint'], function(cb) {
  del([ DEST ], cb);
});

gulp.task('build', ['clean'], function () {
  return browserify()
    .require('./index.js', { expose: 'web3'})
    .bundle('ethereum.js')
    .on('error', function(err)
    {
        console.error(err.toString());
        process.exit(1);
    })
    .pipe(gulp.dest( DEST ));
});

gulp.task('minify', ['build'], function(){
  return gulp.src( DEST + 'ethereum.js')
    .pipe(gulp.dest( DEST ))
    .pipe(uglify())
    .pipe(rename('ethereum.min.js'))
    .pipe(gulp.dest( DEST ));
});

gulp.task('watch', function() {
  gulp.watch(['./lib/*.js'], ['lint', 'build', 'minify']);
});

gulp.task('default', ['bower', 'lint', 'build', 'minify']);