-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcss.js
More file actions
29 lines (29 loc) · 1.02 KB
/
css.js
File metadata and controls
29 lines (29 loc) · 1.02 KB
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
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author: Roman Glebsky @maqentaer
*/
var loaderUtils = require('loader-utils');
module.exports = function() {};
module.exports.pitch = function(remainingRequest) {
this.cacheable && this.cacheable();
return [
'var result = {};',
'var extend = require(' + loaderUtils.stringifyRequest(this, require.resolve('extend')) + ');',
'var styler = require(' + loaderUtils.stringifyRequest(this, require.resolve('react-styling')) + ');',
'var content = require(' + loaderUtils.stringifyRequest(this, '!!' + remainingRequest) + ');',
// css-loader always return array of [id, css, media, sourceMap]
'content.forEach(function(val) {',
' var style = styler(val[1]);',
' var media = val[2];',
' if (media) {',
' if (!result["@media " + media]) {',
' result["@media " + media] = {};',
' }',
' extend(true, result["@media " + media], style);',
' } else {',
' extend(true, result, style);',
' }',
'})',
'module.exports = result;'
].join('\n');
};