// ============================================================ // 🧰 GULP CONFIG – WeihnachtsKalenderMelly // Sass-Compiler: moderne Dart-Sass-API (keine Legacy-Warnung) // ============================================================ const gulp = require('gulp'); const dartSass = require('sass'); // 🟢 offizielles Sass-Paket const gulpSass = require('gulp-sass')(dartSass); // 🟢 moderne API const cleanCSS = require('gulp-clean-css'); const rename = require('gulp-rename'); const autoprefixer = require('gulp-autoprefixer'); const sourcemaps = require('gulp-sourcemaps'); const paths = { sass: { src: 'src/sass/*.sass', dest: 'main/' }, js: { src: 'src/js/*.js', dest: 'main/' }, images: { src: 'src/images/*', dest: 'media/img' } }; // 🎨 Sass → CSS gulp.task('sass', () => { return gulp.src(paths.sass.src) .pipe(sourcemaps.init()) .pipe(gulpSass.sync({ indentedSyntax: true }).on('error', gulpSass.logError)) .pipe(autoprefixer({ overrideBrowserslist: ['last 3 versions', '>1%'] })) .pipe(cleanCSS()) .pipe(rename('min-style.css')) .pipe(sourcemaps.write('../main/')) .pipe(gulp.dest(paths.sass.dest)); }); // 👀 Watcher gulp.task('watch', () => { gulp.watch(paths.sass.src, gulp.series('sass')); }); // 🚀 Default-Task gulp.task('default', gulp.series('sass'));