45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
![]() |
"use strict";
|
||
|
|
||
|
const { src, dest, series, parallel } = require('gulp');
|
||
|
const del = require('del');
|
||
|
const babel = require("gulp-babel");
|
||
|
const terser = require('gulp-terser');
|
||
|
const cssnano = require('gulp-cssnano');
|
||
|
const htmlmin = require('gulp-htmlmin');
|
||
|
const sourcemaps = require('gulp-sourcemaps');
|
||
|
|
||
|
// Clean assets
|
||
|
function clean() {
|
||
|
return del(["dist/"]);
|
||
|
}
|
||
|
|
||
|
function javascript() {
|
||
|
return src("src/**/*.js", {base: './src/'})
|
||
|
.pipe(sourcemaps.init({loadMaps: true}))
|
||
|
.pipe(babel({
|
||
|
presets: ['@babel/preset-env']
|
||
|
}))
|
||
|
.pipe(terser({
|
||
|
keep_fnames: true,
|
||
|
mangle: false
|
||
|
}))
|
||
|
.pipe(sourcemaps.write('.'))
|
||
|
.pipe(dest("dist/"));
|
||
|
}
|
||
|
|
||
|
function css() {
|
||
|
return src("src/**/*.css", {base: './src/'})
|
||
|
.pipe(sourcemaps.init({loadMaps: true}))
|
||
|
.pipe(cssnano())
|
||
|
.pipe(sourcemaps.write('.'))
|
||
|
.pipe(dest("dist/"));
|
||
|
}
|
||
|
|
||
|
function html() {
|
||
|
return src("src/**/*.html", {base: './src/'})
|
||
|
.pipe(htmlmin({ collapseWhitespace: true }))
|
||
|
.pipe(dest("dist/"));
|
||
|
}
|
||
|
|
||
|
exports.default = series(clean, parallel(javascript, css, html))
|