Initial commit

This commit is contained in:
Patrick Marsceill
2017-03-09 13:16:08 -05:00
commit b7b0d0d7bf
4147 changed files with 401224 additions and 0 deletions

69
node_modules/stylehacks/dist/cli.js generated vendored Executable file
View File

@@ -0,0 +1,69 @@
#!/usr/bin/env node
'use strict';
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _readFileStdin = require('read-file-stdin');
var _readFileStdin2 = _interopRequireDefault(_readFileStdin);
var _writeFileStdout = require('write-file-stdout');
var _writeFileStdout2 = _interopRequireDefault(_writeFileStdout);
var _minimist = require('minimist');
var _minimist2 = _interopRequireDefault(_minimist);
var _package = require('../package.json');
var _ = require('./');
var _2 = _interopRequireDefault(_);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var opts = (0, _minimist2.default)(process.argv.slice(2), {
alias: {
b: 'browsers',
l: 'lint',
h: 'help',
s: 'sourcemap',
v: 'version'
}
});
if (opts.version) {
console.log(_package.version);
} else {
var file = opts._[0];
var out = opts._[1];
if (file === 'help' || opts.help) {
_fs2.default.createReadStream(__dirname + '/../usage.txt').pipe(process.stdout).on('close', function () {
return process.exit(1);
});
} else {
(0, _readFileStdin2.default)(file, function (err, buf) {
if (err) {
throw err;
}
if (file) {
opts.from = file;
}
if (out) {
opts.to = out;
}
_2.default.process(String(buf), opts).then(function (result) {
if (result.warnings().length) {
process.exit(1);
}
if (!opts.lint) {
(0, _writeFileStdout2.default)(result.css);
}
});
});
}
}

9
node_modules/stylehacks/dist/dictionary/browsers.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
'use strict';
exports.__esModule = true;
var FF_2 = exports.FF_2 = 'firefox 2';
var IE_5_5 = exports.IE_5_5 = 'ie 5.5';
var IE_6 = exports.IE_6 = 'ie 6';
var IE_7 = exports.IE_7 = 'ie 7';
var IE_8 = exports.IE_8 = 'ie 8';
var OP_9 = exports.OP_9 = 'opera 9';

View File

@@ -0,0 +1,7 @@
'use strict';
exports.__esModule = true;
var MEDIA_QUERY = exports.MEDIA_QUERY = 'media query';
var PROPERTY = exports.PROPERTY = 'property';
var SELECTOR = exports.SELECTOR = 'selector';
var VALUE = exports.VALUE = 'value';

6
node_modules/stylehacks/dist/dictionary/postcss.js generated vendored Normal file
View File

@@ -0,0 +1,6 @@
'use strict';
exports.__esModule = true;
var ATRULE = exports.ATRULE = 'atrule';
var DECL = exports.DECL = 'decl';
var RULE = exports.RULE = 'rule';

5
node_modules/stylehacks/dist/dictionary/tags.js generated vendored Normal file
View File

@@ -0,0 +1,5 @@
'use strict';
exports.__esModule = true;
var BODY = exports.BODY = 'body';
var HTML = exports.HTML = 'html';

9
node_modules/stylehacks/dist/exists.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
"use strict";
exports.__esModule = true;
exports.default = exists;
function exists(selector, index, value) {
var node = selector.at(index);
return node && node.value === value;
}
module.exports = exports["default"];

53
node_modules/stylehacks/dist/formatter.js generated vendored Normal file
View File

