Files
ogre-suspension/gulpfile.js
2025-10-29 14:03:28 -05:00

90 lines
1.3 KiB
JavaScript

/**
* @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'
)
);