40 lines
914 B
JavaScript
40 lines
914 B
JavaScript
const path = require('path');
|
|
const pkg = require('./package.json');
|
|
const camelcase = require('camelcase');
|
|
const process = require('process');
|
|
const webpack = require('webpack');
|
|
const env = process.env;
|
|
const NODE_ENV = env.NODE_ENV;
|
|
const MIN = env.MIN;
|
|
const PROD = NODE_ENV === 'production';
|
|
|
|
let config = {
|
|
devtool: PROD ? false : 'inline-source-map',
|
|
entry: './src/index.js',
|
|
output: {
|
|
path: path.join( __dirname ),
|
|
filename: pkg.name + '.js',
|
|
library: camelcase( pkg.name ),
|
|
libraryTarget: 'umd',
|
|
globalObject: 'this'
|
|
},
|
|
module: {
|
|
rules: [
|
|
{ test: /\.js$/, exclude: /node_modules/, use: 'babel-loader' }
|
|
]
|
|
},
|
|
optimization: {
|
|
minimize: MIN ? true : false,
|
|
},
|
|
externals: PROD ? {
|
|
'cose-base': {
|
|
commonjs2: 'cose-base',
|
|
commonjs: 'cose-base',
|
|
amd: 'cose-base',
|
|
root: 'coseBase'
|
|
}
|
|
} : {}
|
|
};
|
|
|
|
module.exports = config;
|