You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
'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}" |
|
` |