Files
openemu.github.io/_src/gulpfile.js
T
Craig Erskine 40f8997b1b 2018 modern rewrite
Almost everything updated and assets compressed
2018-09-03 10:42:32 -05:00

72 lines
1.9 KiB
JavaScript
Executable File

let gulp = require('gulp');
let browserSync = require('browser-sync').create();
let postcss = require('gulp-postcss');
let tailwindcss = require('tailwindcss');
let purgecss = require('gulp-purgecss');
let autoprefixer = require('gulp-autoprefixer');
let cleanCSS = require('gulp-clean-css');
let concat = require('gulp-concat');
let rename = require('gulp-rename');
let uglify = require('gulp-uglify');
let htmlmin = require('gulp-htmlmin');
gulp.task('css', function(){
return gulp.src('./css/main.css')
.pipe(postcss([
tailwindcss('./tailwind.js'),
]))
.pipe(purgecss({
content: ['./*.html', './js/*.js'],
extractors: [
{
extractor: class TailwindExtractor {
static extract(content) {
return content.match(/[A-Za-z0-9-_:\/]+/g) || [];
}
},
extensions: ['html', 'js']
}
]
}))
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(gulp.dest('../css/'))
.pipe(browserSync.reload({stream:true}));
});
gulp.task('js', function(){
return gulp.src([
'./js/jquery.js',
'./js/plugins.js',
'./js/main.js'
])
.pipe(concat('main.js'))
.pipe(uglify())
.pipe(gulp.dest('../js/'))
.pipe(browserSync.reload({stream:true}));
});
gulp.task('html', function(){
return gulp.src('./*.html')
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(gulp.dest('../'))
.pipe(browserSync.reload({stream:true}));
});
gulp.task('data', function(){
return gulp.src('../data.js')
.pipe(browserSync.reload({stream:true}));
});
gulp.task('default', function(){
// $ ./node_modules/.bin/gulp
browserSync.init({server: { baseDir: "../" }});
gulp.watch(['./css/**/*.css', './tailwind.js', './*.html'], ['css']);
gulp.watch('./js/**/*.js', ['js']);
gulp.watch('./index.html', ['html']);
gulp.watch('../data.js', ['data']);
});