@@ -0,0 +1,53 @@
'use strict';
exports.__esModule = true;
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _chalk = require('chalk');
var _chalk2 = _interopRequireDefault(_chalk);
var _textTable = require('text-table');
var _textTable2 = _interopRequireDefault(_textTable);
var _logSymbols = require('log-symbols');
var _logSymbols2 = _interopRequireDefault(_logSymbols);
var _plur = require('plur');
var _plur2 = _interopRequireDefault(_plur);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var logFrom = function logFrom(fromValue) {
if (!fromValue.indexOf('<')) {
return fromValue;
}
return _path2.default.relative(process.cwd(), fromValue);
};
var hacksFound = function hacksFound(messages) {
var num = messages.length + (0, _plur2.default)(' hack', messages.length);
return '\n\n ' + _logSymbols2.default.error + ' ' + num + ' found.\n';
};
exports.default = function (input) {
var messages = input.messages;
var source = input.source;
if (!messages.length) {
return ' ' + _logSymbols2.default.success + ' No hacks found.';
}
return _chalk2.default.underline(logFrom(source)) + '\n' + (0, _textTable2.default)(messages.map(function (msg) {
var parts = msg.text.split(': ');
return ['', _chalk2.default.gray('line ' + msg.node.source.start.line), _chalk2.default.gray('col ' + msg.node.source.start.column), parts[0], _chalk2.default.red(parts[1])];
})) + hacksFound(messages);
};
module.exports = exports['default'];

128
node_modules/stylehacks/dist/index.js generated vendored Executable file
View File

@@ -0,0 +1,128 @@
'use strict';
exports.__esModule = true;
var _postcss = require('postcss');
var _postcss2 = _interopRequireDefault(_postcss);
var _postcssReporter = require('postcss-reporter');
var _postcssReporter2 = _interopRequireDefault(_postcssReporter);
var _browserslist = require('browserslist');
var _browserslist2 = _interopRequireDefault(_browserslist);
var _formatter = require('./formatter');
var _formatter2 = _interopRequireDefault(_formatter);
var _bodyEmpty = require('./plugins/bodyEmpty');
var _bodyEmpty2 = _interopRequireDefault(_bodyEmpty);
var _htmlCombinatorCommentBody = require('./plugins/htmlCombinatorCommentBody');
var _htmlCombinatorCommentBody2 = _interopRequireDefault(_htmlCombinatorCommentBody);
var _htmlFirstChild = require('./plugins/htmlFirstChild');
var _htmlFirstChild2 = _interopRequireDefault(_htmlFirstChild);
var _important = require('./plugins/important');
var _important2 = _interopRequireDefault(_important);
var _leadingStar = require('./plugins/leadingStar');
var _leadingStar2 = _interopRequireDefault(_leadingStar);
var _leadingUnderscore = require('./plugins/leadingUnderscore');
var _leadingUnderscore2 = _interopRequireDefault(_leadingUnderscore);
var _mediaSlash = require('./plugins/mediaSlash0');
var _mediaSlash2 = _interopRequireDefault(_mediaSlash);
var _mediaSlash3 = require('./plugins/mediaSlash9');
var _mediaSlash4 = _interopRequireDefault(_mediaSlash3);
var _slash = require('./plugins/slash9');
var _slash2 = _interopRequireDefault(_slash);
var _starHtml = require('./plugins/starHtml');
var _starHtml2 = _interopRequireDefault(_starHtml);
var _trailingSlashComma = require('./plugins/trailingSlashComma');
var _trailingSlashComma2 = _interopRequireDefault(_trailingSlashComma);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var plugins = [_bodyEmpty2.default, _htmlCombinatorCommentBody2.default, _htmlFirstChild2.default, _important2.default, _leadingStar2.default, _leadingUnderscore2.default, _mediaSlash2.default, _mediaSlash4.default, _slash2.default, _starHtml2.default, _trailingSlashComma2.default];
// plugins
var stylehacks = _postcss2.default.plugin('stylehacks', function () {
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var b = opts.browsers;
var browsers = b instanceof Array ? b : (0, _browserslist2.default)(b);
return function (css, result) {
var processors = plugins.reduce(function (list, Plugin) {
var hack = new Plugin(result);
var applied = browsers.some(function (browser) {
return hack.targets.some(function (target) {
return browser === target;
});
});
if (applied) {
return list;
}
return [].concat(list, [hack]);
}, []);
css.walk(function (node) {
processors.forEach(function (proc) {
if (!~proc.nodeTypes.indexOf(node.type)) {
return;
}
if (opts.lint) {
return proc.detectAndWarn(node);
}
return proc.detectAndResolve(node);
});
});
};
});
stylehacks.detect = function (node) {
var hacked = plugins.some(function (Plugin) {
var hack = new Plugin();
return hack.any(node);
});
return hacked;
};
stylehacks.process = function (css) {
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
opts.reporter = {};
opts.reporter.formatter = _formatter2.default;
opts.map = opts.map || (opts.sourcemap ? true : null);
var processor = (0, _postcss2.default)([stylehacks(opts)]);
if (opts.lint && !opts.silent) {
processor.use((0, _postcssReporter2.default)(opts.reporter));
}
return processor.process(css, opts);
};
exports.default = stylehacks;
module.exports = exports['default'];

