WordPress.org

Make WordPress Core

Ticket #49360: vendor-webpack.diff

File vendor-webpack.diff, 2.0 KB (added by aduth, 13 months ago)
  • new file tools/webpack/vendor.js

    diff --git a/tools/webpack/vendor.js b/tools/webpack/vendor.js
    new file mode 100644
    index 0000000000..25310682c4
    - +  
     1/**
     2 * External dependencies
     3 */
     4const { join } = require( 'path' );
     5
     6const DEFAULT_ENV = {
     7        environment: 'production',
     8        watch: false,
     9        buildTarget: false,
     10};
     11
     12module.exports = function( env = DEFAULT_ENV ) {
     13        const mode = env.environment;
     14        const suffix = mode === 'production' ? '.min' : '';
     15        const buildTarget = env.buildTarget || ( mode === 'production' ? 'build' : 'src' );
     16
     17        return {
     18                mode,
     19
     20                entry: {
     21                        lodash: 'lodash',
     22                        'wp-polyfill': '@babel/polyfill',
     23                        'wp-polyfill-fetch': 'whatwg-fetch',
     24                        'wp-polyfill-element-closest': 'element-closest',
     25                        'wp-polyfill-node-contains': 'polyfill-library/polyfills/Node/prototype/contains/polyfill.js',
     26                        'wp-polyfill-url': 'core-js/modules/web.url.js', // 'whatwg-url',
     27                        'wp-polyfill-dom-rect': 'polyfill-library/polyfills/DOMRect/polyfill.js',
     28                        'wp-polyfill-formdata': 'formdata-polyfill',
     29                        'moment': 'moment',
     30                        'react': 'react',
     31                        'react-dom': 'react-dom',
     32                },
     33
     34                output: {
     35                        filename: `[name]${ suffix }.js`,
     36                        path: join( __dirname, `../../${ buildTarget }/wp-includes/js/dist` ),
     37                },
     38
     39                stats: {
     40                        children: false,
     41                },
     42
     43                watch: env.watch,
     44        };
     45};
  • webpack.config.js

    diff --git a/webpack.config.js b/webpack.config.js
    index bc6ab59bee..975537e83c 100644
    a b  
    11const mediaConfig = require( './tools/webpack/media' );
    22const packagesConfig = require( './tools/webpack/packages' );
     3const vendorConfig = require( './tools/webpack/vendor' );
    34
    45module.exports = function( env = { environment: "production", watch: false, buildTarget: false } ) {
    56        if ( ! env.watch ) {
    module.exports = function( env = { environment: "production", watch: false, buil 
    1112        }
    1213
    1314        const config = [
    14                 mediaConfig( env ),
    15                 packagesConfig( env ),
     15                // mediaConfig( env ),
     16                // packagesConfig( env ),
     17                vendorConfig( env ),
    1618        ];
    1719
    1820        return config;