const fs = require('fs'), path = require('path'), gulp = require('gulp'), clean = require('gulp-clean'), zip = require('gulp-zip').default; const PACKAGE = path.basename(__dirname); // Clean Tasks gulp.task('clean-package', () => { return gulp.src(`${PACKAGE}.zip`, { read: false, allowEmpty: true, }).pipe(clean()); }); gulp.task( 'clean', gulp.series( 'clean-package' ) ); // Package Tasks gulp.task('package-compress', () => { return gulp.src([ (fs.existsSync('lang') ? 'lang/**/*' : null), 'lib/**/*', 'vendor/**/*', 'LICENSE', 'readme.txt', 'woocommerce-form-pay-address.php' ].filter(x => x), { base: './' }) .pipe(zip(`${PACKAGE}.zip`)) .pipe(gulp.dest('./')); }); gulp.task( 'package', gulp.series( 'clean-package', 'package-compress' ) ); // Default Tasks gulp.task( 'default', gulp.series( 'package' ) );