getdocs2ts
Version:
This is a utility that transforms code documented with getdocs-style doc comments into TypeScript definition files
31 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const builddocs = require("builddocs");
const mkdirp = require('mkdirp');
const path = require('path');
const env_1 = require("./env");
const exports_1 = require("./exports");
const genmodule_1 = require("./genmodule");
function mkdirpIfNotExists(dir) {
if (!fs.existsSync(dir)) {
mkdirp.sync(dir);
console.log("created '" + dir + "'");
}
}
function default_1(modules, typeInfos) {
let moduleContents = Object.create(null);
for (let module of modules) {
const mod = builddocs.read({ files: module.srcFiles });
typeInfos = env_1.mergeTypeInfos(exports_1.exportedTypeInfos(module.name, mod), typeInfos);
moduleContents[module.name] = mod;
}
for (let module of modules) {
const mod = moduleContents[module.name];
let sb = genmodule_1.default(mod, module.name, typeInfos);
mkdirpIfNotExists(path.dirname(module.outFile));
fs.writeFileSync(module.outFile, (module.header || '') + sb.toString());
}
}
exports.default = default_1;
//# sourceMappingURL=build.js.map