@wrench/roll-typescript
Version:
plugin for bundling TypeScript with support of modular output and declaration bundle
39 lines (37 loc) • 1.53 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const ExtractorConfig_1 = require("@microsoft/api-extractor/lib/api/ExtractorConfig");
const Collector_1 = require("@microsoft/api-extractor/lib/collector/Collector");
const MessageRouter_1 = require("@microsoft/api-extractor/lib/collector/MessageRouter");
const DtsRollupGenerator_1 = require("@microsoft/api-extractor/lib/generators/DtsRollupGenerator");
const path_1 = tslib_1.__importDefault(require("path"));
function bundleDts(options) {
const { program } = options;
let { entry, output } = options;
entry = path_1.default.resolve(entry);
output = path_1.default.resolve(output);
const extractorConfig = createExtractorConfig({
mainEntryPointFilePath: entry,
packageFolder: "fake",
projectFolder: "fake",
packageJson: { name: "fake" },
});
const messageRouter = new MessageRouter_1.MessageRouter({
workingPackageFolder: void 0,
messageCallback: void 0,
messagesConfig: {},
showVerboseMessages: false,
showDiagnostics: false,
});
const collector = new Collector_1.Collector({
program: program,
messageRouter,
extractorConfig,
});
collector.analyze();
DtsRollupGenerator_1.DtsRollupGenerator.writeTypingsFile(collector, output, 0);
}
exports.bundleDts = bundleDts;
function createExtractorConfig(params) {
return Reflect.construct(ExtractorConfig_1.ExtractorConfig, [params]);
}