mailymaily/gulpfile.js

54 lines
1.2 KiB
JavaScript
Raw Normal View History

const { src, dest, parallel, series } = require("gulp");
2019-05-03 10:07:28 +00:00
2020-04-07 15:21:47 +00:00
const ts = require("gulp-typescript");
const tsProject = ts.createProject("tsconfig.json");
2019-05-03 09:57:26 +00:00
const rename = require("gulp-rename");
const replace = require("gulp-replace");
2019-10-21 07:06:04 +00:00
const cleanCSS = require("gulp-clean-css");
const autoprefixer = require("gulp-autoprefixer");
const sass = require("gulp-sass");
sass.compiler = require("node-sass");
2019-10-21 07:06:04 +00:00
const uglify = require("gulp-uglify");
2019-05-15 07:23:06 +00:00
const babel = require("gulp-babel");
2019-10-21 07:06:04 +00:00
const fs = require("fs");
2019-06-12 07:04:12 +00:00
let version = require("./package.json").version;
2019-04-30 21:32:43 +00:00
2019-06-12 07:04:12 +00:00
function style() {
return src("src/*.scss")
.pipe(sass().on("error", sass.logError))
2019-10-09 15:46:03 +00:00
.pipe(autoprefixer())
2019-10-21 07:06:04 +00:00
.pipe(cleanCSS({ compatibility: "ie8" }))
2019-05-03 09:57:26 +00:00
.pipe(
rename({
2020-04-07 15:21:47 +00:00
suffix: ".min",
2019-05-03 09:57:26 +00:00
})
)
2019-05-03 09:54:34 +00:00
.pipe(dest("dist"));
}
function js() {
2019-05-27 08:51:30 +00:00
let cssMinContent = fs.readFileSync("dist/mailgo.min.css", "utf8");
2020-04-08 13:18:35 +00:00
return src("src/*.ts")
.pipe(replace("MAILGO_VERSION", version))
2019-05-27 08:51:30 +00:00
.pipe(replace("MAILGO_STYLE", cssMinContent))
2020-04-07 15:21:47 +00:00
.pipe(tsProject())
.pipe(babel())
2019-10-27 13:16:54 +00:00
.pipe(uglify())
2019-05-08 11:31:12 +00:00
.pipe(
rename({
2020-04-07 15:21:47 +00:00
suffix: ".min",
2019-05-08 11:31:12 +00:00
})
)
.pipe(dest("dist"));
}
2019-04-30 21:32:43 +00:00
exports.js = js;
2019-06-12 07:04:12 +00:00
exports.style = style;
2019-05-03 09:57:26 +00:00
2019-06-12 07:04:12 +00:00
exports.default = series(style, js);