2021-06-24 16:04:02 +02:00

85 lines
2.0 KiB
JavaScript

var gulp = require('gulp');
var livereload = require('gulp-livereload')
var uglify = require('gulp-uglifyjs');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var sourcemaps = require('gulp-sourcemaps');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');
const webpack = require('webpack');
const webpackStream = require('webpack-stream');
const compiler = require('webpack')
gulp.task('imagemin', function () {
return gulp.src('./images/*')
.pipe(imagemin({
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngquant()]
}))
.pipe(gulp.dest('./images'));
});
gulp.task('sass', function () {
gulp.src('./sass/**/*.scss')
.pipe(sourcemaps.init())
.pipe(sass({
//outputStyle: 'compressed',
includePaths: ['node_modules/foundation-sites/scss']
}).on('error', sass.logError))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./css'));
});
/*gulp.task('uglify', function() {
gulp.src('./lib/*.js')
.pipe(uglify('main.js'))
.pipe(gulp.dest('./js'))
});*/
gulp.task('packing', function () {
return gulp
.src('./lib/*.js')
.pipe(webpackStream({
mode: "production",
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
}),
],
output: {
filename: "main.js",
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}
],
},
}, compiler, function(err, stats) {
}
))
.pipe(gulp.dest('js/'));
});
gulp.task('watch', function(){
livereload.listen();
gulp.watch('./sass/**/**/*.scss', ['sass']);
gulp.watch('./lib/*.js', ['packing']);
gulp.watch(['./css/style.css', './**/*.twig', './js/*.js'], function (files){
livereload.changed(files)
});
});