12345678910111213141516171819202122232425262728293031323334353637383940 |
- const CleanCSS = require("clean-css")
- const fs = require("fs")
- const path = require("path")
- function minify(){
- let start = Date.now()
- console.log(`\x1b[33mMinifying...\x1b[0m`)
- const css = fs.readFileSync(path.join(__dirname, "./src/styles/index.css"), "utf-8")
- fs.writeFileSync(path.join(__dirname, "./dist/style.css"), css)
-
- const output = new CleanCSS({
- sourceMap: true
- }).minify(css)
- if(output.errors.length > 0){
- console.error("\x1b[31m"+output.errors.join("\n")+"\x1b[0m")
- }
- if(output.warnings.length > 0){
- console.warn("\x1b[33m"+output.warnings.join("\n")+"\x1b[0m")
- }
- fs.writeFileSync(path.join(__dirname, "./dist/style.min.css"), output.styles+"\n/*# sourceMappingURL=style.min.css.map */")
- fs.writeFileSync(path.join(__dirname, "./dist/style.min.css.map"), output.sourceMap.toString())
- console.log(`\x1b[32mMinified in ${(Date.now() - start)}ms. Minified by ${Math.floor(output.stats.efficiency*100)}%\x1b[0m`)
- }
- module.exports.minify = minify
- if(require.main === module){
- if(process.argv.includes("--watch")){
- console.log("\x1b[32mStarting watch mode.\x1b[0m")
- minify()
- console.log()
- fs.watchFile(path.join(__dirname, "./src/styles/index.css"), () => {
- minify()
- console.log()
- })
- }else{
- minify()
- }
- }
|