@wrench/roll-typescript
Version:
plugin for bundling TypeScript with support of modular output and declaration bundle
36 lines (34 loc) • 1.28 kB
JavaScript
import { ExtractorConfig } from "@microsoft/api-extractor/lib/api/ExtractorConfig";
import { Collector } from "@microsoft/api-extractor/lib/collector/Collector";
import { MessageRouter } from "@microsoft/api-extractor/lib/collector/MessageRouter";
import { DtsRollupGenerator } from "@microsoft/api-extractor/lib/generators/DtsRollupGenerator";
import path from "path";
export function bundleDts(options) {
const { program } = options;
let { entry, output } = options;
entry = path.resolve(entry);
output = path.resolve(output);
const extractorConfig = createExtractorConfig({
mainEntryPointFilePath: entry,
packageFolder: "fake",
projectFolder: "fake",
packageJson: { name: "fake" },
});
const messageRouter = new MessageRouter({
workingPackageFolder: void 0,
messageCallback: void 0,
messagesConfig: {},
showVerboseMessages: false,
showDiagnostics: false,
});
const collector = new Collector({
program: program,
messageRouter,
extractorConfig,
});
collector.analyze();
DtsRollupGenerator.writeTypingsFile(collector, output, 0);
}
function createExtractorConfig(params) {
return Reflect.construct(ExtractorConfig, [params]);
}