|
|
const path = require('node:path')
const { EsbuildPlugin } = require('esbuild-loader')const webpack = require('webpack')const { mergeWithRules } = require('webpack-merge')
const nextcloudWebpackConfig = require('@nextcloud/webpack-vue-config')
const commonWebpackConfig = require('./webpack.common.config.js')
module.exports = mergeWithRules({ module: { // Rules from @nextcloud/webpack-vue-config/rules already added by commonWebpackConfig
rules: 'replace', }, optimization: { minimizer: 'replace', },})(nextcloudWebpackConfig, commonWebpackConfig, { entry: { 'admin-settings': path.join(__dirname, 'src', 'mainAdminSettings.js'), collections: path.join(__dirname, 'src', 'collections.js'), main: path.join(__dirname, 'src', 'main.js'), recording: path.join(__dirname, 'src', 'mainRecording.js'), 'files-sidebar': [ path.join(__dirname, 'src', 'mainFilesSidebar.js'), path.join(__dirname, 'src', 'mainFilesSidebarLoader.js'), ], 'public-share-auth-sidebar': path.join(__dirname, 'src', 'mainPublicShareAuthSidebar.js'), 'public-share-sidebar': path.join(__dirname, 'src', 'mainPublicShareSidebar.js'), flow: path.join(__dirname, 'src', 'flow.js'), dashboard: path.join(__dirname, 'src', 'dashboard.js'), deck: path.join(__dirname, 'src', 'deck.js'), maps: path.join(__dirname, 'src', 'maps.js'), },
output: { assetModuleFilename: '[name][ext]?v=[contenthash]', },
optimization: { splitChunks: { cacheGroups: { defaultVendors: { reuseExistingChunk: true, }, }, }, minimizer: [ new EsbuildPlugin({ target: 'es2020', }), ], },
plugins: [ new webpack.DefinePlugin({ IS_DESKTOP: false }), ],
cache: true,})
|