Skip to content

Commit 0dcef28

Browse files
author
Alexander Ryzhikov
committed
Missing build :/
1 parent 3afa2d3 commit 0dcef28

File tree

3 files changed

+30
-48
lines changed

3 files changed

+30
-48
lines changed

lib/index.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,16 @@ exports.default = function (source) {
1616

1717
var transformToConfig = options.es5 ? utils.toES5Config : utils.toConfig;
1818

19-
var end = function end(err) {
20-
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
21-
var map = arguments[2];
22-
19+
var end = function end(err, result, path, map) {
2320
if (err) {
2421
_done(err);
2522
}
26-
return _done(null, transformToConfig(data), map);
23+
24+
if (!result) {
25+
return _done(null, {}, map);
26+
}
27+
28+
return _done(null, transformToConfig(result.root, path), map);
2729
};
2830

2931
var emitWarnings = function emitWarnings(result) {
@@ -43,7 +45,7 @@ exports.default = function (source) {
4345
};
4446

4547
utils.getPostcss(true).process(source, { from: this.resourcePath }).then(emitWarnings).then(function (result) {
46-
return end(null, utils.objectify(result.root, _this.resourcePath), result.map);
48+
return end(null, result, _this.resourcePath, result.map);
4749
}).catch(onError);
4850
};
4951

lib/sync.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ function sync(source, filepath) {
1717
var transformToConfig = options.es5 ? utils.toES5Config : utils.toConfig;
1818
var root = utils.getPostcss(false).process(source, { from: filepath }).root;
1919

20-
return transformToConfig(utils.objectify(root, filepath));
20+
return transformToConfig(root, filepath);
2121
}
2222
module.exports = exports['default'];

lib/utils.js

Lines changed: 21 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,20 @@
33
Object.defineProperty(exports, "__esModule", {
44
value: true
55
});
6-
exports.getPostcss = exports.objectify = exports.toES5Config = exports.toConfig = undefined;
6+
exports.getPostcss = exports.toES5Config = exports.toConfig = undefined;
77

88
var _stringify = require('babel-runtime/core-js/json/stringify');
99

1010
var _stringify2 = _interopRequireDefault(_stringify);
1111

12-
var _keys = require('babel-runtime/core-js/object/keys');
13-
14-
var _keys2 = _interopRequireDefault(_keys);
15-
16-
var _postcssJs = require('postcss-js');
17-
18-
var _postcssJs2 = _interopRequireDefault(_postcssJs);
19-
2012
var _compose = require('lodash/fp/compose');
2113

2214
var _compose2 = _interopRequireDefault(_compose);
2315

24-
var _get = require('lodash/fp/get');
25-
26-
var _get2 = _interopRequireDefault(_get);
27-
2816
var _cond = require('lodash/fp/cond');
2917

3018
var _cond2 = _interopRequireDefault(_cond);
3119

32-
var _lowerFirst = require('lodash/lowerFirst');
33-
34-
var _lowerFirst2 = _interopRequireDefault(_lowerFirst);
35-
3620
var _postcss = require('postcss');
3721

3822
var _postcss2 = _interopRequireDefault(_postcss);
@@ -54,25 +38,11 @@ var isProd = function isProd() {
5438
return !isDev();
5539
};
5640

57-
var transform = function transform(data) {
58-
if (!data) {
59-
return {};
60-
}
61-
return (0, _keys2.default)(data).reduce(function (acc, k) {
62-
var v = data[k];
63-
64-
k = k.replace(/^-+/, ''); // strips '-'
65-
k = (0, _lowerFirst2.default)(k);
66-
acc[k] = v.endsWith('px') ? parseInt(v, 10) : v;
67-
return acc;
68-
}, {});
69-
};
70-
7141
var toProdExport = function toProdExport(code) {
7242
return 'export default ' + code;
7343
};
7444
var toDevExport = function toDevExport(code) {
75-
return 'let config = ' + code + ';\nif (typeof global.Proxy !== \'undefined\') {\n config = new Proxy(config, {\n get(target, key) {\n if (key !== \'__esModule\' && !target[key]) {\n console.error(`No variable found, check variable key: ["${key.toString()}"]`);\n }\n \n return target[key];\n },\n \n set(target, key) {\n throw new Error(\'Config variables are immutable \' + key);\n }\n });\n}\nexport default config';
45+
return 'let config = ' + code + ';\nif (typeof Proxy !== \'undefined\') {\n config = new Proxy(config, {\n get(target, key) {\n if (key !== \'__esModule\' && !target[key]) {\n console.error(`No variable found, check variable key: ["${key.toString()}"]`);\n }\n \n return target[key];\n },\n \n set(target, key) {\n throw new Error(\'Config variables are immutable \' + key);\n }\n });\n}\nexport default config';
7646
};
7747
var toES5Export = function toES5Export(code) {
7848
return 'module.exports = ' + code;
@@ -83,21 +53,31 @@ var toExport = (0, _cond2.default)([[isDev, toDevExport], [isProd, toProdExport]
8353
var toString = function toString(data) {
8454
return '' + (0, _stringify2.default)(data, null, '\t');
8555
};
86-
var toData = (0, _compose2.default)(transform, (0, _get2.default)(':root'));
8756

88-
var toConfig = exports.toConfig = (0, _compose2.default)(toExport, toString, toData);
89-
var toES5Config = exports.toES5Config = (0, _compose2.default)(toES5Export, toString, toData);
57+
var objectify = function objectify(root, filepath) {
58+
var result = {};
59+
60+
if (!root) {
61+
return result;
62+
}
63+
64+
root.walkDecls(function (rule) {
65+
if (rule.source.input.file !== filepath) {
66+
return;
67+
}
68+
if (rule.parent && rule.parent.selectors.find(function (sel) {
69+
return sel === ':root';
70+
})) {
71+
var v = rule.value; // replace "--"
9072

91-
var objectify = exports.objectify = function objectify(root, filepath) {
92-
// removes imported rules, so we have only computed output
93-
root.walkRules(function (r) {
94-
if (r.source.input.file !== filepath) {
95-
r.remove();
73+
result[rule.prop.replace(/^-+/, '')] = v.endsWith('px') ? parseInt(v, 10) : v;
9674
}
9775
});
98-
return _postcssJs2.default.objectify(root);
76+
return result;
9977
};
10078

79+
var toConfig = exports.toConfig = (0, _compose2.default)(toExport, toString, objectify);
80+
var toES5Config = exports.toES5Config = (0, _compose2.default)(toES5Export, toString, objectify);
10181
var getPostcss = exports.getPostcss = function getPostcss(async) {
10282
return (0, _postcss2.default)().use((0, _postcssImport2.default)({ async: async })).use((0, _postcssCssnext2.default)({ features: { customProperties: { preserve: 'computed' } } }));
10383
};

0 commit comments

Comments
 (0)