parent
97bb6f3a33
commit
4bf34bf668
@ -0,0 +1,35 @@ |
||||
"use strict"; |
||||
|
||||
const fs = require('fs'); |
||||
const path = require('path'); |
||||
const cssnano = require("cssnano"); |
||||
|
||||
module.exports = (params, processor) => ({ |
||||
process: () => { |
||||
const filePath = path.normalize(processor.context.exported + "/" + params.filename); |
||||
fs.readFile(filePath, (err, css) => { |
||||
if (err) { |
||||
processor.onError("Unable to read stylesheet " + params.filename + ": " + err); |
||||
return processor.done(); |
||||
} |
||||
|
||||
cssnano.process(css) |
||||
.catch((err) => { |
||||
processor.onError("Unable to uglify stylesheet: " + err); |
||||
processor.done(); |
||||
}) |
||||
.then((result) => { |
||||
fs.writeFile(filePath, result.css, (err) => { |
||||
if (err) { |
||||
processor.onError("Unable to write uglified stylesheet for " + params.filename + ": " + err); |
||||
} else { |
||||
processor.onInfo("Saved uglified stylesheet for " + params.filename + "; uglified length: " + result.css.length); |
||||
} |
||||
|
||||
processor.done(); |
||||
}); |
||||
}); |
||||
}); |
||||
} |
||||
}); |
||||
|
@ -0,0 +1,36 @@ |
||||
"use strict"; |
||||
|
||||
const glob = require('glob'); |
||||
|
||||
module.exports = (params, processor) => ({ |
||||
process: () => { |
||||
if (processor.context.cssnanoallDone) { |
||||
processor.onWarn("cssnanoall task is executed more than once; this is probably a bug in your mbs.json"); |
||||
} |
||||
|
||||
processor.context.cssnanoallDone = true; |
||||
|
||||
glob("**/*.css", { |
||||
dot: true, |
||||
cwd: processor.context.exported |
||||
}, (err, files) => { |
||||
if (err) { |
||||
processor.onError(err); |
||||
return processor.done(); |
||||
} |
||||
|
||||
return processor.processTask({ |
||||
type: params.preventParallelTests ? "sequential" : "parallel", |
||||
params: { |
||||
tasks: files.map((file) => ({ |
||||
name: file, |
||||
type: "cssnano", |
||||
params: { |
||||
filename: file |
||||
} |
||||
})) |
||||
} |
||||
}, processor.done.bind(processor)); |
||||
}); |
||||
} |
||||
}); |
Loading…
Reference in new issue