jonnybarnes.uk/gulpfile.js
Jonny Barnes c38c709c42 Squashed commit of the following:
commit ed3f2fa665c47fc1ad2a898f06bcd00efd756358
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Mon Oct 24 14:13:45 2016 +0100

    Delete bower folder

commit 9166de3f0ac24c9959cf635a4e54ef063486c072
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Mon Oct 24 14:12:42 2016 +0100

    populate frontend folder, gzip on different machine also produces different .gz files for existing assets

commit 0b1958b01e372886f564f7c08c435c52412e3a30
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Mon Oct 24 14:11:22 2016 +0100

    use frotnend asset folder instead of bower

commit 60a7b81b876ebb01991ca524d0e49b81f8aefd76
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Mon Oct 24 13:53:58 2016 +0100

    Move frontend package management to yarn/npm
2016-10-24 14:16:10 +01:00

89 lines
3.4 KiB
JavaScript

'use strict';
var gulp = require('gulp');
var sass = require('gulp-sass');
var brotli = require('gulp-brotli');
var uglify = require('gulp-uglify');
var zopfli = require('gulp-zopfli');
var sourcemaps = require('gulp-sourcemaps');
var autoprefixer = require('gulp-autoprefixer');
gulp.task('sass', function () {
return gulp.src('./resources/assets/sass/global.scss')
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(autoprefixer({browsers: ['last 2 version']}))
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./public/assets/css'));
});
gulp.task('js-assets', function () {
//return gulp.src(['resources/assets/js/**/*'])
// .pipe(gulp.dest('./public/assets/js'));
return gulp.src(['resources/assets/js/**/*'])
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./public/assets/js'));
});
gulp.task('frontend', function () {
//copy JS files
gulp.src([
'node_modules/whatwg-fetch/fetch.js',
'node_modules/alertify.js/dist/js/alertify.js',
'node_modules/store2/dist/store2.min.js',
'node_modules/autolinker/dist/Autolinker.min.js',
'node_modules/marked/marked.min.js',
])
.pipe(gulp.dest('public/assets/frontend/'));
//copy CSS files
gulp.src([
'node_modules/alertify.js/dist/css/alertify.css',
'node_modules/sanitize.css/sanitize.css',
])
.pipe(gulp.dest('public/assets/frontend/'));
});
gulp.task('compress', function () {
//hand-made css
gulp.src('public/assets/css/*.css')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/css/'));
gulp.src('public/assets/css/*.css')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/css/'));
//hand-made js
gulp.src('public/assets/js/*.js')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/js/'));
gulp.src('public/assets/js/*.js')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/js/'));
//bower components
gulp.src('public/assets/frontend/*.css')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/frontend/'));
gulp.src('public/assets/frontend/*.js')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/frontend/'));
gulp.src('public/assets/bower/*.css')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/frontend/'));
gulp.src('public/assets/bower/*.js')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/frontend/'));
//prism
gulp.src('public/assets/prism/*.css')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/prism/'));
gulp.src('public/assets/prism/*.js')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/prism/'));
gulp.src('public/assets/prism/*.css')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/prism/'));
gulp.src('public/assets/prism/*.js')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/prism/'));
});