Make WordPress Core


Ignore:
Timestamp:
01/16/2026 10:30:09 AM (2 months ago)
Author:
youknowriad
Message:

Build: Improve Gutenberg integration workflow.

This changeset improves the Gutenberg build integration to simplify the developer workflow and reinstore a flow similar to how package dependencies worked before the Gutenberg checkout-and-build approach was introduced.

Key improvements:

  • Automatic rebuild on ref change: Adds a new gutenberg:sync script that stores a hash of the built ref in .gutenberg-hash and only rebuilds when the ref changes.
  • Full integration on npm install: Running npm install now produces a fully working development environment with Gutenberg assets in src/.
  • Clean Gutenberg checkout: Restores Gutenberg's package.json after the build completes.
  • Stops copying .js.map files to wp-includes/js/dist since they reference non-existent paths.
  • Remove package.json files from the build folder.
  • Avoid closures and use prefixed functions.
  • Updates build checks to use jquery.js instead of edit-post.js as the build indicator.

Props youknowriad, ellatrix, mcsf, dmsnell, ntsekouras, jorgefilipecosta, tobiasbg, peterwilsoncc.
Fixes #64393.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/script-loader.php

    r61491 r61492  
    282282     *     'api-fetch.js' => array(...
    283283     */
    284     $assets = include ABSPATH . WPINC . "/assets/script-loader-packages{$suffix}.php";
     284    $assets_file = ABSPATH . WPINC . "/assets/script-loader-packages{$suffix}.php";
     285    $assets      = file_exists( $assets_file ) ? include $assets_file : array();
    285286
    286287    foreach ( $assets as $file_name => $package_data ) {
Note: See TracChangeset for help on using the changeset viewer.