X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fwebpack%2Fwebpack.video-embed.js;h=e25677872e4f0842b7f43e845f964f18aae04a7a;hb=b7e509b6ca5630463335bf6a7ab2124f275bd651;hp=68749a02a20411f8a96fd40245c3e80a787cba94;hpb=662351e62669d11f5dfb7c871edf37095ec0097e;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/webpack/webpack.video-embed.js b/client/webpack/webpack.video-embed.js index 68749a02a..e25677872 100644 --- a/client/webpack/webpack.video-embed.js +++ b/client/webpack/webpack.video-embed.js @@ -3,7 +3,6 @@ const path = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') const TerserPlugin = require('terser-webpack-plugin') -const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin') const ProvidePlugin = require('webpack/lib/ProvidePlugin') const MiniCssExtractPlugin = require('mini-css-extract-plugin') @@ -25,8 +24,11 @@ module.exports = function () { modules: [ helpers.root('src'), 'node_modules' ], + symlinks: true, + alias: { 'video.js$': path.resolve('node_modules/video.js/core.js'), + 'hls.js$': path.resolve('node_modules/hls.js/dist/hls.light.js'), '@root-helpers': path.resolve('src/root-helpers'), '@shared/models': path.resolve('../shared/models'), '@shared/core-utils': path.resolve('../shared/core-utils') @@ -37,7 +39,7 @@ module.exports = function () { http: [ path.resolve('src/shims/http.ts') ], https: [ path.resolve('src/shims/https.ts') ], path: [ path.resolve('src/shims/path.ts') ], - stream: [ path.resolve('src/shims/noop.ts') ], + stream: [ path.resolve('src/shims/stream.ts') ], crypto: [ path.resolve('src/shims/noop.ts') ] } }, @@ -66,14 +68,20 @@ module.exports = function () { { test: /\.ts$/, use: [ + getBabelLoader(), + { loader: 'ts-loader', options: { - configFile: 'tsconfig.base.json' + configFile: helpers.root('src/standalone/videos/tsconfig.json') } } ] }, + { + test: /\.m?js$/, + use: [ getBabelLoader() ] + }, { test: /\.(sass|scss)$/, @@ -104,21 +112,23 @@ module.exports = function () { { test: /\.html$/, - use: 'raw-loader', exclude: [ helpers.root('src/index.html'), helpers.root('src/standalone/videos/embed.html'), helpers.root('src/standalone/videos/test-embed.html') - ] + ], + type: 'asset/source' }, { - test: /\.(jpg|png|gif)$/, - use: 'url-loader' + test: /\.(jpg|png|gif|svg)$/, + type: 'asset' }, - { 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: /\.(ttf|eot|woff2?)$/, + type: 'asset' + } ] }, @@ -159,20 +169,6 @@ module.exports = function () { chunksSortMode: 'auto', inject: 'body', chunks: [ 'test-embed' ] - }), - - /** - * Plugin LoaderOptionsPlugin (experimental) - * - * See: https://gist.github.com/sokra/27b24881210b56bbaff7 - */ - new LoaderOptionsPlugin({ - options: { - context: __dirname, - output: { - path: helpers.root('dist') - } - } }) ], @@ -183,6 +179,7 @@ module.exports = function () { ecma: 6, warnings: false, ie8: false, + safari10: false, mangle: true, compress: { passes: 3, @@ -209,3 +206,18 @@ module.exports = function () { return configuration } + +function getBabelLoader () { + return { + loader: 'babel-loader', + options: { + presets: [ + [ + '@babel/preset-env', { + targets: 'last 1 Chrome version, last 2 Edge major versions, Firefox ESR, Safari >= 12, ios_saf >= 12' + } + ] + ] + } + } +}