forked from webpack/postcss-loader
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
31 lines (24 loc) · 894 Bytes
/
index.js
File metadata and controls
31 lines (24 loc) · 894 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var loaderUtils = require('loader-utils');
var postcss = require('postcss');
module.exports = function (source, map) {
if ( this.cacheable ) this.cacheable();
var file = loaderUtils.getRemainingRequest(this);
var params = loaderUtils.parseQuery(this.query);
var opts = { from: file, to: file, map: { annotation: false, inline: false } };
if (params.sourceMap) {
if (map) {
opts.map.prev = map;
}
} else {
opts.map = false;
}
if ( params.safe ) opts.safe = true;
var processors = this.options.postcss;
if ( params.pack ) {
processors = processors[params.pack];
} else if ( !Array.isArray(processors) ) {
processors = processors.defaults;
}
var processed = postcss.apply(postcss, processors).process(source, opts);
this.callback(null, processed.css, processed.map);
};