UNPKG

flow-up

Version:

Easily add flowtype to your codebase

56 lines (37 loc) 1.54 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.writeFlowPragma = writeFlowPragma; exports.writeFlowconfig = writeFlowconfig; var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _globby = require('globby'); var _globby2 = _interopRequireDefault(_globby); var _flowConfigWriter = require('./flow-config-writer'); var _flowConfigWriter2 = _interopRequireDefault(_flowConfigWriter); var _fs3 = require('./util/fs'); var _helpers = require('./helpers'); var _defaults = require('./defaults'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const cwd = process.cwd(); const GLOBBY_OPTIONS = { dot: true, nodir: true }; function writeFlowPragma(filepatterns) { const filePaths = _globby2.default.sync(filepatterns, GLOBBY_OPTIONS).map(filePath => _path2.default.resolve(cwd, filePath)); if (filePaths.length === 0) { throw new Error('No matching files for the patterns provided'); } filePaths.forEach(function (file) { const content = (0, _fs3.readFile)(file, 'utf8'); if (!(0, _helpers.hasFlowPragma)(content)) { const contentWithFlowPragma = (0, _helpers.addFlowPragma)(content); (0, _fs3.writeFile)(file, contentWithFlowPragma); } }); } function writeFlowconfig(config) { const configFilePath = _path2.default.resolve(cwd, '.flowconfig'); (0, _flowConfigWriter2.default)(config.flow, configFilePath); }