UNPKG

2.73 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = configure;
7
8var _postcss = require('postcss');
9
10var _postcss2 = _interopRequireDefault(_postcss);
11
12var _postcssImport = require('postcss-import');
13
14var _postcssImport2 = _interopRequireDefault(_postcssImport);
15
16var _postcssCssnext = require('postcss-cssnext');
17
18var _postcssCssnext2 = _interopRequireDefault(_postcssCssnext);
19
20var _file = require('../util/file');
21
22var _path = require('path');
23
24function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
26function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
28function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
29
30function configure(pkg, opts) {
31 var cc = (0, _postcss2.default)([_postcssImport2.default, _postcssCssnext2.default]),
32 map = opts.debug ? { inline: false } : false;
33
34 return function () {
35 var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(name, file) {
36 var data, to, result, output;
37 return regeneratorRuntime.wrap(function _callee$(_context) {
38 while (1) {
39 switch (_context.prev = _context.next) {
40 case 0:
41 _context.next = 2;
42 return (0, _file.slurp)(file);
43
44 case 2:
45 data = _context.sent;
46 to = opts.lib + '/' + (0, _path.relative)(opts.src, file);
47 _context.next = 6;
48 return cc.process(data, { from: file, to: to, map: map });
49
50 case 6:
51 result = _context.sent;
52 output = { messages: result.messages,
53 files: _defineProperty({}, name + '.css', result.css)
54 };
55
56
57 if (opts.debug) {
58 output.files[name + '.css.map'] = JSON.stringify(result.map);
59 }
60
61 return _context.abrupt('return', output);
62
63 case 10:
64 case 'end':
65 return _context.stop();
66 }
67 }
68 }, _callee, this);
69 }));
70
71 function process(_x, _x2) {
72 return _ref.apply(this, arguments);
73 }
74
75 return process;
76 }();
77}
78//# sourceMappingURL=css.js.map
\No newline at end of file