51 lines
1.4 KiB
JavaScript
Executable File
51 lines
1.4 KiB
JavaScript
Executable File
'use strict';
|
|
|
|
var webpack = require('webpack');
|
|
var fs = require('fs');
|
|
var Config = require('./hosting_config');
|
|
var banner = fs.readFileSync('./src/core/pusher-licence.js', 'utf8');
|
|
banner = banner.replace('<VERSION>', Config.version);
|
|
|
|
var minimize = process.env.MINIMIZE === 'false' ? false : true;
|
|
|
|
module.exports = {
|
|
mode: process.env.MODE || 'production',
|
|
optimization: {
|
|
minimize: minimize
|
|
},
|
|
entry: {
|
|
pusher: './src/core/pusher.js'
|
|
},
|
|
devtool: 'source-map',
|
|
resolve: {
|
|
extensions: ['.webpack.js', '.web.js', '.ts', '.js'],
|
|
// add runtimes for easier importing of isomorphic runtime modules
|
|
modules: ['src', 'src/runtimes', 'node_modules']
|
|
},
|
|
module: {
|
|
rules: [
|
|
{ test: /\.ts$/, loader: 'ts-loader' },
|
|
{
|
|
test: /\.js$/,
|
|
enforce: 'pre',
|
|
use: ['source-map-loader']
|
|
}
|
|
]
|
|
},
|
|
node: {
|
|
// nacl uses Buffer on node.js but has a different code path for the browser.
|
|
// We don't need webpack to include a Buffer polyfill when seeing the usage,
|
|
// as it won't be used.
|
|
Buffer: false
|
|
},
|
|
plugins: [
|
|
new webpack.BannerPlugin({ banner: banner, raw: true }),
|
|
new webpack.DefinePlugin({
|
|
VERSION: JSON.stringify(Config.version),
|
|
CDN_HTTP: JSON.stringify(Config.cdn_http),
|
|
CDN_HTTPS: JSON.stringify(Config.cdn_https),
|
|
DEPENDENCY_SUFFIX: JSON.stringify(Config.dependency_suffix)
|
|
})
|
|
]
|
|
};
|