john-test-upgrade
Version:
Upgrade tool for Babel
73 lines (57 loc) • 2.49 kB
JavaScript
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; }
var path = require('path');
var _require = require('.'),
isAcceptedNodeVersion = _require.isAcceptedNodeVersion,
writePackageJSON = _require.writePackageJSON,
writeBabelRC = _require.writeBabelRC,
writeMochaOpts = _require.writeMochaOpts,
installDeps = _require.installDeps;
var globby = require('globby');
var cwd = process.cwd();
if (!isAcceptedNodeVersion()) {
throw new Error("Babel 7 will only support Node 4 and higher");
} // TOOD: allow passing a specific path
_asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {
var paths, packages, mochaOpts;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return globby(['**/.babelrc', '!./node_modules/**']);
case 2:
paths = _context.sent;
_context.next = 5;
return globby(['**/package.json', '!./node_modules/**']);
case 5:
packages = _context.sent;
_context.next = 8;
return globby(['**/mocha.opts', '!./node_modules/**']);
case 8:
mochaOpts = _context.sent;
// if not a monorepo
if (packages.length === 1) {
if (paths.length > 1) {
console.log("We suggest using the new 'overrides' option instead of nested .babelrc's, can check out http://new.babeljs.io/docs/en/next/babelrc.html#overrides");
console.log("");
}
paths.forEach(function (p) {
return writeBabelRC(p);
});
}
mochaOpts.forEach(function (p) {
return writeMochaOpts(p);
}); // TOOD: allow passing a specific path
_context.next = 13;
return writePackageJSON();
case 13:
installDeps(cwd);
case 14:
case "end":
return _context.stop();
}
}
}, _callee, this);
}))();