Files
ogre-sort/gulpfile.js
Cooper Dalrymple 06485c47b2 Fix package root
2026-03-03 14:28:34 -06:00

88 lines
1.4 KiB
JavaScript

const fs = require('fs'),
gulp = require('gulp'),
clean = require('gulp-clean'),
zip = require('gulp-zip').default;
const PACKAGE = require('./package.json');
const NAME = PACKAGE.name.split('/').pop();
// Clean Tasks
gulp.task('clean-package-files', (done) => {
if (!fs.existsSync('./dist')) return done();
return gulp.src(`./dist/${NAME}`, {
read: false,
allowEmpty: true,
}).pipe(clean());
});
gulp.task('clean-package-zip', (done) => {
if (!fs.existsSync('./dist')) return done();
return gulp.src('./dist/*.zip', {
read: false,
allowEmpty: true,
}).pipe(clean());
});
gulp.task(
'clean-package',
gulp.series(
'clean-package-files',
'clean-package-zip'
)
);
gulp.task(
'clean',
gulp.series(
'clean-package'
)
);
// Package Tasks
gulp.task('package-copy', () => {
return gulp.src([
'assets/**/*',
'inc/**/*',
'lib/**/*',
'vendor/**/*',
'LICENSE',
`${NAME}.php`,
'readme.txt'
], {
base: './',
encoding: false,
})
.pipe(gulp.dest(`./dist/${NAME}`));
});
gulp.task('package-compress', () => {
return gulp.src(`./dist/${NAME}/**/*`, {
base: './dist',
encoding: false,
})
.pipe(zip(`${NAME}.zip`))
.pipe(gulp.dest('./dist'));
});
gulp.task(
'package',
gulp.series(
'clean',
'package-copy',
'package-compress',
'clean-package-files'
)
);
// Default Tasks
gulp.task(
'default',
gulp.series(
'clean',
'package'
)
);