Make WordPress Core

Ticket #48154: 48154.diff

File 48154.diff, 5.1 KB (added by azaozz, 5 years ago)
  • Gruntfile.js

     
    117117                                WORKING_DIR + 'wp-includes/js/'
    118118                        ],
    119119                        'webpack-assets': [
    120                                 WORKING_DIR + 'wp-includes/js/**/*.asset.php'
     120                                WORKING_DIR + 'wp-includes/js/dist/assets.php'
    121121                        ],
    122122                        dynamic: {
    123123                                dot: true,
     
    356356                                ]
    357357                        },
    358358                        'webpack-assets': {
    359                                 expand: true,
    360                                 cwd: WORKING_DIR + 'wp-includes/js/',
    361                                 src: 'dist/*.asset.php',
    362                                 dest: WORKING_DIR + 'wp-includes/assets/'
     359                                files: [
     360                                        {
     361                                                src: WORKING_DIR + 'wp-includes/js/dist/assets.php',
     362                                                dest: SOURCE_DIR + 'wp-includes/assets/script-loader-deps.php'
     363                                        },
     364                                        {
     365                                                src:  WORKING_DIR + 'wp-includes/js/dist/assets.php',
     366                                                dest: BUILD_DIR + 'wp-includes/assets/script-loader-deps.php'
     367                                        }
     368                                ]
    363369                        },
    364370                        version: {
    365371                                options: {
  • package-lock.json

     
    25252525                        }
    25262526                },
    25272527                "@wordpress/dependency-extraction-webpack-plugin": {
    2528                         "version": "2.2.0",
    2529                         "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-2.2.0.tgz",
    2530                         "integrity": "sha512-74zJPfSohTfcNtNG/Y0VmE/ow1sG6wCEl7A7xN3VdhMRFUOfpfGV2XifBA9UjDoxY/IAbf80WDqiuA7MzcDMKw==",
     2528                        "version": "2.3.0",
     2529                        "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-2.3.0.tgz",
     2530                        "integrity": "sha512-FwEN0PuFr3Q5IdDLgerkIspiHkePNbzem71R3RlUevaSmnw+iH9/0Jzg4uIQ8KCMBpbrn1gAmhgdaTgTDn3EfQ==",
    25312531                        "dev": true,
    25322532                        "requires": {
    25332533                                "json2php": "^0.0.4",
  • package.json

     
    2626        ],
    2727        "devDependencies": {
    2828                "@wordpress/custom-templated-path-webpack-plugin": "1.6.0",
    29                 "@wordpress/dependency-extraction-webpack-plugin": "2.2.0",
     29                "@wordpress/dependency-extraction-webpack-plugin": "2.3.0",
    3030                "@wordpress/e2e-test-utils": "4.3.0",
    3131                "@wordpress/library-export-default-webpack-plugin": "1.6.0",
    3232                "@wordpress/scripts": "6.2.0",
  • src/wp-includes/script-loader.php

     
    231231function wp_default_packages_scripts( &$scripts ) {
    232232        $suffix = wp_scripts_get_suffix();
    233233
    234         $packages = array(
    235                 'a11y',
    236                 'annotations',
    237                 'api-fetch',
    238                 'autop',
    239                 'blob',
    240                 'block-directory',
    241                 'block-editor',
    242                 'block-library',
    243                 'block-serialization-default-parser',
    244                 'blocks',
    245                 'components',
    246                 'compose',
    247                 'core-data',
    248                 'data',
    249                 'data-controls',
    250                 'date',
    251                 'deprecated',
    252                 'dom',
    253                 'dom-ready',
    254                 'edit-post',
    255                 'editor',
    256                 'element',
    257                 'escape-html',
    258                 'format-library',
    259                 'hooks',
    260                 'html-entities',
    261                 'i18n',
    262                 'is-shallow-equal',
    263                 'keyboard-shortcuts',
    264                 'keycodes',
    265                 'list-reusable-blocks',
    266                 'media-utils',
    267                 'notices',
    268                 'nux',
    269                 'plugins',
    270                 'primitives',
    271                 'priority-queue',
    272                 'redux-routine',
    273                 'rich-text',
    274                 'shortcode',
    275                 'server-side-render',
    276                 'token-list',
    277                 'url',
    278                 'viewport',
    279                 'warning',
    280                 'wordcount',
    281         );
     234        // Expects an array of: `'a11y.js' => array('dependencies' => array(...), 'version' => '...'),`.
     235        $assets   = include ABSPATH . WPINC . '/assets/script-loader-deps.php';
     236        $packages = array_keys( $assets );
    282237
    283238        $package_translations = array(
    284239                'api-fetch',
     
    296251        );
    297252
    298253        foreach ( $packages as $package ) {
    299                 $handle = 'wp-' . $package;
    300                 $path   = "/wp-includes/js/dist/$package$suffix.js";
     254                $basename = basename( $package, '.js' );
     255                $handle   = 'wp-' . $basename;
     256                $path     = "/wp-includes/js/dist/$basename$suffix.js";
    301257
    302                 if ( ! file_exists( ABSPATH . $path ) ) {
    303                         continue;
     258                if ( ! empty( $assets[ $package ]['dependencies'] ) ) {
     259                        $dependencies = $assets[ $package ]['dependencies'];
     260                } else {
     261                        $dependencies = array();
    304262                }
    305263
    306                 $asset_file   = require ABSPATH . WPINC . "/assets/dist/$package$suffix.asset.php";
    307                 $dependencies = $asset_file['dependencies'];
    308 
    309264                // Add dependencies that cannot be detected and generated by build tools.
    310265                switch ( $handle ) {
    311266                        case 'wp-block-library':
     
    316271                                break;
    317272                }
    318273
    319                 $scripts->add( $handle, $path, $dependencies, $asset_file['version'], 1 );
     274                $scripts->add( $handle, $path, $dependencies, $assets[ $package ]['version'], 1 );
    320275
    321                 if ( in_array( $package, $package_translations, true ) ) {
     276                if ( in_array( $basename, $package_translations, true ) ) {
    322277                        $scripts->set_translations( $handle );
    323278                }
    324279        }
  • tools/webpack/packages.js

     
    246246                        } ),
    247247                        new DependencyExtractionPlugin( {
    248248                                injectPolyfill: true,
     249                                combineAssets: true,
    249250                        } ),
    250251                        new CopyWebpackPlugin(
    251252                                [