X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fconfig%2Fwebpack.prod.js;h=c27a4f4b03e46599a4526a49d4659d3d8ff0cf93;hb=294f80f21e8a77d25f6fb5f0f26887fb4618ee2e;hp=51b8a8855202bc8fccdc2a8b05f8b0f40e183ae7;hpb=9bce75925eb972f7a49c25250e636b7b76734475;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/config/webpack.prod.js b/client/config/webpack.prod.js index 51b8a8855..c27a4f4b0 100644 --- a/client/config/webpack.prod.js +++ b/client/config/webpack.prod.js @@ -12,8 +12,9 @@ const commonConfig = require('./webpack.common.js') // the settings that are com const DefinePlugin = require('webpack/lib/DefinePlugin') const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin') const NormalModuleReplacementPlugin = require('webpack/lib/NormalModuleReplacementPlugin') +const OptimizeJsPlugin = require('optimize-js-plugin') const UglifyJsPlugin = require('webpack/lib/optimize/UglifyJsPlugin') -const WebpackMd5Hash = require('webpack-md5-hash') +const HashedModuleIdsPlugin = require('webpack/lib/HashedModuleIdsPlugin') /** * Webpack Constants @@ -25,7 +26,8 @@ const METADATA = webpackMerge(commonConfig({env: ENV}).metadata, { host: HOST, port: PORT, ENV: ENV, - HMR: false + HMR: false, + API_URL: '' }) module.exports = function (env) { @@ -66,7 +68,7 @@ module.exports = function (env) { * * See: http://webpack.github.io/docs/configuration.html#output-sourcemapfilename */ - sourceMapFilename: '[name].[chunkhash].bundle.map', + sourceMapFilename: '[file].map', /** * The filename of non-entry chunks as relative path @@ -74,15 +76,11 @@ module.exports = function (env) { * * See: http://webpack.github.io/docs/configuration.html#output-chunkfilename */ - chunkFilename: '[id].[chunkhash].chunk.js', + chunkFilename: '[name].[chunkhash].chunk.js', publicPath: '/client/' }, - externals: { - webtorrent: 'WebTorrent' - }, - /** * Add additional plugins to the compiler. * @@ -91,12 +89,15 @@ module.exports = function (env) { plugins: [ /** - * Plugin: WebpackMd5Hash - * Description: Plugin to replace a standard webpack chunkhash with md5. + * Webpack plugin to optimize a JavaScript file for faster initial load + * by wrapping eagerly-invoked functions. * - * See: https://www.npmjs.com/package/webpack-md5-hash + * See: https://github.com/vigneshshanmugam/optimize-js-plugin */ - new WebpackMd5Hash(), + + new OptimizeJsPlugin({ + sourceMap: false + }), /** * Plugin: DedupePlugin @@ -121,6 +122,7 @@ module.exports = function (env) { new DefinePlugin({ 'ENV': JSON.stringify(METADATA.ENV), 'HMR': METADATA.HMR, + 'API_URL': JSON.stringify(METADATA.API_URL), 'process.env': { 'ENV': JSON.stringify(METADATA.ENV), 'NODE_ENV': JSON.stringify(METADATA.ENV), @@ -182,35 +184,7 @@ module.exports = function (env) { helpers.root('config/empty.js') ), - // AoT - // new NormalModuleReplacementPlugin( - // /@angular(\\|\/)upgrade/, - // helpers.root('config/empty.js') - // ), - // new NormalModuleReplacementPlugin( - // /@angular(\\|\/)compiler/, - // helpers.root('config/empty.js') - // ), - // new NormalModuleReplacementPlugin( - // /@angular(\\|\/)platform-browser-dynamic/, - // helpers.root('config/empty.js') - // ), - // new NormalModuleReplacementPlugin( - // /dom(\\|\/)debug(\\|\/)ng_probe/, - // helpers.root('config/empty.js') - // ), - // new NormalModuleReplacementPlugin( - // /dom(\\|\/)debug(\\|\/)by/, - // helpers.root('config/empty.js') - // ), - // new NormalModuleReplacementPlugin( - // /src(\\|\/)debug(\\|\/)debug_node/, - // helpers.root('config/empty.js') - // ), - // new NormalModuleReplacementPlugin( - // /src(\\|\/)debug(\\|\/)debug_renderer/, - // helpers.root('config/empty.js') - // ), + new HashedModuleIdsPlugin(), /** * Plugin: IgnorePlugin @@ -240,6 +214,7 @@ module.exports = function (env) { * See: https://gist.github.com/sokra/27b24881210b56bbaff7 */ new LoaderOptionsPlugin({ + minimize: true, debug: false, options: { @@ -293,6 +268,7 @@ module.exports = function (env) { node: { global: true, crypto: 'empty', + fs: 'empty', process: false, module: false, clearImmediate: false,