UNPKG

pusher-js

Version:

Pusher Channels JavaScript library for browsers, React Native, NodeJS and web workers

51 lines (47 loc) 1.42 kB
'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) }) ] };