42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
'use strict';
|
|
const autoprefixer = require('autoprefixer')
|
|
const fs = require('fs');
|
|
const packageJSON = require('../package.json');
|
|
const path = require('path');
|
|
const postcss = require('postcss')
|
|
const sass = require('sass');
|
|
const sh = require('shelljs');
|
|
|
|
const stylesPath = '../src/scss/styles.scss';
|
|
const destPath = path.resolve(path.dirname(__filename), '../dist/css/styles.css');
|
|
|
|
module.exports = function renderSCSS() {
|
|
|
|
const results = sass.renderSync({
|
|
data: entryPoint,
|
|
includePaths: [
|
|
path.resolve(path.dirname(__filename), '../node_modules')
|
|
],
|
|
});
|
|
|
|
const destPathDirname = path.dirname(destPath);
|
|
if (!sh.test('-e', destPathDirname)) {
|
|
sh.mkdir('-p', destPathDirname);
|
|
}
|
|
|
|
postcss([ autoprefixer ]).process(results.css, {from: 'styles.css', to: 'styles.css'}).then(result => {
|
|
result.warnings().forEach(warn => {
|
|
console.warn(warn.toString())
|
|
})
|
|
fs.writeFileSync(destPath, result.css.toString());
|
|
})
|
|
|
|
};
|
|
|
|
const entryPoint = `/*!
|
|
* Start Bootstrap - ${packageJSON.title} v${packageJSON.version} (${packageJSON.homepage})
|
|
* Copyright 2013-${new Date().getFullYear()} ${packageJSON.author}
|
|
* Licensed under ${packageJSON.license} (https://github.com/BlackrockDigital/${packageJSON.name}/blob/master/LICENSE)
|
|
*/
|
|
@import "${stylesPath}"
|
|
` |