forked from alenaksu/mdPickers
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
65 lines (57 loc) · 1.98 KB
/
gulpfile.js
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
57
58
59
60
61
62
63
64
65
"use strict";
var gulp = require('gulp'),
uglify = require('gulp-uglify'),
less = require('gulp-less'),
rename = require('gulp-rename'),
minify = require('gulp-cssnano'),
sourcemaps = require('gulp-sourcemaps'),
wrap = require('gulp-wrap'),
concat = require('gulp-concat'),
autoprefixer = require('gulp-autoprefixer'),
ngHtml2Js = require('gulp-ng-html2js'),
minifyHtml = require('gulp-minify-html'),
angularFilesort = require('gulp-angular-filesort'),
ngAnnotate = require('gulp-ng-annotate'),
path = require('path');
var outputFolder = 'dist/';
var moduleName = 'mdPickers';
gulp.task('assets', function() {
return gulp.src(['src/core/**/*.less', 'src/components/**/*.less'])
.pipe(concat('mdPickers.less'))
.pipe(less())
.pipe(autoprefixer())
.pipe(gulp.dest(outputFolder))
.pipe(rename({ suffix: '.min' }))
.pipe(minify())
.pipe(gulp.dest(outputFolder));
});
gulp.task('html2js', function() {
return gulp.src('src/components/**/*.html')
.pipe(minifyHtml({
empty: true,
spare: true,
quotes: true
}))
.pipe(ngHtml2Js({
moduleName: "mdPickers"
}))
.pipe(concat("mdPickers.templates.js"))
.pipe(uglify())
.pipe(gulp.dest('src'));
});
gulp.task('build-app', ['html2js'], function() {
return gulp.src(['src/mdPickers.js', 'src/core/**/*.js', 'src/components/**/*.js', 'src/mdPickers.templates.js'])
.pipe(ngAnnotate())
.pipe(concat('mdPickers.js'))
.pipe(wrap('(function() {\n"use strict";\n<%= contents %>\n})();'))
.pipe(sourcemaps.init())
.pipe(gulp.dest(outputFolder))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(outputFolder));
});
gulp.task('watch', function() {
gulp.watch('src/**/*', ['assets', 'build-app']);
});
gulp.task('default', ['assets', 'build-app']);