%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/ns.eco-n-tech.co.uk/html/
Upload File :
Create Path :
Current File : /var/www/ns.eco-n-tech.co.uk/html/gulpfile.js

const gulp = require('gulp');

const { src, dest, watch, series, parallel } = require('gulp');
//const sass       = require('gulp-sass');
const sass       = require('gulp-sass')(require('node-sass'));
const sourcemaps = require('gulp-sourcemaps');
const twig       = require('gulp-twig');
const babel      = require("gulp-babel");
const eslint     = require('gulp-eslint');
const uglify     = require('gulp-uglify');
const concat     = require('gulp-concat');
const gutil      = require('gulp-util');
const browserify = require('gulp-browserify');
const babelify   = require('babelify');
const source     = require('vinyl-source-stream');
const buffer     = require('vinyl-buffer');
const plumber    = require('gulp-plumber');
const imagemin   = require('gulp-imagemin');
const autoprefixer = require('gulp-autoprefixer');

sass.compiler = require('node-sass');

const paths = {
	styles: {
		src: 'src/scss/**/*.scss',
		dest: 'dist/'
	},
	images: {
		src: 'src/img/**/*',
		dest: 'dist/img/'
	},
	scripts: {
		src: 'src/js/**/*.js',
		dest: 'dist/'
	},/*
	twig: {
		src: 'layouts/!**!/!*.twig',
		dest: './'
	}*/
};


function js_compile(){
	return gulp.src('src/js/app.js')
		.pipe( eslint() )
		.pipe( eslint.format() )
		.pipe( eslint.failAfterError() )
		.pipe(browserify({
			transform: ['babelify'],
		}))
		.pipe(plumber())
		.pipe(uglify())
		.pipe(gulp.dest(paths.scripts.dest))
		.on('error', gutil.log);
}


/*
 * Optimize images
 */
function optimizeImages() {
	return gulp.src(paths.images.src)
		.pipe(imagemin(
			[
				imagemin.gifsicle({interlaced: true}),
				imagemin.mozjpeg({quality: 75, progressive: true}),
				imagemin.optipng({optimizationLevel: 5}),
				imagemin.svgo({
					plugins: [
						{removeViewBox: true},
						{cleanupIDs: false}
					]
				})
			]
		))
		.pipe(gulp.dest(paths.images.dest))
}


function combile_libs_js(){
	return gulp.src([
		'node_modules/jquery/dist/jquery.min.js',
		'node_modules/bootstrap/dist/js/bootstrap.js',
		//'js/jquery-ui.js',
		//'js/slick.min.js',
	])
		.pipe(concat('libs.js'))
		.pipe(gulp.dest(paths.scripts.dest))
		.on('error', gutil.log);
}

function twigCompile(){
	return gulp.src(paths.twig.src)
		.pipe(twig())
		.pipe(gulp.dest(paths.twig.dest));
}



function styles() {
	return gulp.src(paths.styles.src)
		.pipe(sourcemaps.init())
		.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
		.pipe(autoprefixer(['last 2 versions', '> 1%'], { cascade: true }))
		.pipe(sourcemaps.write())
		.pipe(gulp.dest(paths.styles.dest));
}


function watch2() {
	gulp.watch(paths.styles.src, styles);
	gulp.watch(paths.scripts.src, combile_libs_js);
	gulp.watch(paths.scripts.src, js_compile);
	//gulp.watch(paths.twig.src, twigCompile);
	// gulp.watch(paths.images.src, optimizeImages);
}

function build() {
	gulp.watch(paths.styles.src, styles);
	gulp.watch(paths.scripts.src, combile_libs_js);
	gulp.watch(paths.scripts.src, js_compile);
	//gulp.watch(paths.twig.src, twigCompile);
	// gulp.watch(paths.images.src, optimizeImages);
}
function optimizeImg() {
	gulp.watch(paths.images.src, optimizeImages);
}

/*
 * You can use CommonJS `exports` module notation to declare tasks
 */
exports.optimize = optimizeImg;
exports.watch = watch2;
exports.build = series(styles, combile_libs_js, js_compile, optimizeImages);

Zerion Mini Shell 1.0