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-settings.php

    r61491 r61492  
    243243require ABSPATH . WPINC . '/deprecated.php';
    244244require ABSPATH . WPINC . '/script-loader.php';
    245 require ABSPATH . WPINC . '/build/routes.php';
    246 require ABSPATH . WPINC . '/build/pages.php';
     245if ( file_exists( ABSPATH . WPINC . '/build/routes.php' ) ) {
     246    require ABSPATH . WPINC . '/build/routes.php';
     247}
     248if ( file_exists( ABSPATH . WPINC . '/build/pages.php' ) ) {
     249    require ABSPATH . WPINC . '/build/pages.php';
     250}
    247251require ABSPATH . WPINC . '/taxonomy.php';
    248252require ABSPATH . WPINC . '/class-wp-taxonomy.php';
     
    374378require ABSPATH . WPINC . '/class-wp-block-list.php';
    375379require ABSPATH . WPINC . '/class-wp-block-metadata-registry.php';
    376 require ABSPATH . WPINC . '/class-wp-block-parser-block.php';
    377 require ABSPATH . WPINC . '/class-wp-block-parser-frame.php';
    378 require ABSPATH . WPINC . '/class-wp-block-parser.php';
     380if ( file_exists( ABSPATH . WPINC . '/class-wp-block-parser-block.php' ) ) {
     381    require ABSPATH . WPINC . '/class-wp-block-parser-block.php';
     382}
     383if ( file_exists( ABSPATH . WPINC . '/class-wp-block-parser-frame.php' ) ) {
     384    require ABSPATH . WPINC . '/class-wp-block-parser-frame.php';
     385}
     386if ( file_exists( ABSPATH . WPINC . '/class-wp-block-parser.php' ) ) {
     387    require ABSPATH . WPINC . '/class-wp-block-parser.php';
     388}
    379389require ABSPATH . WPINC . '/class-wp-classic-to-block-menu-converter.php';
    380390require ABSPATH . WPINC . '/class-wp-navigation-fallback.php';
Note: See TracChangeset for help on using the changeset viewer.