UNPKG

lore

Version:

Convention-driven framework for building React-Redux applications

63 lines (48 loc) 1.73 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _webpackRequiredir = require('webpack-requiredir'); var _webpackRequiredir2 = _interopRequireDefault(_webpackRequiredir); var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // 'config/*' /* global __LORE_ROOT__ */ function loadOtherConfigFiles() { var context = require.context(__LORE_ROOT__ + '/config', true, /\.js$/); var config = (0, _webpackRequiredir2.default)(context, { exclude: ['local.js'] }); return _lodash2.default.omit(config, 'env'); } // 'config/local' function loadLocalOverrideFile() { var context = require.context(__LORE_ROOT__ + '/config', false, /local.js$/); var dictionary = (0, _webpackRequiredir2.default)(context, { // options }); return dictionary.local || {}; } // 'config/env/*' function loadEnvConfigFile(env) { var context = require.context(__LORE_ROOT__ + '/config/env', false, /\.js$/); var dictionary = (0, _webpackRequiredir2.default)(context, { // options }); return dictionary[env] || {}; } exports.default = { load: function load(env) { // Load all the config files we need to combine var configs = { 'config/*': loadOtherConfigFiles(), 'config/local': loadLocalOverrideFile(), 'config/env/*': loadEnvConfigFile(env) }; // Merge the configs, with env/*.js files taking precedence over others, and local.js // taking precedence over everything return _lodash2.default.merge(configs['config/*'], configs['config/env/*'], configs['config/local']); } }; module.exports = exports['default'];