@mypaas/hcm-cli
Version:
Vant Cli 是一个 Vue 组件库构建工具,通过 Vant Cli 可以快速搭建一套功能完备的 Vue 组件库。
31 lines (30 loc) • 1.35 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertToJs = void 0;
const fs_extra_1 = require("fs-extra");
const path_1 = __importDefault(require("path"));
const lodash_1 = __importDefault(require("lodash"));
const LessToJs = require('less-vars-to-js');
const importResolve = require('import-resolve');
function convertToJs(filePath) {
return new Promise((resolve) => {
importResolve({
"ext": "less",
"pathToMain": filePath,
}, function (paletteLess) {
const palette = LessToJs(paletteLess, { resolveVariables: true, stripPrefix: true });
const target = path_1.default.join(path_1.default.dirname(filePath), path_1.default.basename(filePath, '.share.less') + '.share.js');
const parsedPalette = Object.keys(palette).reduce((acc, key) => {
acc[lodash_1.default.camelCase(key)] = palette[key];
return acc;
}, {});
const content = `const vars = ${JSON.stringify(parsedPalette)};\nexport default vars;`;
fs_extra_1.writeFileSync(target, content);
resolve();
});
});
}
exports.convertToJs = convertToJs;