"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.BitCustomAspectMain = void 0;
function _aspect() {
  const data = _interopRequireDefault(require("@teambit/aspect"));
  _aspect = function () {
    return data;
  };
  return data;
}
function _cli() {
  const data = require("@teambit/cli");
  _cli = function () {
    return data;
  };
  return data;
}
function _envs() {
  const data = _interopRequireDefault(require("@teambit/envs"));
  _envs = function () {
    return data;
  };
  return data;
}
function _mocha() {
  const data = _interopRequireDefault(require("@teambit/mocha"));
  _mocha = function () {
    return data;
  };
  return data;
}
function _bitCustomAspect() {
  const data = require("./bit-custom-aspect.aspect");
  _bitCustomAspect = function () {
    return data;
  };
  return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
class BitCustomAspectMain {
  static async provider([envs, aspect, mocha]) {
    const tester = mocha.createTester({}, aspect.babelConfig);
    const testerOverride = envs.override({
      getTester: () => tester
    });
    const depsOverride = aspect.overrideDependencies({
      devDependencies: {
        chai: '4.3.0'
      }
    });
    const bitCustomAspect = aspect.compose([testerOverride, depsOverride]);
    envs.registerEnv(bitCustomAspect);
    return new BitCustomAspectMain();
  }
}
exports.BitCustomAspectMain = BitCustomAspectMain;
_defineProperty(BitCustomAspectMain, "slots", []);
_defineProperty(BitCustomAspectMain, "dependencies", [_envs().default, _aspect().default, _mocha().default]);
_defineProperty(BitCustomAspectMain, "runtime", _cli().MainRuntime);
_bitCustomAspect().BitCustomAspectAspect.addRuntime(BitCustomAspectMain);

//# sourceMappingURL=bit-custom-aspect.main.runtime.js.map