Skip to content

Commit

Permalink
dryify webpackconfig logic
Browse files Browse the repository at this point in the history
  • Loading branch information
Donmclean committed Jul 26, 2017
1 parent cc8cc7c commit aa9e040
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 17 deletions.
9 changes: 9 additions & 0 deletions utils/functions.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import fs from 'fs';
import { includes, isEmpty, compact, forEach, find, eq, chain, reject, isNil, get } from 'lodash';
import immutable from 'immutable';
import webpack from 'webpack';
import chokidar from 'chokidar';
import Q from 'q';
import qfs from 'q-io/fs';
Expand Down Expand Up @@ -363,4 +364,12 @@ export const hotExecuteFlowTests = (customConfig) => {
under 'scripts'.`, 'red');
throw new Error('Invalid npm script command. see config.hotReloadingOptions.hotExecuteFlowTypeCommand in rikoconfig.js file');
}
};

export const setCustomConfigOptions = (customConfig, env) => {
return new immutable.Map().withMutations((customOptionsMap) => {
customOptionsMap.setIn(['module', 'rules'], immutable.fromJS([]));
customOptionsMap.set('plugins', immutable.fromJS([]));
customConfig.setWebpackConfigOptions(env, customOptionsMap, webpack, immutable);
});
};
25 changes: 8 additions & 17 deletions webpack.config.babel.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import customConfig from './utils/coreRikoConfig';
import { getDefaultConfigOptions } from './utils/webpackConfigUtils';
import { baseDir } from './utils/variables';
import { getStats, handleCustomAdditions } from './utils/functions';
import { getStats, handleCustomAdditions, setCustomConfigOptions } from './utils/functions';
import immutable from 'immutable';
import webpack from 'webpack';
import path from 'path';
import os from 'os';

Expand Down Expand Up @@ -51,13 +50,10 @@ const config = new immutable.Map().withMutations((configMap) => {
configMap.set('stats', getStats(process.env.NODE_ENV));

// Set Global Config Options
const globalCustomOptionsMap = new immutable.Map().withMutations((globalCustomOptionsMap) => {
globalCustomOptionsMap.setIn(['module', 'rules'], immutable.fromJS([]));
globalCustomOptionsMap.set('plugins', immutable.fromJS([]));
customConfig.setWebpackConfigOptions('global', globalCustomOptionsMap, webpack, immutable);
});
const globalCustomOptionsMap = setCustomConfigOptions(customConfig, 'global');

const globalDefaults = getDefaultConfigOptions('global', configMap);

handleCustomAdditions(configMap, globalCustomOptionsMap, globalDefaults.rules, globalDefaults.plugins);

switch (process.env.NODE_ENV) {
Expand All @@ -67,13 +63,10 @@ const config = new immutable.Map().withMutations((configMap) => {
configMap.set('bail', true);

// Set Production Config Options
const productionCustomOptionsMap = new immutable.Map().withMutations((productionCustomOptionsMap) => {
productionCustomOptionsMap.setIn(['module', 'rules'], immutable.fromJS([]));
productionCustomOptionsMap.set('plugins', immutable.fromJS([]));
customConfig.setWebpackConfigOptions('production', productionCustomOptionsMap, webpack, immutable);
});
const productionCustomOptionsMap = setCustomConfigOptions(customConfig, 'production');

const productionDefaults = getDefaultConfigOptions('production', configMap);

handleCustomAdditions(configMap, productionCustomOptionsMap, productionDefaults.rules, productionDefaults.plugins);

break;
Expand All @@ -95,14 +88,12 @@ const config = new immutable.Map().withMutations((configMap) => {
}));

// Set Development Config Options
const developmentCustomOptionsMap = new immutable.Map().withMutations((developmentCustomOptionsMap) => {
developmentCustomOptionsMap.setIn(['module', 'rules'], immutable.fromJS([]));
developmentCustomOptionsMap.set('plugins', immutable.fromJS([]));
customConfig.setWebpackConfigOptions('development', developmentCustomOptionsMap, webpack, immutable);
});
const developmentCustomOptionsMap = setCustomConfigOptions(customConfig, 'development');

const developmentDefaults = getDefaultConfigOptions('development', configMap);

handleCustomAdditions(configMap, developmentCustomOptionsMap, developmentDefaults.rules, developmentDefaults.plugins);

break;
}
default: {
Expand Down

0 comments on commit aa9e040

Please sign in to comment.