@interaktiv/dia-scripts
Version:
CLI toolbox with common scripts for most sort of projects at DIA
24 lines (19 loc) • 682 B
JavaScript
;
const fs = require('fs');
const sass = require('node-sass');
const writeFile = (...args) => new Promise((resolve, reject) => fs.writeFile(...args, err => err ? reject(err) : resolve(args[0])));
const render = file => new Promise((resolve, reject) => {
sass.render({
file,
outputStyle: 'compressed'
}, (err, result) => err ? reject(err) : resolve(result));
});
module.exports = async function ({
file
}) {
const result = await render(file);
if (result == null) throw new Error('Compiler returned null result');
const filename = file.replace('.scss', '.css');
const cssFilename = await writeFile(filename, result.css);
return cssFilename;
};