2022-04-11 12:02:14 +00:00
|
|
|
/**
|
|
|
|
* External dependencies
|
|
|
|
*/
|
|
|
|
const TerserPlugin = require( 'terser-webpack-plugin' );
|
2018-12-13 15:25:37 +00:00
|
|
|
|
2022-04-11 12:02:14 +00:00
|
|
|
/**
|
|
|
|
* Internal dependencies
|
|
|
|
*/
|
|
|
|
const { baseDir } = require( './shared' );
|
2018-12-13 15:25:37 +00:00
|
|
|
|
2018-12-24 13:28:22 +00:00
|
|
|
module.exports = function( env = { environment: 'production', watch: false, buildTarget: false } ) {
|
2022-04-11 12:02:14 +00:00
|
|
|
const entry = {
|
2018-12-24 13:28:22 +00:00
|
|
|
[ env.buildTarget + 'wp-includes/js/media-audiovideo.js' ]: ['./src/js/_enqueues/wp/media/audiovideo.js'],
|
|
|
|
[ env.buildTarget + 'wp-includes/js/media-audiovideo.min.js' ]: ['./src/js/_enqueues/wp/media/audiovideo.js'],
|
|
|
|
[ env.buildTarget + 'wp-includes/js/media-grid.js' ]: ['./src/js/_enqueues/wp/media/grid.js'],
|
|
|
|
[ env.buildTarget + 'wp-includes/js/media-grid.min.js' ]: ['./src/js/_enqueues/wp/media/grid.js'],
|
|
|
|
[ env.buildTarget + 'wp-includes/js/media-models.js' ]: ['./src/js/_enqueues/wp/media/models.js'],
|
|
|
|
[ env.buildTarget + 'wp-includes/js/media-models.min.js' ]: ['./src/js/_enqueues/wp/media/models.js'],
|
|
|
|
[ env.buildTarget + 'wp-includes/js/media-views.js' ]: ['./src/js/_enqueues/wp/media/views.js'],
|
|
|
|
[ env.buildTarget + 'wp-includes/js/media-views.min.js' ]: ['./src/js/_enqueues/wp/media/views.js'],
|
|
|
|
};
|
2018-12-13 15:25:37 +00:00
|
|
|
|
|
|
|
const mediaConfig = {
|
2022-04-11 12:02:14 +00:00
|
|
|
target: 'browserslist',
|
2018-12-13 17:26:09 +00:00
|
|
|
mode: "production",
|
2018-12-13 15:25:37 +00:00
|
|
|
cache: true,
|
2022-04-11 12:02:14 +00:00
|
|
|
entry,
|
2018-12-13 15:25:37 +00:00
|
|
|
output: {
|
|
|
|
path: baseDir,
|
|
|
|
filename: '[name]',
|
|
|
|
},
|
|
|
|
optimization: {
|
|
|
|
minimize: true,
|
2022-04-11 12:02:14 +00:00
|
|
|
moduleIds: 'deterministic',
|
2018-12-13 15:25:37 +00:00
|
|
|
minimizer: [
|
2022-04-11 12:02:14 +00:00
|
|
|
new TerserPlugin( {
|
2018-12-13 15:25:37 +00:00
|
|
|
include: /\.min\.js$/,
|
2022-04-11 12:02:14 +00:00
|
|
|
extractComments: false,
|
|
|
|
} ),
|
2018-12-13 15:25:37 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
watch: env.watch,
|
|
|
|
};
|
|
|
|
|
|
|
|
return mediaConfig;
|
|
|
|
};
|