14
node_modules/stylehacks/dist/isMixin.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
exports.__esModule = true;
exports.default = isMixin;
function isMixin(node) {
var selector = node.selector;
// If the selector ends with a ':' it is likely a part of a custom mixin.
if (!selector || selector[selector.length - 1] === ':') {
return true;
}
return false;
}
module.exports = exports['default'];

85
node_modules/stylehacks/dist/plugin.js generated vendored Executable file
View File

@@ -0,0 +1,85 @@
"use strict";
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.default = plugin;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function plugin(targets, nodeTypes, detect) {
var Plugin = function () {
function Plugin(result) {
_classCallCheck(this, Plugin);
this.nodes = [];
this.result = result;
this.targets = targets;
this.nodeTypes = nodeTypes;
}
Plugin.prototype.push = function push(node, metadata) {
node._stylehacks = _extends({}, metadata, {
message: "Bad " + metadata.identifier + ": " + metadata.hack,
browsers: this.targets
});
this.nodes.push(node);
};
Plugin.prototype.any = function any(node) {
if (~this.nodeTypes.indexOf(node.type)) {
detect.apply(this, arguments);
return !!node._stylehacks;
}
return false;
};
Plugin.prototype.detectAndResolve = function detectAndResolve() {
this.nodes = [];
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
detect.apply(this, args);
return this.resolve();
};
Plugin.prototype.detectAndWarn = function detectAndWarn() {
this.nodes = [];
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
detect.apply(this, args);
return this.warn();
};
Plugin.prototype.resolve = function resolve() {
return this.nodes.forEach(function (node) {
return node.remove();
});
};
Plugin.prototype.warn = function warn() {
var _this = this;
return this.nodes.forEach(function (node) {
var _node$_stylehacks = node._stylehacks,
message = _node$_stylehacks.message,
browsers = _node$_stylehacks.browsers,
identifier = _node$_stylehacks.identifier,
hack = _node$_stylehacks.hack;
return node.warn(_this.result, message, { browsers: browsers, identifier: identifier, hack: hack });
});
};
return Plugin;
}();
return Plugin;
}
module.exports = exports["default"];

50
node_modules/stylehacks/dist/plugins/bodyEmpty.js generated vendored Normal file
View File

@@ -0,0 +1,50 @@
'use strict';
exports.__esModule = true;
var _postcssSelectorParser = require('postcss-selector-parser');
var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
var _exists = require('../exists');
var _exists2 = _interopRequireDefault(_exists);
var _isMixin = require('../isMixin');
var _isMixin2 = _interopRequireDefault(_isMixin);
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
var _tags = require('../dictionary/tags');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function analyse(ctx, rule) {
return function (selectors) {
selectors.each(function (selector) {
if ((0, _exists2.default)(selector, 0, _tags.BODY) && (0, _exists2.default)(selector, 1, ':empty') && (0, _exists2.default)(selector, 2, ' ') && selector.at(3)) {
ctx.push(rule, {
identifier: _identifiers.SELECTOR,
hack: selector.toString()
});
}
});
};
}
exports.default = (0, _plugin2.default)([_browsers.FF_2], [_postcss.RULE], function (rule) {
if ((0, _isMixin2.default)(rule)) {
return;
}
(0, _postcssSelectorParser2.default)(analyse(this, rule)).process(rule.selector);
});
module.exports = exports['default'];

View File

