47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
// ============================================================
|
||
// 🧰 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')); |