UNPKG

flowgen

Version:

Generate flowtype definition files from TypeScript

60 lines (44 loc) 1.92 kB
"use strict"; exports.__esModule = true; exports.flowTypedDirectoryExporter = flowTypedDirectoryExporter; exports.flowTypedExporter = flowTypedExporter; var _fs = _interopRequireDefault(require("fs")); var _shelljs = _interopRequireDefault(require("shelljs")); var _commander = _interopRequireDefault(require("commander")); var _util = require("./util"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const exists = (0, _util.promisify)(_fs.default.exists); const writeFile = (0, _util.promisify)(_fs.default.writeFile); const appendFile = (0, _util.promisify)(_fs.default.appendFile); async function flowTypedExporter(moduleName, output, _index) { const opts = _commander.default.opts(); const out = typeof opts.flowTypedFormat === "string" ? opts.flowTypedFormat : "exports"; const folder = `./${out}/${moduleName}_v1.x.x`; const flowFolder = `${folder}/flow_v0.35.x-`; const outputFile = `${folder}/flow_v0.35.x-/${moduleName}.js`; const testfilePath = `${folder}/test_${moduleName}.js`; if (!(await exists(flowFolder))) { _shelljs.default.mkdir("-p", flowFolder); } await writeFile(testfilePath, ""); await writeFile(outputFile, output); return testfilePath; } async function flowTypedDirectoryExporter({ rootModuleName }, output, index) { const opts = _commander.default.opts(); const out = typeof opts.flowTypedFormat === "string" ? opts.flowTypedFormat : "exports"; const flowFolder = `${out}/flow_v0.35.x-`; const outputFile = `${out}/flow_v0.35.x-/${rootModuleName}.js`; const testfilePath = `${out}/test_${rootModuleName}.js`; if (!(await exists(flowFolder))) { _shelljs.default.mkdir("-p", flowFolder); } if (index === 0 && (await exists(outputFile))) { await writeFile(outputFile, ""); } await writeFile(testfilePath, ""); await appendFile(outputFile, output); return testfilePath; }