fix(build): do not run SPDX Plugin in dev mode

Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
pull/46903/head
skjnldsv 1 year ago
parent 8ff8d9ca19
commit a04c9e6fd8
  1. 63
      webpack.common.js

@ -1,3 +1,4 @@
/* eslint-disable n/no-extraneous-require */
/* eslint-disable camelcase */ /* eslint-disable camelcase */
/** /**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
@ -16,6 +17,7 @@ const WebpackSPDXPlugin = require('./build/WebpackSPDXPlugin.js')
const modules = require('./webpack.modules.js') const modules = require('./webpack.modules.js')
const appVersion = readFileSync('./version.php').toString().match(/OC_VersionString[^']+'([^']+)/)?.[1] ?? 'unknown' const appVersion = readFileSync('./version.php').toString().match(/OC_VersionString[^']+'([^']+)/)?.[1] ?? 'unknown'
const isDev = process.env.NODE_ENV === 'development'
const formatOutputFromModules = (modules) => { const formatOutputFromModules = (modules) => {
// merge all configs into one object, and use AppID to generate the fileNames // merge all configs into one object, and use AppID to generate the fileNames
@ -48,7 +50,7 @@ const modulesToBuild = () => {
return formatOutputFromModules(modules) return formatOutputFromModules(modules)
} }
module.exports = { const config = {
entry: modulesToBuild(), entry: modulesToBuild(),
output: { output: {
// Step away from the src folder and extract to the js folder // Step away from the src folder and extract to the js folder
@ -149,23 +151,6 @@ module.exports = {
}, },
optimization: { optimization: {
minimizer: [{
apply: (compiler) => {
// Lazy load the Terser plugin
const TerserPlugin = require('terser-webpack-plugin')
new TerserPlugin({
extractComments: false,
terserOptions: {
format: {
comments: false,
},
compress: {
passes: 2,
},
},
}).apply(compiler)
},
}],
splitChunks: { splitChunks: {
automaticNameDelimiter: '-', automaticNameDelimiter: '-',
minChunks: 3, // minimum number of chunks that must share the module minChunks: 3, // minimum number of chunks that must share the module
@ -238,16 +223,6 @@ module.exports = {
resourceRegExp: /^\.\/locale$/, resourceRegExp: /^\.\/locale$/,
contextRegExp: /moment\/min$/, contextRegExp: /moment\/min$/,
}), }),
// Generate reuse license files
new WebpackSPDXPlugin({
override: {
select2: 'MIT',
'@nextcloud/axios': 'GPL-3.0-or-later',
'@nextcloud/vue': 'AGPL-3.0-or-later',
'nextcloud-vue-collections': 'AGPL-3.0-or-later',
}
}),
], ],
externals: { externals: {
OC: 'OC', OC: 'OC',
@ -274,3 +249,35 @@ module.exports = {
}, },
}, },
} }
// Generate reuse license files if not in development mode
if (!isDev) {
config.plugins.push(new WebpackSPDXPlugin({
override: {
select2: 'MIT',
'@nextcloud/axios': 'GPL-3.0-or-later',
'@nextcloud/vue': 'AGPL-3.0-or-later',
'nextcloud-vue-collections': 'AGPL-3.0-or-later',
},
}))
config.optimization.minimizer = [{
apply: (compiler) => {
// Lazy load the Terser plugin
const TerserPlugin = require('terser-webpack-plugin')
new TerserPlugin({
extractComments: false,
terserOptions: {
format: {
comments: false,
},
compress: {
passes: 2,
},
},
}).apply(compiler)
},
}]
}
module.exports = config

Loading…
Cancel
Save