All files / config config.js

40% Statements 10/25
28.57% Branches 4/14
100% Functions 1/1
40% Lines 10/25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53                              3x 3x 18x 18x 18x   18x       18x 18x 18x                                             18x    
/**
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
'use strict';
 
var fs = require('fs');
module.exports = function() {
  var defaultConfig = require('./default-config.js')();
  try {
    var extendedConfig = require('./extended-config.js')();
  } catch (err) {
    Iif (err.code !== 'ENOENT' && err.code !== 'MODULE_NOT_FOUND') {
      console.error(err);
    }
  }
  var moduleConfig = {};
  var userConfig = {};
  Iif (__dirname !== process.cwd() + '/config') {
    var parentModule = module.parent;
    while (parentModule.id.match(/node_modules\/auth_core\//)) {
      parentModule = parentModule.parent;
    }
    var module_path = parentModule.id.match(/(.*)(node_modules\/(\w+))/g);
    try {
      fs.statSync(module_path + '/config/config.js');
      moduleConfig = require(module_path + '/config/config.js')().auth_core;
    } catch (err) {
      if (err.code !== 'ENOENT' && err.code !== 'MODULE_NOT_FOUND') {
        console.error(err);
      }
    }
    try {
      fs.statSync(process.cwd() + '/config/config.js');
      userConfig = require(process.cwd() + '/config/config.js')().auth_core;
    } catch (err) {
      if (err.code !== 'ENOENT' && err.code !== 'MODULE_NOT_FOUND') {
        console.error(err);
      }
    }
  }
  return Object.assign(defaultConfig, extendedConfig, moduleConfig, userConfig);
};