UNPKG

angular-theme-spinner

Version:

angular-theme-spinner used to tell people the data is loading

82 lines (66 loc) 2.23 kB
'use strict'; var gulp = require('gulp'); var less = function(dest, isProduction) { var less = require('gulp-less'); var LessPluginAutoPrefix = require('less-plugin-autoprefix'); var autoprefix = new LessPluginAutoPrefix({ browsers: [ 'last 5 versions' ] }); var LessPluginCleanCSS = require('less-plugin-clean-css'); var cleancss = new LessPluginCleanCSS(); var rename = require('gulp-rename'); return gulp.src('src/angular-theme-spinner.less') .pipe(rename({extname: '.min.css'})) .pipe(less({plugins: [autoprefix,cleancss]})) .pipe(gulp.dest(isProduction ? 'dist/' : 'demo/')); }; gulp.task('lessDemo', function() { return less('demo/', false); }); gulp.task('lessDist', function() { return less('./', true); }); var copy = function(isProduction) { var minify = require('html-minifier').minify; var html = require('fs').readFileSync('src/angular-theme-spinner.html', { encoding: 'utf8' }); var minHtml = minify(html, { removeComments: true, removeCommentsFromCDATA: true, collapseWhitespace: true }); var template = require('gulp-template'); var rename = require('gulp-rename'); return gulp.src('src/angular-theme-spinner.js_vm') .pipe(template({template: minHtml.replace(/\'/g, '\\\'')})) .pipe(rename({extname: '.js'})) .pipe(gulp.dest(isProduction ? 'dist/' : 'demo/')); }; gulp.task('copyDemo', function() { return copy(false); }); gulp.task('copyDist', function() { return copy(true); }); gulp.task('dev', ['lessDemo', 'copyDemo'], function() { var webserver = require('gulp-webserver'); gulp.src('demo/') .pipe(webserver({ host: '0.0.0.0', port: 8080, livereload: true, directoryListing: false, fallback: 'index.html' })); }); gulp.task('dist', ['lessDist', 'copyDist'], function() { var uglify = require('gulp-uglify'); var rename = require('gulp-rename'); return gulp.src('./dist/angular-theme-spinner.js') .pipe(rename({extname: '.min.js'})) .pipe(uglify()) .pipe(gulp.dest('./dist/')); });