X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fconfig%2Fwebpack.common.js;h=acf22dab195f4adc4e78e0e02c6a2d16b9992457;hb=26c6ee80d0fecfce595e8970f15717560b4f4ceb;hp=7392c58d395ae026cef5ab756707621688c46517;hpb=04de542abd940f9d2ca213fba3c68580c6c9b78a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/config/webpack.common.js b/client/config/webpack.common.js index 7392c58d3..acf22dab1 100644 --- a/client/config/webpack.common.js +++ b/client/config/webpack.common.js @@ -5,13 +5,13 @@ const helpers = require('./helpers') */ const AssetsPlugin = require('assets-webpack-plugin') -const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin const ContextReplacementPlugin = require('webpack/lib/ContextReplacementPlugin') const CommonsChunkPlugin = require('webpack/lib/optimize/CommonsChunkPlugin') const CheckerPlugin = require('awesome-typescript-loader').CheckerPlugin const HtmlWebpackPlugin = require('html-webpack-plugin') const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin') const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin') +const InlineManifestWebpackPlugin = require('inline-manifest-webpack-plugin') const ngcWebpack = require('ngc-webpack') const WebpackNotifierPlugin = require('webpack-notifier') @@ -146,14 +146,15 @@ module.exports = function (options) { loader: 'sass-resources-loader', options: { resources: [ - helpers.root('src/sass/_variables.scss') + helpers.root('src/sass/_variables.scss'), + helpers.root('src/sass/_mixins.scss') ] } } ] }, { test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, use: 'url-loader?limit=10000&minetype=application/font-woff' }, - { test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, use: 'file-loader' }, + { test: /\.(otf|ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, use: 'url-loader?limit=10000' }, /* Raw loader support for *.html * Returns file content as string @@ -217,7 +218,9 @@ module.exports = function (options) { new CommonsChunkPlugin({ name: 'vendor', chunks: ['main'], - minChunks: module => /node_modules\//.test(module.resource) + minChunks: module => { + return /node_modules\//.test(module.resource) + } }), // Specify the correct order the scripts will be injected in @@ -245,20 +248,6 @@ module.exports = function (options) { } ), - /* - * Plugin: ScriptExtHtmlWebpackPlugin - * Description: Enhances html-webpack-plugin functionality - * with different deployment options for your scripts including: - * - * See: https://github.com/numical/script-ext-html-webpack-plugin - */ - new ScriptExtHtmlWebpackPlugin({ - sync: [ /polyfill|vendor/ ], - defaultAttribute: 'async', - preload: [/polyfill|vendor|main/], - prefetch: [/chunk/] - }), - /* * Plugin: HtmlWebpackPlugin * Description: Simplifies creation of HTML files to serve your webpack bundles. @@ -278,6 +267,20 @@ module.exports = function (options) { inject: 'body' }), + /* + * Plugin: ScriptExtHtmlWebpackPlugin + * Description: Enhances html-webpack-plugin functionality + * with different deployment options for your scripts including: + * + * See: https://github.com/numical/script-ext-html-webpack-plugin + */ + new ScriptExtHtmlWebpackPlugin({ + sync: [ /polyfill|vendor/ ], + defaultAttribute: 'async', + preload: [/polyfill|vendor|main/], + prefetch: [/chunk/] + }), + new WebpackNotifierPlugin({ alwaysNotify: true }), /** @@ -299,29 +302,7 @@ module.exports = function (options) { tsConfig: helpers.root('tsconfig.webpack.json') }), - new BundleAnalyzerPlugin({ - // Can be `server`, `static` or `disabled`. - // In `server` mode analyzer will start HTTP server to show bundle report. - // In `static` mode single HTML file with bundle report will be generated. - // In `disabled` mode you can use this plugin to just generate Webpack Stats JSON file by setting `generateStatsFile` to `true`. - analyzerMode: 'static', - // Path to bundle report file that will be generated in `static` mode. - // Relative to bundles output directory. - reportFilename: 'report.html', - // Automatically open report in default browser - openAnalyzer: false, - // If `true`, Webpack Stats JSON file will be generated in bundles output directory - generateStatsFile: true, - // Name of Webpack Stats JSON file that will be generated if `generateStatsFile` is `true`. - // Relative to bundles output directory. - statsFilename: 'stats.json', - // Options for `stats.toJson()` method. - // For example you can exclude sources of your modules from stats file with `source: false` option. - // See more options here: https://github.com/webpack/webpack/blob/webpack-1/lib/Stats.js#L21 - statsOptions: null, - // Log level. Can be 'info', 'warn', 'error' or 'silent'. - logLevel: 'info' - }) + new InlineManifestWebpackPlugin() ], /*