35c794cf58
- Modularized the Sass architecture to enhance code maintainability and reduce the output file size - Replaced deprecated `@import` with `@use` / `@forward`
30 lines
886 B
JavaScript
30 lines
886 B
JavaScript
const fs = require('fs').promises;
|
|
const { PurgeCSS } = require('purgecss');
|
|
const DIST_PATH = '_sass/vendors';
|
|
const output = `${DIST_PATH}/_bootstrap.scss`;
|
|
|
|
const config = {
|
|
content: ['_includes/**/*.html', '_layouts/**/*.html', '_javascript/**/*.js'],
|
|
css: ['node_modules/bootstrap/dist/css/bootstrap.min.css'],
|
|
keyframes: true,
|
|
variables: true,
|
|
// The `safelist` should be changed appropriately for future development
|
|
safelist: {
|
|
standard: [/^collaps/, /^w-/, 'shadow', 'border', 'kbd'],
|
|
greedy: [/^col-/, /tooltip/]
|
|
}
|
|
};
|
|
|
|
function main() {
|
|
fs.rm(DIST_PATH, { recursive: true, force: true })
|
|
.then(() => fs.mkdir(DIST_PATH))
|
|
.then(() => new PurgeCSS().purge(config))
|
|
.then((result) => {
|
|
return fs.writeFile(output, result[0].css);
|
|
})
|
|
.catch((err) => {
|
|
console.error('Error during PurgeCSS process:', err);
|
|
});
|
|
}
|
|
|
|
main();
|