@mypaas/hcm-cli
Version:
Vant Cli 是一个 Vue 组件库构建工具,通过 Vant Cli 可以快速搭建一套功能完备的 Vue 组件库。
46 lines (45 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRootPostcssConfig = void 0;
const fs_extra_1 = require("fs-extra");
const constant_1 = require("../common/constant");
function getRootPostcssConfig() {
if (fs_extra_1.existsSync(constant_1.ROOT_POSTCSS_CONFIG_FILE)) {
return require(constant_1.ROOT_POSTCSS_CONFIG_FILE);
}
return { plugins: [] };
}
exports.getRootPostcssConfig = getRootPostcssConfig;
function getPostcssPlugins(rootConfig) {
const plugins = rootConfig.plugins || [];
if (Array.isArray(plugins)) {
const hasPostcssPlugin = plugins.find((plugin) => plugin === 'autoprefixer' && plugin.postcssPlugin === 'autoprefixer');
if (hasPostcssPlugin) {
return plugins;
}
return [require('autoprefixer'), ...plugins];
}
return Object.assign({ autoprefixer: {} }, plugins);
}
function getREMTransform(plugins) {
if (process.env.POSTCSS_REM !== 'on') {
return plugins;
}
if (Array.isArray(plugins)) {
return [
...plugins,
require('postcss-pxtorem')({
minPixelValue: 1,
rootValue: 37.5,
replace: true,
propList: ['*'],
}),
];
}
return plugins;
}
function resolvePostcssConfig() {
const rootConfig = getRootPostcssConfig();
return Object.assign(Object.assign({}, rootConfig), { plugins: getREMTransform(getPostcssPlugins(rootConfig)) });
}
module.exports = resolvePostcssConfig();