22// process.env.DISABLE_NOTIFIER = true;
33
44var gulp = require ( 'gulp' ) ;
5- var gulpImagemin = require ( 'gulp-imagemin' ) ;
65var elixir = require ( 'laravel-elixir' ) ;
76
87// Assets path
@@ -15,15 +14,34 @@ elixir.config.css.autoprefix.options.browsers = ['last 15 versions'];
1514var Task = elixir . Task ;
1615elixir . extend ( 'imagemin' , function ( src , dest ) {
1716 new Task ( 'imagemin' , function ( ) {
17+ var gulpImagemin = require ( 'gulp-imagemin' ) ;
1818 return gulp . src ( elixir . config . assetsPath + src )
1919 . pipe ( gulpImagemin ( ) )
2020 . pipe ( gulp . dest ( dest ) ) ;
2121 } ) . watch ( elixir . config . assetsPath + src ) ;
2222} ) ;
2323
24+ // Create a Hash in package.json
25+ elixir . extend ( 'hash' , function ( ) {
26+ new Task ( 'hash' , function ( ) {
27+ var fs = require ( 'fs' ) ;
28+ var fileName = './package.json' ;
29+ var file = require ( fileName ) ;
30+
31+ // generate a new hash
32+ file . hash = ( 0 | Math . random ( ) * 9e6 ) . toString ( 36 ) ;
33+ // save to package.json
34+ fs . writeFile ( fileName , JSON . stringify ( file , null , 2 ) , function ( err ) {
35+ if ( err ) return console . log ( err ) ;
36+ console . log ( 'writing to ' + fileName ) ;
37+ } ) ;
38+ } )
39+ } ) ;
40+
2441// Run elixir tasks
2542elixir ( function ( mix ) {
2643 mix . sass ( 'barebones.scss' , 'style.css' )
2744 . scripts ( [ 'script.js' ] , 'js/script.min.js' )
28- . imagemin ( '/images/**/*' , './img' ) ;
45+ . imagemin ( '/images/**/*' , './img' )
46+ . hash ( ) ;
2947} ) ;
0 commit comments