2021-01-02 17:08:58 -03:00
|
|
|
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')
|
2021-01-02 17:08:58 -03:00
|
|
|
const htmlmin = require('gulp-htmlmin')
|
2020-12-18 15:05:26 -03:00
|
|
|
|
|
|
|
let source_dir = 'assets'
|
|
|
|
let output_dir = 'public/assets'
|
|
|
|
|
|
|
|
function js(done) {
|
|
|
|
return src(path.join(source_dir, 'js', '*.js'))
|
|
|
|
.pipe(concat('main.js'))
|
|
|
|
.pipe(dest(path.join(output_dir, 'scripts')))
|
|
|
|
.pipe(sourcemaps.init({loadMaps: true}))
|
2021-01-03 00:22:47 -03:00
|
|
|
.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) {
|
|
|
|
return src([path.join(source_dir, 'sass', '*.scss'), path.join(source_dir, 'sass', '*.sass')])
|
|
|
|
.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')))
|
|
|
|
}
|
|
|
|
|
2021-01-02 17:08:58 -03:00
|
|
|
function html(done) {
|
|
|
|
return src(path.join(source_dir, '*.html'))
|
|
|
|
.pipe(htmlmin({collapseWhitespace: true}))
|
|
|
|
.pipe(rename('index.html'))
|
|
|
|
.pipe(dest(path.join(output_dir, '../')))
|
|
|
|
}
|
|
|
|
|
2021-01-06 23:43:16 -03:00
|
|
|
exports.watch = watch(source_dir, parallel(js, css, html))
|
2020-12-18 15:05:26 -03:00
|
|
|
|
2021-01-02 17:08:58 -03:00
|
|
|
exports.default = parallel(js, css, html)
|