@@ -0,0 +1,52 @@
'use strict';
exports.__esModule = true;
var _postcssSelectorParser = require('postcss-selector-parser');
var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
var _exists = require('../exists');
var _exists2 = _interopRequireDefault(_exists);
var _isMixin = require('../isMixin');
var _isMixin2 = _interopRequireDefault(_isMixin);
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
var _tags = require('../dictionary/tags');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function analyse(ctx, rule) {
return function (selectors) {
selectors.each(function (selector) {
if ((0, _exists2.default)(selector, 0, _tags.HTML) && ((0, _exists2.default)(selector, 1, '>') || (0, _exists2.default)(selector, 1, '~')) && selector.at(2) && selector.at(2).type === 'comment' && (0, _exists2.default)(selector, 3, ' ') && (0, _exists2.default)(selector, 4, _tags.BODY) && (0, _exists2.default)(selector, 5, ' ') && selector.at(6)) {
ctx.push(rule, {
identifier: _identifiers.SELECTOR,
hack: selector.toString()
});
}
});
};
}
exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.RULE], function (rule) {
if ((0, _isMixin2.default)(rule)) {
return;
}
if (rule.raws.selector && rule.raws.selector.raw) {
(0, _postcssSelectorParser2.default)(analyse(this, rule)).process(rule.raws.selector.raw);
}
});
module.exports = exports['default'];

50
node_modules/stylehacks/dist/plugins/htmlFirstChild.js generated vendored Normal file
View File

@@ -0,0 +1,50 @@
'use strict';
exports.__esModule = true;
var _postcssSelectorParser = require('postcss-selector-parser');
var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
var _exists = require('../exists');
var _exists2 = _interopRequireDefault(_exists);
var _isMixin = require('../isMixin');
var _isMixin2 = _interopRequireDefault(_isMixin);
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
var _tags = require('../dictionary/tags');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function analyse(ctx, rule) {
return function (selectors) {
selectors.each(function (selector) {
if ((0, _exists2.default)(selector, 0, _tags.HTML) && (0, _exists2.default)(selector, 1, ':first-child') && (0, _exists2.default)(selector, 2, ' ') && selector.at(3)) {
ctx.push(rule, {
identifier: _identifiers.SELECTOR,
hack: selector.toString()
});
}
});
};
}
exports.default = (0, _plugin2.default)([_browsers.OP_9], [_postcss.RULE], function (rule) {
if ((0, _isMixin2.default)(rule)) {
return;
}
(0, _postcssSelectorParser2.default)(analyse(this, rule)).process(rule.selector);
});
module.exports = exports['default'];

25
node_modules/stylehacks/dist/plugins/important.js generated vendored Executable file
View File

@@ -0,0 +1,25 @@
'use strict';
exports.__esModule = true;
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _postcss = require('../dictionary/postcss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.DECL], function (decl) {
var match = decl.value.match(/!\w/);
if (match) {
var hack = decl.value.substr(match.index, decl.value.length - 1);
this.push(decl, {
identifier: '!important',
hack: hack
});
}
});
module.exports = exports['default'];

61
node_modules/stylehacks/dist/plugins/leadingStar.js generated vendored Executable file
View File

@@ -0,0 +1,61 @@
'use strict';
exports.__esModule = true;
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var hacks = '!_$_&_*_)_=_%_+_,_._/_`_]_#_~_?_:_|'.split('_');
exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.ATRULE, _postcss.DECL], function (node) {
var _this = this;
if (node.type === _postcss.DECL) {
// some values are not picked up by before, so ensure they are
// at the beginning of the value
hacks.some(function (hack) {
if (!node.prop.indexOf(hack)) {
_this.push(node, {
identifier: _identifiers.PROPERTY,
hack: node.prop
});
return true;
}
});
var before = node.raws.before;
if (!before) {
return;
}
hacks.some(function (hack) {
if (~before.indexOf(hack)) {
_this.push(node, {
identifier: _identifiers.PROPERTY,
hack: '' + before.trim() + node.prop
});
return true;
}
});
} else {
// test for the @property: value; hack
var name = node.name;
var len = name.length - 1;
if (name.lastIndexOf(':') === len) {
this.push(node, {
identifier: _identifiers.PROPERTY,
hack: '@' + name.substr(0, len)
});
}
}
});
module.exports = exports['default'];

30
node_modules/stylehacks/dist/plugins/leadingUnderscore.js generated vendored Executable file
View File

