diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 373d3ed..bf71875 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -26,4 +26,4 @@ jobs: uses: akkuman/gitea-release-action@v1 with: files: |- - *.zip + dist/*.zip diff --git a/.gitignore b/.gitignore index 2535150..ca11a90 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ vendor lib node_modules *.zip +dist diff --git a/gulpfile.js b/gulpfile.js index c142325..dfc2417 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,19 +1,37 @@ -const gulp = require('gulp'), +const fs = require('fs'), + gulp = require('gulp'), clean = require('gulp-clean'), - path = require('path'), zip = require('gulp-zip').default; -const NAME = path.basename(__dirname); +const PACKAGE = require('./package.json'); +const NAME = PACKAGE.name.split('/').pop(); // Clean Tasks -gulp.task('clean-package', () => { - return gulp.src(`${NAME}.zip`, { +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( @@ -23,7 +41,7 @@ gulp.task( // Package Tasks -gulp.task('package-compress', () => { +gulp.task('package-copy', () => { return gulp.src([ 'assets/**/*', 'inc/**/*', @@ -35,16 +53,26 @@ gulp.task('package-compress', () => { ], { 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('./')); + .pipe(gulp.dest('./dist')); }); gulp.task( 'package', gulp.series( 'clean', - 'package-compress' + 'package-copy', + 'package-compress', + 'clean-package-files' ) );