Files
stand/gulpfile.js

60 lines
1.8 KiB
JavaScript
Raw Permalink Normal View History

const {watch, src, dest, series, parallel} = require('gulp')
2020-12-18 15:05:26 -03:00
const path = require('path')
const concat = require('gulp-concat')
const rename = require('gulp-rename')
const sourcemaps = require('gulp-sourcemaps')
const sass = require('gulp-dart-sass')
const babel = require('gulp-babel')
const uglify = require('gulp-uglify')
const htmlmin = require('gulp-htmlmin')
2021-01-12 11:44:15 -03:00
//const changed = require('gulp-changed')
//const image = require('gulp-image')
2020-12-18 15:05:26 -03:00
let source_dir = 'assets'
let output_dir = 'public/assets'
function js(done) {
2021-01-12 11:44:15 -03:00
return src(path.join(source_dir, 'js', '**', '*.js'))
2020-12-18 15:05:26 -03:00
.pipe(concat('main.js'))
.pipe(dest(path.join(output_dir, 'scripts')))
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(babel({
presets: ['@babel/preset-env']
}))
2020-12-18 15:05:26 -03:00
.pipe(uglify())
.pipe(rename('main.min.js'))
.pipe(sourcemaps.write('./maps'))
.pipe(dest(path.join(output_dir, 'scripts')))
}
function css(done) {
2021-01-12 11:44:15 -03:00
return src(path.join(source_dir, 'sass', 'main.scss'))
2020-12-18 15:05:26 -03:00
.pipe(sass())
.pipe(rename('main.css'))
.pipe(dest(path.join(output_dir, 'styles')))
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(sass({outputStyle: 'compressed'}))
.pipe(rename('main.min.css'))
.pipe(sourcemaps.write('./maps'))
.pipe(dest(path.join(output_dir, 'styles')))
}
function html(done) {
2021-01-12 11:44:15 -03:00
return src(path.join(source_dir, 'html', '**', '*.html'))
.pipe(concat('index.html'))
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(rename('index.html'))
.pipe(dest(path.join(output_dir, '../')))
}
2021-01-12 11:44:15 -03:00
function images(done) {
return src(path.join(source_dir, 'images', '*.*'))
.pipe(changed(path.join(output_dir, 'images')))
.pipe(image())
.pipe(dest(path.join(output_dir, 'images')))
}
exports.watch = watch(source_dir, parallel(js, css, html))
2020-12-18 15:05:26 -03:00
exports.default = parallel(js, css, html)