@@ -0,0 +1,30 @@
'use strict';
exports.__esModule = true;
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _plugin2.default)([_browsers.IE_6], [_postcss.DECL], function (decl) {
var before = decl.raws.before;
if (!before) {
return;
}
if (~before.indexOf('_') || ~before.indexOf('-')) {
this.push(decl, {
identifier: _identifiers.PROPERTY,
hack: '' + before.trim() + decl.prop
});
}
});
module.exports = exports['default'];

26
node_modules/stylehacks/dist/plugins/mediaSlash0.js generated vendored Executable file
View File

@@ -0,0 +1,26 @@
'use strict';
exports.__esModule = true;
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _plugin2.default)([_browsers.IE_8], [_postcss.ATRULE], function (rule) {
var params = rule.params.trim();
if (params === '\\0screen') {
this.push(rule, {
identifier: _identifiers.MEDIA_QUERY,
hack: params
});
}
});
module.exports = exports['default'];

26
node_modules/stylehacks/dist/plugins/mediaSlash9.js generated vendored Executable file
View File

@@ -0,0 +1,26 @@
'use strict';
exports.__esModule = true;
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.ATRULE], function (rule) {
var params = rule.params.trim();
if (params === 'screen\\9') {
this.push(rule, {
identifier: _identifiers.MEDIA_QUERY,
hack: params
});
}
});
module.exports = exports['default'];

26
node_modules/stylehacks/dist/plugins/slash9.js generated vendored Normal file
View File

@@ -0,0 +1,26 @@
'use strict';
exports.__esModule = true;
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _plugin2.default)([_browsers.IE_6, _browsers.IE_7, _browsers.IE_8], [_postcss.DECL], function (decl) {
var v = decl.value;
if (v && v.length > 2 && v.indexOf('\\9') === v.length - 2) {
this.push(decl, {
identifier: _identifiers.VALUE,
hack: v
});
}
});
module.exports = exports['default'];

50
node_modules/stylehacks/dist/plugins/starHtml.js generated vendored Executable file
View File

@@ -0,0 +1,50 @@
'use strict';
exports.__esModule = true;
var _postcssSelectorParser = require('postcss-selector-parser');
var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
var _exists = require('../exists');
var _exists2 = _interopRequireDefault(_exists);
var _isMixin = require('../isMixin');
var _isMixin2 = _interopRequireDefault(_isMixin);
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
var _tags = require('../dictionary/tags');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function analyse(ctx, rule) {
return function (selectors) {
selectors.each(function (selector) {
if ((0, _exists2.default)(selector, 0, '*') && (0, _exists2.default)(selector, 1, ' ') && (0, _exists2.default)(selector, 2, _tags.HTML) && (0, _exists2.default)(selector, 3, ' ') && selector.at(4)) {
ctx.push(rule, {
identifier: _identifiers.SELECTOR,
hack: selector.toString()
});
}
});
};
}
exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6], [_postcss.RULE], function (rule) {
if ((0, _isMixin2.default)(rule)) {
return;
}
(0, _postcssSelectorParser2.default)(analyse(this, rule)).process(rule.selector);
});
module.exports = exports['default'];

35
node_modules/stylehacks/dist/plugins/trailingSlashComma.js generated vendored Executable file
View File

@@ -0,0 +1,35 @@
'use strict';
exports.__esModule = true;
var _plugin = require('../plugin');
var _plugin2 = _interopRequireDefault(_plugin);
var _isMixin = require('../isMixin');
var _isMixin2 = _interopRequireDefault(_isMixin);
var _browsers = require('../dictionary/browsers');
var _identifiers = require('../dictionary/identifiers');
var _postcss = require('../dictionary/postcss');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.RULE], function (rule) {
if ((0, _isMixin2.default)(rule)) {
return;
}
var selector = rule.selector;
var trim = selector.trim();
if (trim.lastIndexOf(',') === selector.length - 1 || trim.lastIndexOf('\\') === selector.length - 1) {
this.push(rule, {
identifier: _identifiers.SELECTOR,
hack: selector
});
}
});
module.exports = exports['default'];