chore(build-css): promisify wriiteFile, sass.render

This commit is contained in:
Eric Liu 2020-09-07 14:09:22 -07:00
commit 67c01e9148

View file

@ -4,6 +4,10 @@ const autoprefixer = require("autoprefixer");
const postcss = require("postcss"); const postcss = require("postcss");
const cssnano = require("cssnano"); const cssnano = require("cssnano");
const path = require("path"); const path = require("path");
const { promisify } = require("util");
const writeFile = promisify(fs.writeFile);
const sassRender = promisify(sass.render);
const shared = { const shared = {
globals: ` globals: `
@ -55,7 +59,6 @@ const shared = {
@import "node_modules/carbon-components-10.19/scss/components/skeleton/skeleton"; @import "node_modules/carbon-components-10.19/scss/components/skeleton/skeleton";
@import "node_modules/carbon-components-10.19/scss/components/slider/slider"; @import "node_modules/carbon-components-10.19/scss/components/slider/slider";
@import "node_modules/carbon-components-10.19/scss/components/structured-list/structured-list"; @import "node_modules/carbon-components-10.19/scss/components/structured-list/structured-list";
@import "node_modules/carbon-components-10.18/scss/components/tabs/tabs";
@import "node_modules/carbon-components-10.19/scss/components/tag/tag"; @import "node_modules/carbon-components-10.19/scss/components/tag/tag";
@import "node_modules/carbon-components-10.19/scss/components/text-area/text-area"; @import "node_modules/carbon-components-10.19/scss/components/text-area/text-area";
@import "node_modules/carbon-components-10.19/scss/components/text-input/text-input"; @import "node_modules/carbon-components-10.19/scss/components/text-input/text-input";
@ -65,6 +68,8 @@ const shared = {
@import "node_modules/carbon-components-10.19/scss/components/toolbar/toolbar"; @import "node_modules/carbon-components-10.19/scss/components/toolbar/toolbar";
@import "node_modules/carbon-components-10.19/scss/components/tooltip/tooltip"; @import "node_modules/carbon-components-10.19/scss/components/tooltip/tooltip";
@import "node_modules/carbon-components-10.19/scss/components/ui-shell/ui-shell"; @import "node_modules/carbon-components-10.19/scss/components/ui-shell/ui-shell";
@import "node_modules/carbon-components-10.18/scss/components/tabs/tabs";
`, `,
}; };
@ -114,7 +119,7 @@ async function buildCss() {
Object.keys(themes).forEach(async (theme) => { Object.keys(themes).forEach(async (theme) => {
try { try {
const outFile = path.resolve("css", theme + ".css"); const outFile = path.resolve("css", theme + ".css");
const { css } = sass.renderSync({ const { css } = await sassRender({
data: ` data: `
$feature-flags: ( $feature-flags: (
enable-css-custom-properties: ${theme === "all"}, enable-css-custom-properties: ${theme === "all"},
@ -132,14 +137,11 @@ async function buildCss() {
const prefixed = await postcss([ const prefixed = await postcss([
autoprefixer({ autoprefixer({
overrideBrowserslist: ["last 1 version", "ie >= 11"], overrideBrowserslist: ["last 1 version", "ie >= 11", "Firefox ESR"],
}), }),
cssnano({ preset: "default" }), ]).process(css, { from: undefined });
]).process(css, {
from: undefined,
});
fs.writeFileSync(outFile, prefixed.css); await writeFile(outFile, prefixed.css);
} catch (e) { } catch (e) {
console.log(e); console.log(e);
} }