@uswds/uswds
Version:
Open source UI components and visual style guide for U.S. government websites
43 lines (40 loc) • 1.35 kB
JavaScript
const autoprefixer = require("autoprefixer");
const csso = require("postcss-csso");
const discardComments = require("postcss-discard-comments");
const { src, dest } = require("gulp");
const postcss = require("gulp-postcss");
const replace = require("gulp-replace");
const rename = require("gulp-rename");
const sass = require("gulp-sass")(require("sass-embedded"));
const sourcemaps = require("gulp-sourcemaps");
const dutil = require("./utils/doc-util");
const pkg = require("../package.json");
module.exports = {
compileSass() {
dutil.logMessage("sass", "Compiling Sass");
const pluginsProcess = [discardComments(), autoprefixer()];
const pluginsMinify = [csso({ forceMediaMerge: false })];
return src("src/stylesheets/uswds.scss")
.pipe(sourcemaps.init({ largeFile: true }))
.pipe(
sass({
loadPaths: ["./packages"],
style: "expanded",
}).on("error", function handleError(error) {
dutil.logError(error);
this.emit("end");
}),
)
.pipe(postcss(pluginsProcess))
.pipe(replace(/\buswds @version\b/g, `uswds v${pkg.version}`))
.pipe(dest("dist/css"))
.pipe(postcss(pluginsMinify))
.pipe(
rename({
suffix: ".min",
}),
)
.pipe(sourcemaps.write("."))
.pipe(dest("dist/css"));
},
};