62 lines
1.2 KiB
JavaScript
62 lines
1.2 KiB
JavaScript
![]() |
var path = require('path')
|
||
![]() |
var pack = require('../package.json')
|
||
|
var webpack = require('webpack')
|
||
![]() |
var BundleAnalyzerPlugin = require('webpack-bundle-analyzer')
|
||
|
.BundleAnalyzerPlugin
|
||
![]() |
|
||
![]() |
var PROD = process.env.NODE_ENV === 'production'
|
||
|
var TEST = process.env.NODE_ENV === 'test'
|
||
![]() |
|
||
![]() |
var config = {
|
||
![]() |
entry: path.resolve('src/index.js'),
|
||
|
output: {
|
||
![]() |
path: path.resolve('spec'),
|
||
|
filename: 'bundle.js',
|
||
![]() |
library: 'EmojiMart',
|
||
![]() |
libraryTarget: 'umd',
|
||
|
},
|
||
|
|
||
![]() |
externals: [],
|
||
![]() |
|
||
|
module: {
|
||
![]() |
rules: [
|
||
![]() |
{
|
||
|
test: /\.js$/,
|
||
![]() |
use: 'babel-loader',
|
||
![]() |
include: [path.resolve('src'), path.resolve('spec')],
|
||
![]() |
},
|
||
![]() |
],
|
||
|
},
|
||
|
|
||
|
resolve: {
|
||
![]() |
extensions: ['.js'],
|
||
![]() |
},
|
||
|
|
||
![]() |
plugins: [
|
||
|
new webpack.DefinePlugin({
|
||
|
EMOJI_DATASOURCE_VERSION: `'${pack.devDependencies['emoji-datasource']}'`,
|
||
|
}),
|
||
|
],
|
||
|
|
||
![]() |
bail: true,
|
||
|
}
|
||
![]() |
|
||
|
if (!TEST) {
|
||
|
config.externals = config.externals.concat([
|
||
|
{
|
||
![]() |
react: {
|
||
![]() |
root: 'React',
|
||
|
commonjs2: 'react',
|
||
|
commonjs: 'react',
|
||
|
amd: 'react',
|
||
|
},
|
||
|
},
|
||
|
])
|
||
|
|
||
|
config.plugins = config.plugins.concat([
|
||
|
new BundleAnalyzerPlugin({ analyzerMode: 'static', openAnalyzer: false }),
|
||
|
])
|
||
|
}
|
||
|
|
||
|
module.exports = config
|