You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
var _postcss = require('postcss');
var _postcss2 = _interopRequireDefault(_postcss);
var _browserslist = require('browserslist');
var _browserslist2 = _interopRequireDefault(_browserslist);
var _plugins = require('./plugins');
var _plugins2 = _interopRequireDefault(_plugins);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const stylehacks = _postcss2.default.plugin('stylehacks', (opts = {}) => { return (css, result) => { const resultOpts = result.opts || {}; const browsers = (0, _browserslist2.default)(null, { stats: resultOpts.stats, path: __dirname, env: resultOpts.env }); const processors = _plugins2.default.reduce((list, Plugin) => { const hack = new Plugin(result); const applied = browsers.some(browser => { return hack.targets.some(target => browser === target); });
if (applied) { return list; }
return [...list, hack]; }, []);
css.walk(node => { processors.forEach(proc => { if (!~proc.nodeTypes.indexOf(node.type)) { return; }
if (opts.lint) { return proc.detectAndWarn(node); }
return proc.detectAndResolve(node); }); }); }; });
stylehacks.detect = node => { return _plugins2.default.some(Plugin => { const hack = new Plugin();
return hack.any(node); }); };
exports.default = stylehacks; module.exports = exports['default'];
|