UNPKG

saven

Version:
49 lines (48 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const autoprefixer = require("autoprefixer"); const constparse = require("postcss-plugin-constparse"); const pxtransform = require("postcss-pxtransform"); const defaultAutoprefixerOption = { browsers: [ 'Android >= 4', 'iOS >= 6' ], flexbox: 'no-2009' }; const defaultPxtransformOption = { platform: 'h5' }; const defaultConstparseOption = { constants: [{ key: 'taro-tabbar-height', val: '50PX' }], platform: 'h5' }; const plugins = []; exports.getPostcssPlugins = function ({ designWidth, deviceRatio, postcssOption = {} }) { const isAutoprefixerEnabled = (postcssOption.autoprefixer && postcssOption.autoprefixer.enable === false) ? false : true; const isPxtransformEnabled = (postcssOption.pxtransform && postcssOption.pxtransform.enable === false) ? false : true; const customPlugins = postcssOption.plugins || []; if (isAutoprefixerEnabled) { const customAutoprefixerOption = postcssOption.autoprefixer ? postcssOption.autoprefixer.config : {}; plugins.push(autoprefixer(Object.assign(defaultAutoprefixerOption, customAutoprefixerOption))); } if (isPxtransformEnabled) { const customPxtransformOption = postcssOption.pxtransform ? postcssOption.pxtransform.config : {}; if (designWidth) { defaultPxtransformOption.designWidth = designWidth; } if (deviceRatio) { defaultPxtransformOption.deviceRatio = deviceRatio; } plugins.push(pxtransform(Object.assign(defaultPxtransformOption, customPxtransformOption))); } plugins.push(constparse(defaultConstparseOption)); return plugins.concat(customPlugins); };