[AAE-12124] Use a function to remove js files (#8157)

* Use a function to remove js files

* try to check the asset
This commit is contained in:
Maurizio Vitale 2023-01-17 14:47:50 +00:00 committed by GitHub
parent 35721b0279
commit eb8bad1f96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 49 additions and 4 deletions

View File

@ -422,7 +422,7 @@
"options": {
"commands": [
{
"command": "$(npm bin)/webpack -- --config ./lib/config/webpack.style.js --progress --profile --bail && rm ./dist/libs/core/lib/prebuilt-themes/*.js"
"command": "$(npm bin)/webpack -- --config ./lib/config/webpack.style.js --progress --profile --bail"
}
]
}

38
lib/config/index.js Normal file
View File

@ -0,0 +1,38 @@
function DisableOutputWebpackPlugin(options) {
if (options && options.test && !Array.isArray(options.test))
options.test = [options.test]
this.options = options
}
DisableOutputWebpackPlugin.prototype.apply = function(compiler) {
compiler.hooks.emit.tapAsync('DisableOutputWebpackPlugin', (compilation, callback) => {
if (this.options && this.options.test) {
if (Object.keys(compilation.assets).length === 0 ) {
throw Error ('Error: The asset pre-theme is not there!')
}
Object.keys(compilation.assets).forEach((asset) => {
let output = true
this.options.test.some((regex) => {
if (asset.match(regex) != null) {
output = false
return true
}
return false
})
if (!output)
delete compilation.assets[asset]
});
} else {
Object.keys(compilation.assets).forEach((asset) => {
delete compilation.assets[asset]
})
}
callback();
});
};
module.exports = DisableOutputWebpackPlugin;

View File

@ -1,4 +1,5 @@
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const DisableOutputWebpackPlugin = require('./index');
const path = require("path");
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
@ -24,8 +25,6 @@ module.exports = {
output: {
path: path.resolve(__dirname, '../../dist/libs/core/lib/prebuilt-themes/'),
filename: '[name].js',
publicPath: '/dist'
},
module: {
@ -34,5 +33,13 @@ module.exports = {
use: [MiniCssExtractPlugin.loader, "css-loader", "sass-loader"]
}]
},
plugins: [new MiniCssExtractPlugin()]
plugins: [
new MiniCssExtractPlugin({
filename: "[name].css",
chunkFilename: "[id].css"
}),
new DisableOutputWebpackPlugin({
test: /\.js$/,
})
]
};