Files
ogre-consent/gulpfile.js
T
Cooper Dalrymple b8902b4afa
Validate Build / validate-build (push) Canceled after 0s
More work on this, incomplete!
2026-10-06 17:00:20 -05:00

121 lines
2.2 KiB
JavaScript

const fs = require('fs'),
gulp = require('gulp'),
clean = require('gulp-clean'),
filter = require('gulp-filter').default,
zip = require('gulp-zip').default,
postcss = require('gulp-postcss'),
cssnano = require('cssnano'),
sass = require('gulp-sass')(require('sass'));
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-styles', () => {
return gulp.src('./assets/**/*.css', {
read: false,
allowEmpty: true,
})
.pipe(filter((file) => !file.path.includes('klaro')))
.pipe(clean());
})
gulp.task(
'clean',
gulp.series(
'clean-package',
'clean-styles'
)
);
// Compile Tasks
gulp.task('compile-styles', () => {
return gulp.src('assets/*.scss', { base: './' })
.pipe(sass().on('error', sass.logError))
.pipe(postcss(cssnano()))
.pipe(gulp.dest('./'));
});
gulp.task(
'compile',
gulp.series(
'compile-styles'
)
);
// Package Tasks
gulp.task('package-copy', () => {
return gulp.src([
'assets/**/*',
'inc/**/*',
'lib/**/*',
'vendor/**/*',
'LICENSE',
`${NAME}.php`,
'readme.txt',
'updatepulse.json',
'!vendor/**/node_modules/**/*',
], {
base: './',
encoding: false,
})
.pipe(filter((file) => !file.path.includes('/node_modules') && !file.path.endswith('.scss')))
.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(
'package-copy',
'package-compress',
'clean-package-files'
)
);
// Default Tasks
gulp.task(
'default',
gulp.series(
'clean',
'compile',
'package'
)
);