UNPKG

1.29 kBJavaScriptView Raw
1'use strict';
2
3var webpack = require('webpack');
4var fs = require('fs');
5var Config = require('./hosting_config');
6var banner = fs.readFileSync('./src/core/pusher-licence.js', 'utf8');
7banner = banner.replace('<VERSION>', Config.version);
8
9var minimize = process.env.MINIMIZE === 'false' ? false : true;
10
11module.exports = {
12 mode: process.env.MODE || 'production',
13 optimization: {
14 minimize: minimize
15 },
16 entry: {
17 pusher: './src/core/pusher.js'
18 },
19 resolve: {
20 extensions: ['.webpack.js', '.web.js', '.ts', '.js'],
21 // add runtimes for easier importing of isomorphic runtime modules
22 modules: ['src', 'src/runtimes', 'node_modules']
23 },
24 module: {
25 rules: [{ test: /\.ts$/, loader: 'ts-loader' }]
26 },
27 node: {
28 // nacl uses Buffer on node.js but has a different code path for the browser.
29 // We don't need webpack to include a Buffer polyfill when seeing the usage,
30 // as it won't be used.
31 Buffer: false
32 },
33 plugins: [
34 new webpack.BannerPlugin({ banner: banner, raw: true }),
35 new webpack.DefinePlugin({
36 VERSION: JSON.stringify(Config.version),
37 CDN_HTTP: JSON.stringify(Config.cdn_http),
38 CDN_HTTPS: JSON.stringify(Config.cdn_https),
39 DEPENDENCY_SUFFIX: JSON.stringify(Config.dependency_suffix)
40 })
41 ]
42};