1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = configure;
|
7 |
|
8 | var _postcss = require('postcss');
|
9 |
|
10 | var _postcss2 = _interopRequireDefault(_postcss);
|
11 |
|
12 | var _postcssImport = require('postcss-import');
|
13 |
|
14 | var _postcssImport2 = _interopRequireDefault(_postcssImport);
|
15 |
|
16 | var _postcssCssnext = require('postcss-cssnext');
|
17 |
|
18 | var _postcssCssnext2 = _interopRequireDefault(_postcssCssnext);
|
19 |
|
20 | var _file = require('../util/file');
|
21 |
|
22 | var _path = require('path');
|
23 |
|
24 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
25 |
|
26 | function _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 |
|
28 | function _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 |
|
30 | function 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 |
|
\ | No newline at end of file |