universal-css-processor
v0.3.4
Published
process style universally and generate sourcemap
Downloads
34
Maintainers
Readme
universal-css-processor
Process sass/less/postcss and generate sourcemap correctly.
Installation
npm i --save universal-css-processor
Usage
universal-css-processor
offers a simple and universal API to handle less/sass/postcss
and generate sourcemap.
process(glob, processors, options)
glob
is array of globs, such as[styles/**/*.less]
, used to find/locate files to be processed.processors
is array of processor configs. Every config is like{ name: String, options: Object}
, and theoption
will be passed to processor. And built-in processors includeless/sass/scss/postcss/autoprefixer/minify/concat/css
.options
is the config for all processors, such as{ map: Boolean, base: String}
.
The typical usage is below:
const ucprocessor = require('universal-css-processor')
ucprocessor.process(
// glob to list files you want to handle
['test/resource/sass/*.scss', '!test/resource/sass/_*.scss'],
[
'sass', // directly specify sass processor
{
name: 'autoprefixer' // use name to specify processor
},
{
name: 'concat',
// offer options
options: {
destFile: 'all.css',
rebaseUrl: true
}
},
{
name: 'minify',
options: {
rename: true
}
}
],
{
map: true // generate map
}
).then(file => {
// regroup map file
return ucprocessor.writeMap(file, '.', {
destPath: 'dest'
}).then(mapFile => {
// write map file and processed style file to disk
mapFile.dest('dest')
file.dest('dest')
})
})
Credits
Surely inspired by gulp
and its plugins like gulp-sourcemaps
, gulp-postcss
, gulp-sass
and gulp-concat
. Most part of code is rewrited based on their codebase, and thanks for their great work.
The goal for this lib is integrating and simplifying the process of style and sourcemap.