Swapping out Grunt for Gulp

This commit is contained in:
2025-06-22 19:30:17 -04:00
parent 8cd47d7e70
commit 31b8404be1
4 changed files with 2201 additions and 921 deletions

39
gulpfile.js Normal file
View File

@ -0,0 +1,39 @@
const gulp = require('gulp');
const sass = require('gulp-sass')(require('sass'));
const coffee = require('gulp-coffee');
const sourcemaps = require('gulp-sourcemaps');
const plumber = require('gulp-plumber');
// Compile .sass files to compressed CSS
function compileSass() {
return gulp.src('assets/styles/**/*.sass')
.pipe(plumber())
.pipe(sass({ outputStyle: 'compressed' }).on('error', sass.logError))
.pipe(gulp.dest('public/css'));
}
// Compile .coffee files to JavaScript with source maps
function compileCoffee() {
return gulp.src('assets/scripts/*.coffee', { sourcemaps: true })
.pipe(plumber())
.pipe(coffee({ bare: true }))
.pipe(gulp.dest('public/js', { sourcemaps: '.' }));
}
// Watch files for changes
function watchFiles() {
gulp.watch('assets/styles/**/*.sass', compileSass);
gulp.watch('assets/scripts/**/*.coffee', compileCoffee);
}
// Define default task
exports.default = gulp.series(
gulp.parallel(compileSass, compileCoffee),
watchFiles
);
// one-time build
exports.build = gulp.parallel(compileSass, compileCoffee);
// start builds with file watching
exports.watch = watchFiles;