@gravityforms/gulp-tasks
Version:
Configurable Gulp tasks for use in Gravity Forms projects.
42 lines (38 loc) • 1.48 kB
JavaScript
import { createRequire } from 'node:module';
import getConfig from '../../config.js';
import { trailingSlashIt } from '../utils/tools.js';
const cjsRequire = createRequire( import.meta.url );
const gulp = cjsRequire( 'gulp' );
const cleanCSS = cjsRequire( '@aptuitiv/gulp-clean-css' );
const rename = cjsRequire( 'gulp-rename' );
const { config } = getConfig();
const cleanCssConfig = config?.cleanCss?.cleanCssConfig || {};
export default Object.assign( {}, {
minifyAssetFiles() {
return gulp.src( config?.cleanCss?.minifyAssetFiles || [] )
.pipe( cleanCSS( cleanCssConfig ) )
.pipe( rename( { extname: '.min.css' } ) )
.pipe( gulp.dest( function( file ) {
// Return the base path of each file to place minified files in the same directory
return file.base;
} ) );
},
minifyFiles() {
return gulp.src( config?.cleanCss?.minifyFiles || [] )
.pipe( cleanCSS( cleanCssConfig ) )
.pipe( rename( { extname: '.min.css' } ) )
.pipe( gulp.dest( function( file ) {
// Return the base path of each file to place minified files in the same directory
return file.base;
} ) );
},
minifyDistFiles() {
return gulp.src( [
`${ trailingSlashIt( config.paths.css_dist ) }**/*.css`,
`!${ trailingSlashIt( config.paths.css_dist ) }**/*.min.css`,
] )
.pipe( cleanCSS( cleanCssConfig ) )
.pipe( rename( { extname: '.min.css' } ) )
.pipe( gulp.dest( config.paths.css_dist ) );
},
}, config?.tasks?.builtins?.[ 'clean-css' ] || {} );