UNPKG

@wrench/roll-typescript

Version:

plugin for bundling TypeScript with support of modular output and declaration bundle

36 lines (34 loc) 1.28 kB
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]); }