85 lines
2.0 KiB
JavaScript
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)
|
|
});
|
|
}); |