Gulpfile

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

'use strict';

let gulp = require('gulp'),


rename = require('gulp-rename'),
notify = require('gulp-notify'),
autoprefixer = require('gulp-autoprefixer'),
uglify = require('gulp-uglify-es').default,
sass = require('gulp-sass'),
plumber = require('gulp-plumber'),
checktextdomain = require('gulp-checktextdomain');

let sassSettings = {
outputStyle: 'compressed',
indentType: 'tab',
indentWidth: 1
};

//css
gulp.task('css-frontend', () => {
return gulp.src('./assets/scss/jet-woo-product-gallery.scss')
.pipe(
plumber( {
errorHandler: function ( error ) {

console.log('=================ERROR=================');
console.log(error.message);
this.emit( 'end' );
}
})
)
.pipe(sass( sassSettings ))
.pipe(autoprefixer({
browsers: ['last 10 versions'],
cascade: false
}))

.pipe(rename('jet-woo-product-gallery.css'))
.pipe(gulp.dest('./assets/css/'))
.pipe(notify('Compile Sass Done!'));
});

gulp.task('css-gallery-icons', () => {
return gulp.src('./assets/scss/jet-gallery-icons.scss')
.pipe(
plumber( {
errorHandler: function ( error ) {

console.log('=================ERROR=================');
console.log(error.message);
this.emit( 'end' );
}
})
)
.pipe(sass( sassSettings ))
.pipe(autoprefixer({
browsers: ['last 10 versions'],
cascade: false
}))
.pipe(rename('jet-gallery-icons.css'))
.pipe(gulp.dest('./assets/css/'))
.pipe(notify('Compile Sass Done!'));
});

gulp.task('css-admin', () => {
return gulp.src('./assets/scss/jet-woo-product-gallery-admin.scss')
.pipe(
plumber( {
errorHandler: function ( error ) {

console.log('=================ERROR=================');
console.log(error.message);
this.emit( 'end' );
}
})
)
.pipe(sass( sassSettings ))
.pipe(autoprefixer({
browsers: ['last 10 versions'],
cascade: false
}))

.pipe(rename('jet-woo-product-gallery-admin.css'))
.pipe(gulp.dest('./assets/css/'))
.pipe(notify('Compile Sass Done!'));
});

gulp.task('css-blocks-views', () => {
return gulp.src('./assets/scss/blocks-views.scss')
.pipe(
plumber( {
errorHandler: function ( error ) {

console.log('=================ERROR=================');
console.log(error.message);
this.emit( 'end' );
}
})
)
.pipe(sass( sassSettings ))
.pipe(autoprefixer({
browsers: ['last 10 versions'],
cascade: false
}))

.pipe(rename('blocks-views.css'))
.pipe(gulp.dest('./assets/css/'))
.pipe(notify('Compile Sass Done!'));
});

// Minify JS
gulp.task( 'frontend-js-minify', function() {
return gulp.src( './assets/js/jet-woo-product-gallery.js' )
.pipe( uglify() )
.pipe( rename( { extname: '.min.js' } ) )
.pipe( gulp.dest( './assets/js/' ) )
.pipe( notify( 'js Minify Done!' ) );
} );
gulp.task( 'admin-js-minify', function() {
return gulp.src( './assets/js/jet-woo-product-gallery-admin.js' )
.pipe( uglify() )
.pipe( rename( { extname: '.min.js' } ) )
.pipe( gulp.dest( './assets/js/' ) )
.pipe( notify( 'js Minify Done!' ) );
} );

gulp.task( 'vue-components-js-minify', function() {


return gulp.src( './assets/js/admin-vue-components.js' )
.pipe( uglify() )
.pipe( rename( { extname: '.min.js' } ) )
.pipe( gulp.dest( './assets/js/' ) )
.pipe( notify( 'js Minify Done!' ) );
} );

//watch
gulp.task('watch', () => {
gulp.watch( './assets/scss/**', gulp.series( ...[ 'css-frontend', 'css-
gallery-icons', 'css-admin' ] ) );

gulp.watch( './assets/js/**', gulp.series( ...[ 'frontend-js-minify', 'admin-


js-minify','vue-components-js-minify' ] ) );
});

gulp.task( 'checktextdomain', () => {


return gulp.src( ['**/*.php', '!cherry-framework/**/*.php'] )
.pipe( checktextdomain( {
text_domain: 'jet-woo-product-gallery',
keywords: [
'__:1,2d',
'_e:1,2d',
'_x:1,2c,3d',
'esc_html__:1,2d',
'esc_html_e:1,2d',
'esc_html_x:1,2c,3d',
'esc_attr__:1,2d',
'esc_attr_e:1,2d',
'esc_attr_x:1,2c,3d',
'_ex:1,2c,3d',
'_n:1,2,4d',
'_nx:1,2,4c,5d',
'_n_noop:1,2,3d',
'_nx_noop:1,2,3c,4d',
'translate_nooped_plural:1,2c,3d'
]
} ) );
} );

You might also like