33 lines
972 B
TypeScript
33 lines
972 B
TypeScript
|
/**
|
||
|
* merge less file
|
||
|
* <p>
|
||
|
*/
|
||
|
var fs = require('fs');
|
||
|
var { resolve } = require('path');
|
||
|
|
||
|
const inputDir = resolve(process.cwd(), './src/component')
|
||
|
|
||
|
const inputsArray = fs.readdirSync(inputDir).filter((name) => {
|
||
|
const componentDir = resolve(inputDir, name)
|
||
|
const isDir = fs.lstatSync(componentDir).isDirectory()
|
||
|
return isDir && fs.readdirSync(componentDir).includes('index.ts')
|
||
|
})
|
||
|
|
||
|
// 读取基础变量 与 公共样式
|
||
|
var content = fs.readFileSync("./src/theme/variable.less").toString() + '\n\n';
|
||
|
content += fs.readFileSync("./src/theme/index.less").toString() + '\n\n';
|
||
|
|
||
|
// 组件样式
|
||
|
inputsArray.forEach(function (f) {
|
||
|
var path = "./src/component/" + f + "/index.less";
|
||
|
fs.exists(path, function (exists) {
|
||
|
if (exists) {
|
||
|
var c = fs.readFileSync(path);
|
||
|
content += c.toString() + '\n\n';
|
||
|
// @ts-ignore
|
||
|
content = content.replaceAll(/\@import.*?\;/g, "");
|
||
|
fs.writeFileSync('./lib/index.less', content);
|
||
|
}
|
||
|
});
|
||
|
})
|