12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- var gulp = require('gulp');
- // var sass = require('gulp-sass');
- var less = require('gulp-less');
- var del = require('del');
- var concat = require('gulp-concat');
- var rev = require('gulp-rev');
- var revCollector = require('gulp-rev-collector');
- var minifycss = require('gulp-minify-css');
- var minifyhtml = require('gulp-minify-html');
- var minifyjs = require('gulp-uglify');
- var autoprefixer = require('gulp-autoprefixer');
- // var imagemin = require('gulp-imagemin');
- // var pngquant = require('imagemin-pngquant');
- var templateCache = require('gulp-angular-templatecache');
- // Paths to your asset files
- var paths = {
- frontend: {
- scripts: [
- 'src/js/**/*.js'
- ],
- styles: [
- 'temp/css/*'
- ],
- less: [
- 'src/less/*.less'
- ],
- imgs: [
- 'src/imgs/*'
- ],
- template: [
- 'src/templates/*.html'
- ]
- }
- }
- gulp.task('app-css', function() {
- del(['dest/css/app-*.css'], function (err) {});
- return gulp.src(paths.frontend.less)
- .pipe(less())
- .pipe(concat('app.css'))
- // .pipe(minifycss())
- .pipe(rev())
- .pipe(gulp.dest('dest/css'))
- .pipe(rev.manifest('app-css-manifest.json'))
- .pipe(gulp.dest('temp/manifest'));
- });
- gulp.task('rev', ['app-css','js'], function() {
- return gulp.src(['temp/manifest/*.json', 'src/html/index.html'])
- .pipe(revCollector())
- .pipe(gulp.dest('dest'));
- });
- gulp.task('template', function() {
- return gulp.src(paths.frontend.template)
- .pipe(templateCache('templates.js', { module:'templatescache', standalone:true, root: 'templates/' }))
- .pipe(gulp.dest('src/js'));
- });
- gulp.task('js', ['template'], function() {
- // Cleanup old assets
- del(['dest/js/app-*.js'], function (err) {});
-
- return gulp.src(paths.frontend.scripts)
- .pipe(concat('app.js'))
- // .pipe(minifyjs())
- .pipe(rev())
- .pipe(gulp.dest('dest/js'))
- .pipe(rev.manifest('app-js-manifest.json'))
- .pipe(gulp.dest('temp/manifest'));
- });
- // gulp.task('imgs', function () {
- // return gulp.src(paths.frontend.imgs)
- // .pipe(imagemin({
- // progressive: true,
- // svgoPlugins: [{removeViewBox: false}],
- // use: [pngquant()]
- // }))
- // .pipe(gulp.dest('dest/assets/imgs'));
- // });
- gulp.task('build', ['app-css', 'template', 'js', 'rev']);
- gulp.task('watch', function(){
- gulp.watch('src/less/*.less', ['app-css', 'rev']);
- gulp.watch('src/html/**/*.html', ['rev']);
- gulp.watch('src/templates/**/*.html', ['template', 'js', 'rev']);
- gulp.watch('src/js/**/*.js', ['js', 'rev']);
- });
- // The default task (called when you run `gulp` from cli)
- gulp.task('default', ['build', 'watch']);
|