0.0.6 | Built motion from commit ffa9431.
[motion.git] / public / assets / plugins / angular-elastic-builder-back / gulpfile.js
1 /**
2  * Package Dependencies
3  */
4 var concat = require('gulp-concat')
5   , del = require('del')
6   , header = require('gulp-header')
7   , gulp = require('gulp')
8   , templateCache = require('gulp-angular-templatecache')
9   , rename = require('gulp-rename')
10   , uglify = require('gulp-uglifyjs')
11   , util = require('util');
12
13 /**
14  * Local Dependencies
15  */
16 var pkg = require('./package.json');
17 var banner = ['/**'
18   , ' * # <%= pkg.name %>'
19   , ' * ## <%= pkg.description %>'
20   , ' *'
21   , ' * @version v<%= pkg.version %>'
22   , ' * @link <%= pkg.repository.url %>'
23   , ' * @license <%= pkg.license %>'
24   , ' * @author <%= pkg.author %>'
25   , ' */'
26   , ''
27   , ''].join('\n');
28
29 var filename = util.format('%s.js', pkg.name)
30   , dest = 'dist/' + filename;
31
32 gulp.task('build', ['uglify']);
33 gulp.task('default', ['uglify']);
34
35
36 gulp.task('clean', function(done) {
37   del('./dist', done);
38 });
39
40 gulp.task('concat', [ 'templatecache' ], function() {
41   return gulp.src(['./src/module.js', './src/**/*.js'])
42     .pipe(concat(filename))
43     .pipe(gulp.dest('./dist'));
44 });
45
46 gulp.task('header', [ 'concat' ], function() {
47   return gulp.src('./dist/*.js')
48     .pipe(header(banner, { pkg: pkg }))
49     .pipe(gulp.dest('./dist'));
50 });
51
52 gulp.task('uglify', [ 'header' ], function() {
53   return gulp.src('./dist/*.js')
54     .pipe(uglify(dest.replace(/\.js$/, '.min.js')))
55     .pipe(gulp.dest('./'));
56 });
57
58 gulp.task('templatecache', [ 'clean' ], function() {
59   var TEMPLATE_HEADER = '(function(angular) {"use strict"; angular.module("<%= module %>"<%= standalone %>).run(["$templateCache", function($templateCache) {'
60     , TEMPLATE_FOOTER = '}]);})(window.angular);';
61
62   return gulp.src('src/tmpl/**/*.html')
63     .pipe(templateCache({
64       root: 'angular-elastic-builder',
65       module: 'angular-elastic-builder',
66       templateHeader: TEMPLATE_HEADER,
67       templateFooter: TEMPLATE_FOOTER,
68     }))
69     .pipe(rename('ElasticBuilderTemplates.js'))
70     .pipe(gulp.dest('src/tmpl'));
71 });
72
73 gulp.task('watch', [ 'templatecache', 'build' ], function() {
74   gulp.watch('src/tmpl/**/*.html', [ 'templatecache', 'build' ]);
75   gulp.watch(['src/**/**.js','!src/tmpl/ElasticBuilderTemplates.js'], [ 'build' ]);
76 });