90 lines
1.3 KiB
JavaScript
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'
|
|
)
|
|
);
|