has-config.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. "use strict";
  2. exports.__esModule = true;
  3. var _regenerator = require("babel-runtime/regenerator");
  4. var _regenerator2 = _interopRequireDefault(_regenerator);
  5. var _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator");
  6. var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
  7. var _path = require("path");
  8. var _path2 = _interopRequireDefault(_path);
  9. var _fs = require("fs");
  10. var _fs2 = _interopRequireDefault(_fs);
  11. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  12. exports.default = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {
  13. var cwd, parts, loc, babelrc, packagejson, pkg;
  14. return _regenerator2.default.wrap(function _callee$(_context) {
  15. while (1) {
  16. switch (_context.prev = _context.next) {
  17. case 0:
  18. cwd = process.cwd();
  19. parts = cwd.split(_path2.default.sep);
  20. case 2:
  21. loc = parts.join(_path2.default.sep);
  22. if (loc) {
  23. _context.next = 5;
  24. break;
  25. }
  26. return _context.abrupt("break", 15);
  27. case 5:
  28. babelrc = _path2.default.join(loc, ".babelrc");
  29. if (!_fs2.default.existsSync(babelrc)) {
  30. _context.next = 8;
  31. break;
  32. }
  33. return _context.abrupt("return", [true, "Found config at " + babelrc]);
  34. case 8:
  35. packagejson = _path2.default.join(loc, "package.json");
  36. if (!_fs2.default.existsSync(packagejson)) {
  37. _context.next = 13;
  38. break;
  39. }
  40. pkg = require(packagejson);
  41. if (!pkg.babel) {
  42. _context.next = 13;
  43. break;
  44. }
  45. return _context.abrupt("return", [true, "Found config at " + packagejson]);
  46. case 13:
  47. parts.pop();
  48. case 14:
  49. if (parts.length) {
  50. _context.next = 2;
  51. break;
  52. }
  53. case 15:
  54. return _context.abrupt("return", [false, "Found no .babelrc config"]);
  55. case 16:
  56. case "end":
  57. return _context.stop();
  58. }
  59. }
  60. }, _callee, this);
  61. }));
  62. module.exports = exports["default"];