webpack.config.js 992 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. const path = require('path');
  2. const pkg = require('./package.json');
  3. const camelcase = require('camelcase');
  4. const process = require('process');
  5. const webpack = require('webpack');
  6. const env = process.env;
  7. const NODE_ENV = env.NODE_ENV;
  8. const MIN = env.MIN;
  9. const PROD = NODE_ENV === 'production';
  10. let config = {
  11. devtool: PROD ? false : 'inline-source-map',
  12. entry: './index.js',
  13. output: {
  14. path: path.join( __dirname ),
  15. filename: 'cose-base.js',
  16. library: camelcase( pkg.name ),
  17. libraryTarget: 'umd'
  18. },
  19. module: {
  20. rules: [
  21. { test: /\.js$/, exclude: /node_modules/, use: 'babel-loader' }
  22. ]
  23. },
  24. externals: PROD ? {
  25. 'layout-base': {
  26. commonjs2: 'layout-base',
  27. commonjs: 'layout-base',
  28. amd: 'layout-base',
  29. root: 'layoutBase'
  30. }
  31. } : {},
  32. plugins: MIN ? [
  33. new webpack.optimize.UglifyJsPlugin({
  34. compress: {
  35. warnings: false,
  36. drop_console: false,
  37. }
  38. })
  39. ] : []
  40. };
  41. module.exports = config;