123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _browserslist = _interopRequireDefault(require("browserslist"));
- var _plugins = _interopRequireDefault(require("./plugins"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- function pluginCreator(opts = {}) {
- return {
- postcssPlugin: 'stylehacks',
- OnceExit(css, {
- result
- }) {
- const resultOpts = result.opts || {};
- const browsers = (0, _browserslist.default)(null, {
- stats: resultOpts.stats,
- path: __dirname,
- env: resultOpts.env
- });
- const processors = _plugins.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);
- });
- });
- }
- };
- }
- pluginCreator.detect = node => {
- return _plugins.default.some(Plugin => {
- const hack = new Plugin();
- return hack.any(node);
- });
- };
- pluginCreator.postcss = true;
- var _default = pluginCreator;
- exports.default = _default;
- module.exports = exports.default;
|