UNPKG

unserver-unify

Version:

107 lines (92 loc) 3.37 kB
'use strict'; var gulp = require('gulp'); var paths = gulp.paths; var $ = require('gulp-load-plugins')({ pattern: ['gulp-*', 'main-bower-files', 'uglify-save-license', 'del'] }); gulp.task('partials', function () { return gulp.src([ paths.src + '/{app,components}/**/*.html', paths.tmp + '/{app,components}/**/*.html' ]) .pipe($.minifyHtml({ empty: true, spare: true, conditionals: true, quotes: true })) .pipe($.angularTemplatecache('templateCacheHtml.js', { module: 'bamboo' })) .pipe(gulp.dest(paths.tmp + '/partials/')); }); gulp.task('html', ['inject', 'partials'], function () { var partialsInjectFile = gulp.src(paths.tmp + '/partials/templateCacheHtml.js', { read: false }); var partialsInjectOptions = { starttag: '<!-- inject:partials -->', ignorePath: paths.tmp + '/partials', addRootSlash: false }; var htmlFilter = $.filter('*.html', { restore: true }); var jsFilter = $.filter('**/*.js', { restore: true }); var cssFilter = $.filter('**/*.css', { restore: true }); var assets; return gulp.src(paths.tmp + '/serve/*.html') .pipe($.inject(partialsInjectFile, partialsInjectOptions)) .pipe(assets = $.useref.assets()) .pipe($.rev()) .pipe(jsFilter) .pipe($.ngAnnotate()) .pipe($.uglify({preserveComments: $.uglifySaveLicense})) .pipe(jsFilter.restore) .pipe(cssFilter) .pipe($.replace('../bootstrap/fonts', '../fonts')) .pipe($.replace('/bower_components/font-awesome/fonts', '../fonts')) .pipe($.replace('/bower_components/bootstrap/fonts', '../fonts')) .pipe($.replace('fonts/videogular', '../fonts/videogular')) .pipe($.csso()) .pipe(cssFilter.restore) .pipe(assets.restore()) .pipe($.useref()) .pipe($.revReplace()) .pipe(htmlFilter) .pipe($.minifyHtml({ empty: true, spare: true, conditionals: true, quotes: true })) .pipe(htmlFilter.restore) .pipe(gulp.dest(paths.dist + '/')) .pipe($.size({ title: paths.dist + '/', showFiles: true })); }); gulp.task('assets', function () { return gulp.src(paths.src + '/assets/**/*') .pipe(gulp.dest(paths.dist + '/assets/')); }); gulp.task('fonts', function () { return gulp.src($.mainBowerFiles()) .pipe($.filter('**/*.{eot,svg,ttf,woff,woff2}')) .pipe($.flatten()) .pipe(gulp.dest(paths.dist + '/fonts/')); }); gulp.task('fontawesome', function () { return gulp.src('bower_components/font-awesome/fonts/*.{eot,svg,ttf,woff,woff2}') .pipe(gulp.dest(paths.dist + '/fonts/')); }); gulp.task('fontbootstrap', function () { return gulp.src('bower_components/bootstrap/fonts/*.{eot,svg,ttf,woff,woff2}') .pipe(gulp.dest(paths.dist + '/fonts/')); }); gulp.task('videogular', function () { return gulp.src('src/assets/libs/videogular-themes-default/fonts/*.{eot,svg,ttf,woff,woff2}') .pipe(gulp.dest(paths.dist + '/fonts/')); }); gulp.task('misc', function () { return gulp.src(paths.src + '/**/*.ico') .pipe(gulp.dest(paths.dist + '/')); }); gulp.task('clean', function (done) { $.del([paths.dist + '/', paths.tmp + '/'], done); }); gulp.task('build', ['html', 'assets', 'fonts', 'fontawesome','fontbootstrap','videogular', 'misc','inject']);