index.js
function bemRequireLoader(source) {
  const bemFs = nodeEval(source);

  const targets = [];
  const self = this;
  bemFs.forEach((source) => {
    if (source['raw']) {
      targets.push(source['raw']);
    } else if (source['require']) {
      const modulePath = path.resolve(source['require']);
      self.addDependency(modulePath);
      const request = loaderUtils.stringifyRequest(self, modulePath);
      targets.push('require(' + request + ');');
    } else {
      return Error('Wrong input: ' + JSON.stringify(source));
    }
  });

  return targets.join('\n');
}
function bemRequireLoader(source) {
  const bemFs = nodeEval(source);

  const targets = [];
  const self = this;
  bemFs.forEach((source) => {
    if (source['raw']) {
      targets.push(source['raw']);
    } else if (source['require']) {
      const modulePath = path.resolve(source['require']);
      self.addDependency(modulePath);
      const request = loaderUtils.stringifyRequest(self, modulePath);
      targets.push('require(' + request + ');');
    } else {
      return Error('Wrong input: ' + JSON.stringify(source));
    }
  });

  return targets.join('\n');
}
BemBH loader

@param {String} source
@return {String}