| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- var gulp = require('gulp');
- var less = require('gulp-less');
- var minifyCSS = require('gulp-minify-css');
- var csscomb = require('gulp-csscomb');
- var ngAnnotate = require('gulp-ng-annotate');
- var uglify = require('gulp-uglify');
- var jshint = require('gulp-jshint');
- var rename = require('gulp-rename');
- var header = require('gulp-header');
- var templateCache = require('gulp-angular-templatecache');
- var minifyHtml = require("gulp-minify-html");
- var concat = require('gulp-concat');
- var addsrc = require('gulp-add-src');
- var order = require("gulp-order");
- var protractor = require("gulp-protractor").protractor;
- var pkg = require('./package.json');
- var banner = ['/**',
- ' * <%= pkg.name %> - <%= pkg.description %>',
- ' * @author <%= pkg.author %>',
- ' * @version v<%= pkg.version %>',
- ' * @link <%= pkg.homepage %>',
- ' * @license <%= pkg.license %>',
- ' */',
- ''].join('\n');
- // ==== Styles
- gulp.task('styles', function() {
- gulp.src('src/angular-ui-notification.less')
- .pipe(less({
- strictMath: true
- }))
- .pipe(csscomb())
- .pipe(minifyCSS())
- .pipe(rename({
- suffix: '.min'
- }))
- .pipe(header(banner, { pkg : pkg }))
- .pipe(gulp.dest('dist'))
- .pipe(gulp.dest('demo'));
- });
- // ====== Templates
- gulp.task('templates', function() {
- gulp.src(['*.html'], {cwd: 'src'})
- .pipe(minifyHtml({
- empty: true,
- spare: true,
- quotes: true
- }))
- .pipe(templateCache({
- module: 'ui-notification',
- }))
- .pipe(rename('angular-ui-notification.templates.js'))
- .pipe(gulp.dest("build"));
- });
- gulp.task('service', function() {
- gulp.src(['src/*.js'])
- .pipe(jshint())
- .pipe(jshint.reporter('default'))
- .pipe(jshint.reporter('fail'))
- .pipe(ngAnnotate())
- .pipe(addsrc('build/*.js'))
- .pipe(order([
- 'src/*.js',
- 'build/angular-ui-notification.templates.js'
- ]))
- .pipe(concat('angular-ui-notification.js'))
- .pipe(uglify())
- .pipe(rename({
- suffix: '.min'
- }))
- .pipe(header(banner, { pkg : pkg }))
- .pipe(gulp.dest('dist'))
- .pipe(gulp.dest('demo'));
- });
- // ======
- gulp.task('e2eTest', function() {
- gulp.src(['./test/**/*_spec.js'])
- .pipe(protractor({
- configFile: "protractor_conf.js",
- }))
- .on('error', function(e) {throw e});
- });
- gulp.task('tests', ['e2eTest']);
- gulp.task('build', ['templates', 'service', 'styles']);
- gulp.task('deploy', ['build', 'tests']);
- gulp.task('default', ['deploy'], function() {});
|