This commit is contained in:
XhmikosR 2021-01-01 13:09:39 +02:00
parent f333bd9a0b
commit 70a8bf98c5
3 changed files with 30 additions and 36 deletions

View file

@ -2,48 +2,58 @@
'use strict'
const fs = require('fs')
const fs = require('fs/promises')
const path = require('path')
const postcss = require('postcss')
const glob = require('glob')
const sass = require('sass')
const autoprefixer = require('autoprefixer')
const fiber = require('fibers')
const Cleancss = require('clean-css')
const postcssPlugins = [
autoprefixer({ cascade: false })
]
const files = [
const FILES = [
'bootstrap',
'bootstrap-grid',
'bootstrap-reboot',
'bootstrap-utilities'
]
files.forEach(filename => {
sass.render({
async function processFile(filename) {
const sassOptions = {
file: path.resolve(`./scss/${filename}.scss`),
fiber,
outputStyle: 'expanded',
sourceMap: true,
sourceMapContents: true,
outFile: `./dist/css/${filename}.css`
}, (error, css) => {
// Fix postcss to use and output sourcemaps
postcss(postcssPlugins)
.process(css.css, {
from: `./dist/css/${filename}.css`,
map: `./dist/css/${filename}.css.map`
})
.then(result => {
fs.writeFile(`./dist/css/${filename}.css`, result.css, () => true)
fs.writeFile(`./dist/css/${filename}.css.map`, result.map.toString(), () => true)
fs.writeFile(`./dist/css/${filename}.min.css`, new Cleancss().minify(result.css).styles, () => true)
})
})
})
}
const css = await sass.renderSync(sassOptions)
// Fix postcss to use and output sourcemaps
const processedCss = await postcss(postcssPlugins)
.process(css.css, {
from: `./dist/css/${filename}.css`,
map: `./dist/css/${filename}.css.map`
})
const minifiedCss = await new Cleancss().minify(processedCss.css).styles
await fs.writeFile(`./dist/css/${filename}.css`, processedCss.css)
await fs.writeFile(`./dist/css/${filename}.css.map`, processedCss.map.toString())
await fs.writeFile(`./dist/css/${filename}.min.css`, minifiedCss)
}
(async () => {
try {
await Promise.all(FILES.map(file => processFile(file)))
} catch (error) {
console.error(error)
process.exit(1)
}
})()
// Prefix examples
glob('./site/content/**/*.css', {}, (error, files) => {

15
package-lock.json generated
View file

@ -3217,12 +3217,6 @@
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
},
"detect-libc": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
"dev": true
},
"di": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
@ -4421,15 +4415,6 @@
"pend": "~1.2.0"
}
},
"fibers": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/fibers/-/fibers-5.0.0.tgz",
"integrity": "sha512-UpGv/YAZp7mhKHxDvC1tColrroGRX90sSvh8RMZV9leo+e5+EkRVgCEZPlmXeo3BUNQTZxUaVdLskq1Q2FyCPg==",
"dev": true,
"requires": {
"detect-libc": "^1.0.3"
}
},
"figures": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",

View file

@ -107,7 +107,6 @@
"eslint-config-xo": "^0.33.1",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-unicorn": "^25.0.0",
"fibers": "^5.0.0",
"find-unused-sass-variables": "^3.0.0",
"glob": "^7.1.6",
"hammer-simulator": "0.0.1",