76 wiersze
2.4 KiB
JavaScript
76 wiersze
2.4 KiB
JavaScript
const autoprefixer = require('gulp-autoprefixer');
|
|
const babel = require('gulp-babel');
|
|
const babelify = require('babelify');
|
|
const browserify = require('browserify');
|
|
const clean = require('gulp-clean');
|
|
const concat = require('gulp-concat');
|
|
const fs = require('fs');
|
|
const gulp = require('gulp');
|
|
const gutil = require('gulp-util');
|
|
const jshint = require('gulp-jshint');
|
|
const less = require('gulp-less');
|
|
const merge = require('merge-stream');
|
|
const minifycss = require('gulp-minify-css');
|
|
const path = require('path');
|
|
const rename = require('gulp-rename');
|
|
const sass = require('gulp-sass')(require('node-sass'));
|
|
const source = require('vinyl-source-stream');
|
|
const sourcemaps = require('gulp-sourcemaps');
|
|
const streamify = require('gulp-streamify');
|
|
const stylish = require('jshint-stylish');
|
|
const uglify = require('gulp-uglify');
|
|
|
|
function swallowError(error) {
|
|
console.log(error.toString());
|
|
this.emit('end');
|
|
}
|
|
|
|
function compileStyles(){
|
|
return gulp.src('src/styles/*.scss')
|
|
.pipe(sass({
|
|
paths: [ path.join(__dirname, 'scss', 'includes') ]
|
|
}))
|
|
.on('error', swallowError)
|
|
.pipe(autoprefixer('last 3 version', 'android >= 3', { cascade: true }))
|
|
.on('error', swallowError)
|
|
.pipe(gulp.dest('public/css/', { mode: 0o777 }))
|
|
.pipe(rename({ suffix: '.min' }))
|
|
.pipe(minifycss())
|
|
.on('error', swallowError)
|
|
.pipe(gulp.dest('public/css/', { mode: 0o777 }))
|
|
// .pipe(reload({stream:true}));
|
|
}
|
|
|
|
function compileScripts(){
|
|
return gulp.src('src/scripts/**/*.js')
|
|
.pipe(sourcemaps.init({compress: false}))
|
|
// .pipe(babel({
|
|
// presets: ['@babel/preset-env']
|
|
// }))
|
|
.on('error', swallowError)
|
|
// .pipe(concat('scripts.js'))
|
|
.pipe(uglify())
|
|
.pipe(rename({suffix: '.min'}))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest('public/js', {mode: 0o777}));
|
|
}
|
|
|
|
function watch(){
|
|
gulp.watch('./src/styles/**/*.*', gulp.series('styles'));
|
|
gulp.watch('./src/scripts/**/*.*', gulp.series('jslint', 'scripts'));
|
|
}
|
|
|
|
function jslint(){
|
|
return gulp.src('src/scripts/**/*.js')
|
|
.pipe(jshint('tests/.jshintrc'))
|
|
.on('error', gutil.noop)
|
|
.pipe(jshint.reporter(stylish))
|
|
.on('error', swallowError);
|
|
}
|
|
|
|
gulp.task('styles', gulp.series(compileStyles));
|
|
gulp.task('scripts', gulp.series(compileScripts));
|
|
gulp.task('jslint', gulp.series(jslint));
|
|
gulp.task('watch', gulp.series(watch));
|
|
gulp.task('default', gulp.series('styles', 'scripts', 'watch'));
|