mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
* Minification is done by uglify, so disable that in the media build. * The webpack boilerplate has changed, which explains the changes in the build files. * ModuleConcatenationPlugin is enable by default for production builds so we don't have to specify that ourselves. Merge notes: In `trunk` uglify isn't run on the media files after webpack, so webpack does need to do that. Newer webpack versions use `terser-webpack-plugin` as the default minification. Use the `uglifyjs-webpack-plugin` plugin to maintain the same behavior as before. We can look into terser as a minifier later. Merges [43688] to trunk. See #45065. git-svn-id: https://develop.svn.wordpress.org/trunk@44111 602fd350-edb4-49c9-b593-d223f7449a82
42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
const UglifyJsPlugin = require( 'uglifyjs-webpack-plugin' );
|
|
|
|
var path = require( 'path' ),
|
|
webpack = require( 'webpack' ),
|
|
admin_files = {},
|
|
include_files = {};
|
|
|
|
include_files = {
|
|
'build/wp-includes/js/media-audiovideo.js': ['./src/js/_enqueues/wp/media/audiovideo.js'],
|
|
'build/wp-includes/js/media-audiovideo.min.js': ['./src/js/_enqueues/wp/media/audiovideo.js'],
|
|
'build/wp-includes/js/media-grid.js': ['./src/js/_enqueues/wp/media/grid.js'],
|
|
'build/wp-includes/js/media-grid.min.js': ['./src/js/_enqueues/wp/media/grid.js'],
|
|
'build/wp-includes/js/media-models.js': ['./src/js/_enqueues/wp/media/models.js'],
|
|
'build/wp-includes/js/media-models.min.js': ['./src/js/_enqueues/wp/media/models.js'],
|
|
'build/wp-includes/js/media-views.js': ['./src/js/_enqueues/wp/media/views.js'],
|
|
'build/wp-includes/js/media-views.min.js': ['./src/js/_enqueues/wp/media/views.js'],
|
|
};
|
|
|
|
module.exports = function( env = { environment: "production" } ) {
|
|
const mode = env.environment;
|
|
|
|
const mediaConfig = {
|
|
mode,
|
|
cache: true,
|
|
entry: Object.assign( admin_files, include_files ),
|
|
output: {
|
|
path: path.resolve( __dirname ),
|
|
filename: '[name]',
|
|
},
|
|
optimization: {
|
|
minimize: true,
|
|
minimizer: [
|
|
new UglifyJsPlugin( {
|
|
include: /\.min\.js$/,
|
|
} )
|
|
]
|
|
},
|
|
};
|
|
|
|
return mediaConfig;
|
|
};
|