/** * @package ogre-suspension * @author cleverogre * @version 1.0.0 * @since 1.0.0 */ const gulp = require('gulp'), clean = require('gulp-clean'), filter = require('gulp-filter').default, zip = require('gulp-zip').default, path = require('path'); const NAME = path.basename(__dirname); // Clean Tasks gulp.task('clean-package', () => { return gulp.src([ `${NAME}.zip`, `${NAME}` ], { read: false, allowEmpty: true, }).pipe(clean()); }); gulp.task( 'clean', gulp.series( 'clean-package' ) ); // Package Tasks gulp.task('package-copy', () => { return gulp.src([ 'assets/**/*', 'inc/**/*', 'templates/**/*', 'vendor/**/*', '!vendor/**/node_modules/**/*', 'LICENSE', `${NAME}.php`, 'readme.txt' ], { base: './', allowEmpty: true, encoding: false, }) .pipe(filter((file) => !file.path.includes('/node_modules'))) .pipe(gulp.dest(`./${NAME}/`)); }); gulp.task('package-zip', () => { return gulp.src(`${NAME}/**/*`, { base: './', encoding: false, }) .pipe(zip(`${NAME}.zip`)) .pipe(gulp.dest('./')); }); gulp.task('package-clean', () => { return gulp.src(`${NAME}`, { read: false, allowEmpty: true, }).pipe(clean()); }); gulp.task( 'package', gulp.series( 'package-copy', 'package-zip', 'package-clean' ) ); // Default Tasks gulp.task( 'default', gulp.series( 'clean', 'package' ) );