UNPKG

react-tether

Version:
67 lines (62 loc) 1.37 kB
var path = require('path'); var webpack = require('webpack'); var banner = require('./webpack.banner'); var TARGET = process.env.TARGET || null; var externals = { 'react': { root: 'React', commonjs2: 'react', commonjs: 'react', amd: 'react' }, 'react-dom': { root: 'ReactDOM', commonjs2: 'react-dom', commonjs: 'react-dom', amd: 'react-dom' }, 'tether': { root: 'Tether', commonjs2: 'tether', commonjs: 'tether', amd: 'tether' } }; var config = { entry: { index: './src/react-tether.js', }, output: { path: path.join(__dirname, 'dist'), publicPath: 'dist/', filename: 'react-tether.js', sourceMapFilename: 'react-tether.sourcemap.js', library: 'TetherComponent', libraryTarget: 'umd' }, module: { loaders: [ { test: /\.(js|jsx)/, loader: 'babel-loader' } ] }, plugins: [ new webpack.BannerPlugin(banner) ], resolve: { extensions: ['', '.js', '.jsx'] }, externals: externals }; if (TARGET === 'minify') { config.output.filename = 'react-tether.min.js'; config.output.sourceMapFilename = 'react-tether.min.js'; config.plugins.push(new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, mangle: { except: ['React', 'ReactDOM', 'Tether', 'TetherComponent'] } })); } module.exports = config;