flow-up
Version:
Easily add flowtype to your codebase
56 lines (37 loc) • 1.54 kB
JavaScript
;
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);
}