PluginProbe
Gutenberg / 22.7.0
Gutenberg v22.7.0
24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 12.6.0 All 403 releases
← All changes | lib/client-assets.php +36 -34 23.4.022.7.0 View file →
@@ -86,17 +86,26 @@
86 86 }
87 87 add_filter( 'load_script_translation_file', 'gutenberg_override_translation_file', 10, 2 );
88 88
89 89 /**
90 - * Adds the 'editor' dependency to wp-block-library, required by the Classic block.
90 + * Handle special case dependencies for wp-block-library that depend on runtime conditions.
91 91 *
92 + * This adds the 'editor' dependency conditionally based on experiments and classic block requirements.
93 + * All other script registrations are handled by the auto-generated build/scripts.php file.
94 + *
92 95 * @param WP_Scripts $scripts WP_Scripts instance.
93 96 */
94 97 function gutenberg_register_block_library_script_special_case( $scripts ) {
95 98 $handle = 'wp-block-library';
96 99 $script = $scripts->query( $handle, 'registered' );
97 - if ( ! in_array( 'editor', $script->deps, true ) ) {
98 - $script->deps[] = 'editor';
100 + if (
101 + ! gutenberg_is_experiment_enabled( 'gutenberg-no-tinymce' ) ||
102 + ! empty( $_GET['requiresTinymce'] ) ||
103 + gutenberg_post_being_edited_requires_classic_block()
104 + ) {
105 + if ( ! in_array( 'editor', $script->deps, true ) ) {
106 + $script->deps[] = 'editor';
107 + }
99 108 }
100 109 }
101 110 add_action( 'wp_default_scripts', 'gutenberg_register_block_library_script_special_case', 11 );
102 111
@@ -357,41 +366,34 @@
357 366 *
358 367 * @param WP_Scripts $scripts WP_Scripts instance.
359 368 */
360 369 function gutenberg_register_vendor_scripts( $scripts ) {
361 - $extension = SCRIPT_DEBUG ? '.js' : '.min.js';
362 - $vendors_dir = gutenberg_dir_path() . 'build/scripts/vendors/';
370 + $extension = SCRIPT_DEBUG ? '.js' : '.min.js';
363 371
364 - // When the React 19 experiment is enabled, register React 19 vendor
365 - // scripts under the `react`, `react-dom`, and `react-jsx-runtime` handles.
366 - $use_react_19 = gutenberg_is_experiment_enabled( 'gutenberg-react-19' );
372 + gutenberg_override_script(
373 + $scripts,
374 + 'react',
375 + gutenberg_url( 'build/scripts/vendors/react' . $extension ),
376 + // WordPress Core in `wp_register_development_scripts` sets `wp-react-refresh-entry` as a dependency to `react` when `SCRIPT_DEBUG` is true.
377 + // We need to preserve that here.
378 + SCRIPT_DEBUG ? array( 'wp-react-refresh-entry', 'wp-polyfill' ) : array( 'wp-polyfill' ),
379 + '18'
380 + );
381 + gutenberg_override_script(
382 + $scripts,
383 + 'react-dom',
384 + gutenberg_url( 'build/scripts/vendors/react-dom' . $extension ),
385 + array( 'react' ),
386 + '18'
387 + );
367 388
368 - $vendor_handles = array( 'react', 'react-dom', 'react-jsx-runtime' );
369 -
370 - foreach ( $vendor_handles as $handle ) {
371 - $source = $use_react_19 ? $handle . '-19' : $handle;
372 - $asset_file = $vendors_dir . $source . '.min.asset.php';
373 - $asset = file_exists( $asset_file ) ? require $asset_file : array();
374 - $dependencies = $asset['dependencies'] ?? array();
375 - $version = $asset['version'] ?? '0';
376 -
377 - gutenberg_override_script(
378 - $scripts,
379 - $handle,
380 - gutenberg_url( 'build/scripts/vendors/' . $source . $extension ),
381 - $dependencies,
382 - $version
383 - );
384 - }
385 -
386 - // WordPress Core in `wp_register_development_scripts` sets `wp-react-refresh-entry`
387 - // as a dependency to `react` when `SCRIPT_DEBUG` is true. Preserve that here.
388 - if ( SCRIPT_DEBUG ) {
389 - $react = $scripts->query( 'react', 'registered' );
390 - if ( $react && ! in_array( 'wp-react-refresh-entry', $react->deps, true ) ) {
391 - $react->deps[] = 'wp-react-refresh-entry';
392 - }
393 - }
389 + gutenberg_override_script(
390 + $scripts,
391 + 'react-jsx-runtime',
392 + gutenberg_url( 'build/scripts/vendors/react-jsx-runtime' . $extension ),
393 + array( 'react' ),
394 + '18'
395 + );
394 396 }
395 397 add_action( 'wp_default_scripts', 'gutenberg_register_vendor_scripts' );
396 398
397 399 /**