diff options
Diffstat (limited to 'client/webpack')
-rw-r--r-- | client/webpack/webpack.video-embed.js | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/client/webpack/webpack.video-embed.js b/client/webpack/webpack.video-embed.js index 7de63adfc..68749a02a 100644 --- a/client/webpack/webpack.video-embed.js +++ b/client/webpack/webpack.video-embed.js | |||
@@ -4,6 +4,7 @@ const path = require('path') | |||
4 | const HtmlWebpackPlugin = require('html-webpack-plugin') | 4 | const HtmlWebpackPlugin = require('html-webpack-plugin') |
5 | const TerserPlugin = require('terser-webpack-plugin') | 5 | const TerserPlugin = require('terser-webpack-plugin') |
6 | const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin') | 6 | const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin') |
7 | const ProvidePlugin = require('webpack/lib/ProvidePlugin') | ||
7 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') | 8 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') |
8 | 9 | ||
9 | module.exports = function () { | 10 | module.exports = function () { |
@@ -29,6 +30,15 @@ module.exports = function () { | |||
29 | '@root-helpers': path.resolve('src/root-helpers'), | 30 | '@root-helpers': path.resolve('src/root-helpers'), |
30 | '@shared/models': path.resolve('../shared/models'), | 31 | '@shared/models': path.resolve('../shared/models'), |
31 | '@shared/core-utils': path.resolve('../shared/core-utils') | 32 | '@shared/core-utils': path.resolve('../shared/core-utils') |
33 | }, | ||
34 | |||
35 | fallback: { | ||
36 | fs: [ path.resolve('src/shims/noop.ts') ], | ||
37 | http: [ path.resolve('src/shims/http.ts') ], | ||
38 | https: [ path.resolve('src/shims/https.ts') ], | ||
39 | path: [ path.resolve('src/shims/path.ts') ], | ||
40 | stream: [ path.resolve('src/shims/noop.ts') ], | ||
41 | crypto: [ path.resolve('src/shims/noop.ts') ] | ||
32 | } | 42 | } |
33 | }, | 43 | }, |
34 | 44 | ||
@@ -37,13 +47,13 @@ module.exports = function () { | |||
37 | 47 | ||
38 | filename: process.env.ANALYZE_BUNDLE === 'true' | 48 | filename: process.env.ANALYZE_BUNDLE === 'true' |
39 | ? '[name].bundle.js' | 49 | ? '[name].bundle.js' |
40 | : '[name].[hash].bundle.js', | 50 | : '[name].[contenthash].bundle.js', |
41 | 51 | ||
42 | sourceMapFilename: '[file].map', | 52 | sourceMapFilename: '[file].map', |
43 | 53 | ||
44 | chunkFilename: process.env.ANALYZE_BUNDLE === 'true' | 54 | chunkFilename: process.env.ANALYZE_BUNDLE === 'true' |
45 | ? '[name].chunk.js' | 55 | ? '[name].chunk.js' |
46 | : '[id].[hash].chunk.js', | 56 | : '[id].[contenthash].chunk.js', |
47 | 57 | ||
48 | publicPath: '/client/standalone/videos/' | 58 | publicPath: '/client/standalone/videos/' |
49 | }, | 59 | }, |
@@ -114,10 +124,15 @@ module.exports = function () { | |||
114 | }, | 124 | }, |
115 | 125 | ||
116 | plugins: [ | 126 | plugins: [ |
127 | new ProvidePlugin({ | ||
128 | process: 'process/browser', | ||
129 | Buffer: [ 'buffer', 'Buffer' ] | ||
130 | }), | ||
131 | |||
117 | new MiniCssExtractPlugin({ | 132 | new MiniCssExtractPlugin({ |
118 | filename: process.env.ANALYZE_BUNDLE === 'true' | 133 | filename: process.env.ANALYZE_BUNDLE === 'true' |
119 | ? '[name].css' | 134 | ? '[name].css' |
120 | : '[name].[hash].css' | 135 | : '[name].[contenthash].css' |
121 | }), | 136 | }), |
122 | 137 | ||
123 | new HtmlWebpackPlugin({ | 138 | new HtmlWebpackPlugin({ |
@@ -126,7 +141,7 @@ module.exports = function () { | |||
126 | title: 'PeerTube', | 141 | title: 'PeerTube', |
127 | chunksSortMode: 'auto', | 142 | chunksSortMode: 'auto', |
128 | inject: 'body', | 143 | inject: 'body', |
129 | chunks: ['video-embed'], | 144 | chunks: [ 'video-embed' ], |
130 | minify: { | 145 | minify: { |
131 | collapseWhitespace: true, | 146 | collapseWhitespace: true, |
132 | removeComments: false, | 147 | removeComments: false, |
@@ -143,7 +158,7 @@ module.exports = function () { | |||
143 | title: 'PeerTube', | 158 | title: 'PeerTube', |
144 | chunksSortMode: 'auto', | 159 | chunksSortMode: 'auto', |
145 | inject: 'body', | 160 | inject: 'body', |
146 | chunks: ['test-embed'] | 161 | chunks: [ 'test-embed' ] |
147 | }), | 162 | }), |
148 | 163 | ||
149 | /** | 164 | /** |
@@ -188,13 +203,7 @@ module.exports = function () { | |||
188 | }, | 203 | }, |
189 | 204 | ||
190 | node: { | 205 | node: { |
191 | global: true, | 206 | global: true |
192 | crypto: 'empty', | ||
193 | fs: 'empty', | ||
194 | process: true, | ||
195 | module: false, | ||
196 | clearImmediate: false, | ||
197 | setImmediate: false | ||
198 | } | 207 | } |
199 | } | 208 | } |
200 | 209 | ||