54 lines
1.2 KiB
JavaScript
54 lines
1.2 KiB
JavaScript
const { src, dest, parallel, series } = require("gulp");
|
|
|
|
const ts = require("gulp-typescript");
|
|
const tsProject = ts.createProject("tsconfig.json");
|
|
|
|
const rename = require("gulp-rename");
|
|
const replace = require("gulp-replace");
|
|
|
|
const cleanCSS = require("gulp-clean-css");
|
|
const autoprefixer = require("gulp-autoprefixer");
|
|
const sass = require("gulp-sass");
|
|
sass.compiler = require("node-sass");
|
|
|
|
const uglify = require("gulp-uglify");
|
|
const babel = require("gulp-babel");
|
|
|
|
const fs = require("fs");
|
|
|
|
let version = require("./package.json").version;
|
|
|
|
function style() {
|
|
return src("src/*.scss")
|
|
.pipe(sass().on("error", sass.logError))
|
|
.pipe(autoprefixer())
|
|
.pipe(cleanCSS({ compatibility: "ie8" }))
|
|
.pipe(
|
|
rename({
|
|
suffix: ".min",
|
|
})
|
|
)
|
|
.pipe(dest("dist"));
|
|
}
|
|
|
|
function js() {
|
|
let cssMinContent = fs.readFileSync("dist/mailgo.min.css", "utf8");
|
|
return src("src/*.ts")
|
|
.pipe(replace("MAILGO_VERSION", version))
|
|
.pipe(replace("MAILGO_STYLE", cssMinContent))
|
|
.pipe(tsProject())
|
|
.pipe(babel())
|
|
.pipe(uglify())
|
|
.pipe(
|
|
rename({
|
|
suffix: ".min",
|
|
})
|
|
)
|
|
.pipe(dest("dist"));
|
|
}
|
|
|
|
exports.js = js;
|
|
exports.style = style;
|
|
|
|
exports.default = series(style, js);
|