UNPKG

angular-state-view

Version:

Provides nested view management with template support.

54 lines (45 loc) 1.33 kB
'use strict'; /** * Dependencies */ var gulp = require('gulp'); var gulpif = require('gulp-if'); var source = require('vinyl-source-stream'); var sourcemaps = require('gulp-sourcemaps'); var buffer = require('vinyl-buffer'); var streamify = require('gulp-streamify'); var browserify = require('browserify'); var uglify = require('gulp-uglify'); var ngAnnotate = require('browserify-ngannotate'); function _build(file, entries, isMin) { var bundler = browserify({ entries: entries, debug: true, cache: {}, packageCache: {} }); bundler.transform(ngAnnotate); function _rebundle() { var stream = bundler.bundle(); return stream.on('error', function(err) { console.error(err.stack || err); this.emit('end'); }) .pipe(source(file)) .pipe(gulpif(isMin, buffer())) .pipe(gulpif(isMin, sourcemaps.init())) .pipe(gulpif(isMin, streamify(uglify({ compress: { drop_console: false } })))) .pipe(gulpif(isMin, sourcemaps.write('./'))) .pipe(gulp.dest('dist')); } return _rebundle(); } gulp.task('build', ['build:normal', 'build:min']); gulp.task('build:min', function() { return _build('state-view.min.js', './src/index.js', true); }); gulp.task('build:normal', function() { return _build('state-view.js', './src/index.js'); });