react-causality-redux
Version:
Causality based extension of react-redux
87 lines (77 loc) • 1.89 kB
JavaScript
// webpack.config.js
const path = require('path')
const ClosureCompilerPlugin = require('webpack-closure-compiler')
const theModule = {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['es2015', 'react']
}
}
]
}
const sourceTemplate = 'react-causality-redux'
const source = `${sourceTemplate}.js`
const minFileName = `${sourceTemplate}.min.js`
const externals = {
'causality-redux': 'CausalityRedux',
'react-redux': 'ReactRedux',
'react': 'React',
'react-dom': 'ReactDOM',
'redux': 'Redux'
}
const externalsLib = {
'causality-redux': 'causality-redux',
'react-redux': 'react-redux',
'react': 'react',
'react-dom': 'react-dom',
'redux': 'redux'
}
const configDistCausalityReduxReact = {
entry: path.join(__dirname, `src/${source}`),
output: {
path: path.join(__dirname, 'dist'),
filename: source
},
externals: externals,
module: theModule
}
const configLibCausalityReduxReact = {
entry: path.join(__dirname, `src/${source}`),
output: {
path: path.join(__dirname, 'lib'),
filename: source,
libraryTarget: 'commonjs2'
},
externals: externalsLib,
module: theModule
}
const configDistCausalityReduxReactMin = {
entry: path.join(__dirname, `dist/${source}`),
output: {
path: path.join(__dirname, 'dist'),
filename: minFileName
},
plugins: [
new ClosureCompilerPlugin({
compiler: {
language_in: 'ECMASCRIPT5',
language_out: 'ECMASCRIPT5',
compilation_level: 'SIMPLE'
}
})
]
}
if (process.env.NODE_ENV !== 'min') {
module.exports = [
configDistCausalityReduxReact,
configLibCausalityReduxReact
]
} else {
module.exports = [
configDistCausalityReduxReactMin
]
}