Wordpress/tools/webpack/media.js
Jonathan Desrosiers 8909554d2e Script loader: Adjust JS packages registration.
Adjusts the packages registration after [43723]:

    Combine the different registration functions into one `wp_default_packages` function. To reach this goal move the prefix logic into a function so it can be called from different locations. Use a static variable there to prevent duplicate inclusion of `version.php`.

    Call this function from the `wp_default_scripts` action by registering it as a default filter.

    Combine some of the logic in `_WP_Editors::print_tinymce_scripts` into `wp_register_tinymce_scripts`. The logic to force an uncompressed TinyMCE script file stays in `_WP_Editors::force_uncompressed_tinymce` because that logic is very specific to the classic editor.

    The script handle `wp-tinymce` is now a dependency of the editor script handle. In combination with the previous item, this makes the classic editor work.

    Adjust the syntax of the script paths to be more consistent with other WordPress code.

    Always use "production" mode for the media files to prevent people from inadvertently committing development files.

Props pento, omarreiss, atimmer.

Merges [43738] into trunk.

Fixes #45065.

git-svn-id: https://develop.svn.wordpress.org/trunk@44115 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-13 17:26:09 +00:00

43 lines
1.3 KiB
JavaScript

const UglifyJsPlugin = require( 'uglifyjs-webpack-plugin' );
var path = require( 'path' ),
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'],
};
const baseDir = path.join( __dirname, '../../' );
module.exports = function( env = { environment: 'production', watch: false } ) {
const mediaConfig = {
mode: "production",
cache: true,
entry: Object.assign( admin_files, include_files ),
output: {
path: baseDir,
filename: '[name]',
},
optimization: {
minimize: true,
minimizer: [
new UglifyJsPlugin( {
include: /\.min\.js$/,
} )
]
},
watch: env.watch,
};
return mediaConfig;
};