barebones/gulpfile.js

48 lines
1.3 KiB
JavaScript
Raw Normal View History

// Notifications (comment out to disable notifications)
// process.env.DISABLE_NOTIFIER = true;
2016-05-17 13:52:00 +02:00
2016-05-17 13:11:44 +02:00
var gulp = require('gulp');
2015-10-14 12:10:55 +02:00
var elixir = require('laravel-elixir');
2015-10-15 18:24:32 +02:00
// Assets path
2015-10-14 12:10:55 +02:00
elixir.config.assetsPath = 'assets';
// Make autoprefixer support older browsers
elixir.config.css.autoprefix.options.browsers = ['last 15 versions'];
2016-05-17 13:11:44 +02:00
// Imagemin
var Task = elixir.Task;
2016-06-24 13:27:53 +02:00
elixir.extend('imagemin', function(src, dest) {
2016-05-17 13:11:44 +02:00
new Task('imagemin', function() {
var gulpImagemin = require('gulp-imagemin');
2016-06-24 13:27:53 +02:00
return gulp.src(elixir.config.assetsPath + src)
.pipe(gulpImagemin())
.pipe(gulp.dest(dest));
}).watch(elixir.config.assetsPath + src);
2016-05-17 13:11:44 +02:00
});
// Create a Hash in package.json
elixir.extend('hash', function() {
new Task('hash', function() {
var fs = require('fs');
var fileName = './package.json';
var file = require(fileName);
// generate a new hash
file.hash = ( 0 | Math.random() * 9e6 ).toString(36);
// save to package.json
fs.writeFile(fileName, JSON.stringify(file, null, 2), function (err) {
if (err) return console.log(err);
console.log('writing to ' + fileName);
});
})
});
2015-10-14 12:10:55 +02:00
// Run elixir tasks
elixir(function(mix) {
2015-10-15 18:24:32 +02:00
mix.sass('barebones.scss', 'style.css')
2016-05-17 13:11:44 +02:00
.scripts(['script.js'], 'js/script.min.js')
.imagemin('/images/**/*', './img')
.hash();
2016-05-17 13:11:44 +02:00
});