var gulp = require('gulp'); var jshint = require('gulp-jshint'); var templateCache = require('gulp-angular-templatecache'); var concat = require('gulp-concat'); var uglify = require('gulp-uglify'); var rename = require('gulp-rename'); var sass = require('gulp-sass'); var ngAnnotate = require('gulp-ng-annotate'); var stripDebug = require('gulp-strip-debug'); var del = require('del'); gulp.task('default', ['compress','sass'], function() { del(['.tmp/'], function (err, paths) { console.log('Deleted files/folders:\n', paths.join('\n')); }); }); gulp.task('lint', function() { return gulp.src('./src/js/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')); }); gulp.task('templatecache',['lint'], function () { return gulp.src('./src/templates/*.html') .pipe(templateCache({standalone:true})) .pipe(gulp.dest('./.tmp/')); }); gulp.task('scripts', ['templatecache'], function() { return gulp.src('./src/js/*.js') .pipe(ngAnnotate()) .pipe(concat('ion-gallery.js')) .pipe(gulp.dest('./.tmp/')); }); gulp.task('compress',['scripts'], function() { return gulp.src('./.tmp/*.js') .pipe(concat('ion-gallery.js')) .pipe(gulp.dest('./dist')) .pipe(stripDebug()) .pipe(uglify()) .pipe(rename('ion-gallery.min.js')) .pipe(gulp.dest('./dist')); }); gulp.task('sass', function () { gulp.src('./src/scss/*.scss') .pipe(sass({outputStyle: 'compressed'})) .pipe(gulp.dest('./dist')); });