lowcode-engine/scripts/rollup-dts.mjs
2024-03-26 10:48:30 +08:00

44 lines
1.3 KiB
JavaScript

import { join } from 'node:path';
import { existsSync, readdirSync } from 'node:fs';
import { Extractor, ExtractorConfig } from '@microsoft/api-extractor';
import { rimraf } from 'rimraf';
const libPath = process.env.PWD;
const packages = readdirSync(join(libPath, 'temp/packages'));
const typeTempIndexPath = join(libPath, 'temp/packages', packages[0], 'src/index.d.ts');
if (!existsSync(typeTempIndexPath)) {
console.error('🚨类型入口路径错误');
process.exit(1);
}
async function run() {
const configObject = ExtractorConfig.loadFile('../../api-extractor.json');
configObject.mainEntryPointFilePath = typeTempIndexPath;
const extractorConfig = ExtractorConfig.prepare({
configObject,
projectFolderLookupToken: libPath,
packageJsonFullPath: join(libPath, 'package.json'),
});
const extractorResult = Extractor.invoke(extractorConfig, {
localBuild: true,
showVerboseMessages: true,
});
if (extractorResult.succeeded) {
console.log(`🚀类型声明文件生成成功!!!`);
await rimraf(join(libPath, 'temp'));
} else {
console.error(
'🚨类型声明文件生成失败:' +
+`\n\t${extractorResult.errorCount} errors``\n\tand ${extractorResult.warningCount} warnings`,
);
process.exit(1);
}
}
run();