Use webpack externals to exclude dependencies (#3036)

This commit is contained in:
absidue 2023-01-07 20:45:27 +01:00 committed by GitHub
parent dd40493799
commit fe85a17b4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 11 deletions

View File

@ -32,6 +32,10 @@ const config = {
path: path.join(__dirname, '../dist'),
filename: '[name].js',
},
externals: {
// ignore linkedom's unnecessary broken canvas import, as youtubei.js only uses linkedom to generate DASH manifests
canvas: '{}'
},
module: {
rules: [
{
@ -122,10 +126,6 @@ const config = {
new MiniCssExtractPlugin({
filename: isDevMode ? '[name].css' : '[name].[contenthash].css',
chunkFilename: isDevMode ? '[id].css' : '[id].[contenthash].css',
}),
// ignore linkedom's unnecessary broken canvas import, as youtubei.js only uses linkedom to generate DASH manifests
new webpack.IgnorePlugin({
resourceRegExp: /^canvas$/
})
],
resolve: {

View File

@ -22,9 +22,17 @@ const config = {
path: path.join(__dirname, '../dist/web'),
filename: '[name].js',
},
externals: {
electron: '{}'
},
externals: [
{
electron: '{}'
},
({ request }, callback) => {
if (request.startsWith('youtubei.js')) {
return callback(null, '{}')
}
callback()
}
],
module: {
rules: [
{
@ -122,10 +130,6 @@ const config = {
new MiniCssExtractPlugin({
filename: isDevMode ? '[name].css' : '[name].[contenthash].css',
chunkFilename: isDevMode ? '[id].css' : '[id].[contenthash].css',
}),
// ignore all youtubei.js imports, even the ones with paths in them
new webpack.IgnorePlugin({
resourceRegExp: /^youtubei\.js/
})
],
resolve: {