Sha256: f1a7d69b13e461b7f5d7dd592ed3bc56bbff66ea882c90656d61ed45932cbca3

Contents?: true

Size: 1.85 KB

Versions: 3

Compression:

Stored size: 1.85 KB

Contents

"use strict";

exports.__esModule = true;

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

var _stripJsonComments = require("strip-json-comments");

var _stripJsonComments2 = _interopRequireDefault(_stripJsonComments);

var _index = require("./index");

var _helpersMerge = require("../../../helpers/merge");

var _helpersMerge2 = _interopRequireDefault(_helpersMerge);

var _path = require("path");

var _path2 = _interopRequireDefault(_path);

var _fs = require("fs");

var _fs2 = _interopRequireDefault(_fs);

var cache = {};
var jsons = {};

function exists(filename) {
  if (!_fs2["default"].existsSync) return false;

  var cached = cache[filename];
  if (cached != null) return cached;
  return cache[filename] = _fs2["default"].existsSync(filename);
}

exports["default"] = function (loc) {
  var opts = arguments[1] === undefined ? {} : arguments[1];

  var rel = ".babelrc";

  if (!opts.babelrc) {
    opts.babelrc = [];
  }

  function find(start, rel) {
    var file = _path2["default"].join(start, rel);

    if (opts.babelrc.indexOf(file) >= 0) {
      return;
    }

    if (exists(file)) {
      var content = _fs2["default"].readFileSync(file, "utf8");
      var json;

      try {
        json = jsons[content] = jsons[content] || JSON.parse((0, _stripJsonComments2["default"])(content));
        (0, _index.normaliseOptions)(json);
      } catch (err) {
        err.message = "" + file + ": " + err.message;
        throw err;
      }

      opts.babelrc.push(file);

      if (json.breakConfig) return;

      (0, _helpersMerge2["default"])(opts, json);
    }

    var up = _path2["default"].dirname(start);
    if (up !== start) {
      // root
      find(up, rel);
    }
  }

  if (opts.babelrc.indexOf(loc) < 0 && opts.breakConfig !== true) {
    find(loc, rel);
  }

  return opts;
};

module.exports = exports["default"];

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gulp_assets-1.0.0.pre.5 template/node_modules/babel-core/lib/babel/transformation/file/options/resolve-rc.js
gulp_assets-1.0.0.pre.4 template/node_modules/babel-core/lib/babel/transformation/file/options/resolve-rc.js
gulp_assets-1.0.0.pre.3 template/node_modules/babel-core/lib/babel/transformation/file/options/resolve-rc.js