create-ias-lowcode
Version:
43 lines (36 loc) • 1.07 kB
JavaScript
/**
* 此脚本用于动态生成 tsconfig.build.json 文件
* 会自动扫描 src/components 目录下的所有组件
* 并将其添加到 tsconfig.build.json 的 files 数组中
*/
const fs = require('fs');
const path = require('path');
// 获取命令行参数,可能包含特定的组件名称
const componentsArg = process.argv[2];
// 创建 tsconfig.build.json 内容
const tsconfigBuild = {
extends: "./tsconfig.json",
compilerOptions: {
declaration: true,
emitDeclarationOnly: true,
outDir: "dist/types",
},
exclude: [
"node_modules",
"dist",
"**/node_modules/*",
"**/dist/*"
],
};
if(componentsArg !== 'undefined'){
tsconfigBuild.files = [`src/components/${componentsArg}/index.ts`];
tsconfigBuild.compilerOptions.outDir = `dist/types/${componentsArg}`;
}else{
tsconfigBuild.include = [`src/components/index.ts`];
}
// 将配置写入文件
fs.writeFileSync(
path.resolve(__dirname, '../tsconfig.build.json'),
JSON.stringify(tsconfigBuild, null, 2),
'utf8'
);