mailymaily/gulpfile.js

39 lines
1.3 KiB
JavaScript
Raw Normal View History

2020-08-29 16:42:14 +00:00
const { src, dest, series } = require('gulp');
2020-08-29 11:55:43 +00:00
const autoprefixer = require('gulp-autoprefixer');
const minify = require('gulp-minify');
2020-08-29 14:38:25 +00:00
const cleanCSS = require('gulp-clean-css');
const fs = require('fs');
const del = require('del');
2020-08-29 11:55:43 +00:00
const rename = require('gulp-rename');
const htmlMin = require('gulp-htmlmin');
const sass = require('gulp-sass');
const replace = require('gulp-replace');
//
2020-08-29 11:55:43 +00:00
function html() {
2020-08-29 16:42:14 +00:00
return src('./src/component.html')
2020-08-29 14:25:32 +00:00
.pipe(htmlMin({ collapseWhitespace: true }))
2020-08-29 16:42:14 +00:00
.pipe(rename('./src/component.min.html'))
2020-08-29 14:25:32 +00:00
.pipe(dest('./'));
2020-08-29 11:55:43 +00:00
}
function css() {
2020-08-29 14:25:32 +00:00
return src('./src/scss/component.scss')
.pipe(sass())
.pipe(autoprefixer())
2020-08-29 14:38:25 +00:00
.pipe(cleanCSS())
2020-08-29 16:42:14 +00:00
.pipe(rename('./src/css/component.min.css'))
2020-08-29 14:25:32 +00:00
.pipe(dest('./'));
2020-08-29 11:55:43 +00:00
}
function js() {
2020-08-29 16:42:14 +00:00
const css = fs.readFileSync('./src/css/component.min.css');
const html = fs.readFileSync('./src/component.min.html');
return src('./src/mailymaily.js')
2020-08-29 16:32:34 +00:00
.pipe(replace(/___css_inserter___/g, css))
.pipe(replace(/___html_inserter___/g, html))
.pipe(minify({ noSource: true }))
2020-08-29 16:42:14 +00:00
.pipe(rename('mailymaily.min.js'))
2020-08-29 16:32:34 +00:00
.pipe(dest('./dist'));
}
2020-08-29 16:42:14 +00:00
const clean = () => del([ './src/component.min.html', './src/css/' ]);
const prebuild = () => del([ './dist/' ]);
exports.default = series(prebuild, html, css, js, clean);