text: /* global __dirname, require, module */
  
  const webpack = require('webpack');
  const path = require('path');
  const yargs = require('yargs');
  
  const { env } = yargs.argv;
  const { UglifyJsPlugin } = webpack.optimize;
  
  const libraryName = 'mobx-keeper';
  const plugins = [];
  let outputFile = '';
  
  if (env === 'build') {
    plugins.push(new UglifyJsPlugin({ minimize: true }));
    outputFile = libraryName + '.min.js';
  } else {
    outputFile = libraryName + '.js';
  }
  
  const config = {
    entry: __dirname + '/src/index.js',
    devtool: 'source-map',
    output: {
      path: __dirname + '/lib',
      filename: outputFile,
      library: libraryName,
      libraryTarget: 'umd',
      umdNamedDefine: true,
    },
    externals: {
      mobx: 'mobx'
    },
    module: {
      rules: [
        {
          test: /(\.jsx|\.js)$/,
          loader: 'babel-loader',
          exclude: /(node_modules|bower_components)/
        },
      ]
    },
    resolve: {
      modules: [path.resolve('./node_modules'), path.resolve('./src')],
      extensions: ['.json', '.js']
    },
    plugins: plugins,
  };
  
  module.exports = config;
  