/** * Base webpack config used across other specific configs */ import path from 'path'; import webpack from 'webpack'; import { dependencies as externals } from '../app/package.json'; export default { externals: [...Object.keys(externals || {}), 'bufferutil', 'utf-8-validate'], module: { rules: [ { test: /\.jsx?$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { cacheDirectory: true } } } ] }, output: { path: path.join(__dirname, '..', 'app'), // https://github.com/webpack/webpack/issues/1114 libraryTarget: 'commonjs2' }, /** * Determine the array of extensions that should be used to resolve modules. */ resolve: { extensions: ['.js', '.jsx', '.json'], modules: [path.join(__dirname, '..', 'app'), 'node_modules'], alias: { ws: path.resolve(path.join(__dirname, '..', 'node_modules/ws/index.js')) } }, plugins: [ new webpack.EnvironmentPlugin({ NODE_ENV: 'production' }), new webpack.NamedModulesPlugin() ] };