From cd53062ad05b9ab182bc6e58ca10f4938a4f5cdc Mon Sep 17 00:00:00 2001 From: Tony Ganch Date: Mon, 18 Nov 2013 21:09:13 +0400 Subject: [PATCH] Update Gonzales to v2.0.1 - `propertyDelim` node was added (that is `:` between properties and values) - `decldelim` node was renamed to `declDelim` - `funktion` node was renamed to `function` --- lib/options/always-semicolon.js | 14 +++++++++++--- lib/options/sort-order.js | 6 +++--- lib/options/vendor-prefix-align.js | 18 ++++++++++-------- package.json | 2 +- 4 files changed, 25 insertions(+), 15 deletions(-) diff --git a/lib/options/always-semicolon.js b/lib/options/always-semicolon.js index 07e951ad..702ae548 100644 --- a/lib/options/always-semicolon.js +++ b/lib/options/always-semicolon.js @@ -22,17 +22,25 @@ module.exports = { for (var i = node.length; i--;) { var nodeItem = node[i]; var type = nodeItem[0]; - var value = nodeItem[2]; - if (type === 'decldelim') break; + if (type === 'declDelim') break; if (type === 'declaration') { + // Look for value node: + var value; + for (var k = nodeItem.length; k--;) { + if (nodeItem[k][0] === 'value') { + value = nodeItem[k]; + break; + } + } + var space = []; for (var j = value.length; j--;) { if (['s', 'commentML', 'commentSL'].indexOf(value[j][0]) === -1) break; space.unshift(value.splice(j)[0]); } - node.splice.apply(node, [i + 1, 0, ['decldelim']].concat(space)); + node.splice.apply(node, [i + 1, 0, ['declDelim']].concat(space)); break; } } diff --git a/lib/options/sort-order.js b/lib/options/sort-order.js index beb620b9..ce2be533 100644 --- a/lib/options/sort-order.js +++ b/lib/options/sort-order.js @@ -164,7 +164,7 @@ module.exports = { // If there is `;` right after the declaration, save it with the // declaration and mark it for removing from parent node: - if (currentNode && nextNode && nextNode[0] === 'decldelim') { + if (currentNode && nextNode && nextNode[0] === 'declDelim') { extendedNode.delim.push(nextNode); deleted.push(i + 1); i++; @@ -224,7 +224,7 @@ module.exports = { } if (!propertyName) { - deleted = []; + deleted.splice(deleted.length - sc0.length, deleted.length + 1); continue; } @@ -274,7 +274,7 @@ module.exports = { for (j = 0, nl = sc1.length; j < nl; j++) { node.unshift(sc1[j]); } - if (currentNode.delim.length > 0) node.unshift(['decldelim']); + if (currentNode.delim.length > 0) node.unshift(['declDelim']); node.unshift(currentNode.node); for (j = 0, nl = sc0.length; j < nl; j++) { node.unshift(sc0[j]); diff --git a/lib/options/vendor-prefix-align.js b/lib/options/vendor-prefix-align.js index 4b9a5840..5359812f 100644 --- a/lib/options/vendor-prefix-align.js +++ b/lib/options/vendor-prefix-align.js @@ -25,6 +25,7 @@ module.exports = { var result = { baseName: propertyName, prefixLength: 0 }; this._prefixesList.some(function(prefix) { + // TODO: Why don't we store prefixes with `-`? prefix = '-' + prefix + '-'; if (propertyName.indexOf(prefix) !== 0) return; result = { @@ -65,6 +66,7 @@ module.exports = { */ _getDeclName: function(node) { if (node[0] !== 'declaration') return; + // TODO: Check that it's not a variable return node[1][1][1]; }, @@ -81,12 +83,13 @@ module.exports = { * @returns {String|undefined} */ _getValName: function(node) { - if (node[0] !== 'declaration' || !node[2] || !node[2][2]) + // TODO: Check that `node[3]` is the node we need + if (node[0] !== 'declaration' || !node[3] || !node[3]) return; - if (node[2][2][0] === 'ident') - return node[2][2][1]; - if (node[2][2][0] === 'funktion') - return node[2][2][1][1]; + if (node[3][2][0] === 'ident') + return node[3][2][1]; + if (node[3][2][0] === 'function') + return node[3][2][1][1]; }, /** @@ -156,7 +159,7 @@ module.exports = { _this._updateDict(info, dict, node[i - 1][1]); }); this._walk(node, this._getValName, function(info, i) { - _this._updateDict(info, dict, node[i][2][1][1]); + _this._updateDict(info, dict, node[i][3][1][1]); }); // Update nodes @@ -164,8 +167,7 @@ module.exports = { node[i - 1][1] = _this._updateIndent(info, dict, node[i - 1][1]); }); this._walk(node, this._getValName, function(info, i) { - node[i][2][1][1] = _this._updateIndent(info, dict, node[i][2][1][1]); + node[i][3][1][1] = _this._updateIndent(info, dict, node[i][3][1][1]); }); } - }; diff --git a/package.json b/package.json index e2eb406c..9365c1da 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ }, "dependencies": { "commander": "2.0.0", - "gonzales-pe": "2.0.0-rc0", + "gonzales-pe": "2.0.1", "minimatch": "0.2.12", "vow": "0.3.11", "vow-fs": "0.2.3"