UNPKG

@mypaas/hcm-cli

Version:

Vant Cli 是一个 Vue 组件库构建工具,通过 Vant Cli 可以快速搭建一套功能完备的 Vue 组件库。

55 lines (54 loc) 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.genPackageStyle = void 0; const path_1 = require("path"); const fs_extra_1 = require("fs-extra"); const common_1 = require("../common"); const css_1 = require("../common/css"); const constant_1 = require("../common/constant"); function genPackageStyle(options) { const styleDepsJson = require(constant_1.STYPE_DEPS_JSON_FILE); const ext = '.' + css_1.CSS_LANG; let content = ''; let baseFile = css_1.getCssBaseFile(); if (baseFile) { if (options.pathResolver) { baseFile = options.pathResolver(baseFile); } content += `@import "${common_1.normalizePath(baseFile)}";\n`; } content += styleDepsJson.sequence .map((name) => { let path = path_1.join(constant_1.SRC_DIR, `${name}/index${ext}`); if (!fs_extra_1.existsSync(path)) { return ''; } if (options.pathResolver) { path = options.pathResolver(path); } return `@import "${common_1.normalizePath(path)}";`; }) .filter((item) => !!item) .join('\n'); // 自定义样式 content += '\n'; content += styleDepsJson.sequence .map((name) => { if (options.pathResolver) return ''; const path = path_1.join(constant_1.SRC_DIR, `${name}/honeycomb${ext}`); if (!fs_extra_1.existsSync(path)) { return ''; } return `@import "${common_1.normalizePath(path)}";`; }) .filter((item) => !!item) .join('\n'); // 全局变量 const customVar = path_1.join(constant_1.STYLE_DIR, `honeycomb-var.${css_1.CSS_LANG}`); if (customVar && !options.pathResolver && fs_extra_1.existsSync(customVar)) { content += `\n@import "${common_1.normalizePath(customVar)}";\n`; } common_1.smartOutputFile(options.outputPath, content); } exports.genPackageStyle = genPackageStyle;