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 +37 -32 23.1.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,36 +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 - $vendor_handles = array( 'react', 'react-dom', 'react-jsx-runtime' );
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 + );
365 388
366 - foreach ( $vendor_handles as $handle ) {
367 - $asset_file = $vendors_dir . $handle . '.min.asset.php';
368 - $asset = file_exists( $asset_file ) ? require $asset_file : array();
369 - $dependencies = $asset['dependencies'] ?? array();
370 - $version = $asset['version'] ?? '0';
371 -
372 - gutenberg_override_script(
373 - $scripts,
374 - $handle,
375 - gutenberg_url( 'build/scripts/vendors/' . $handle . $extension ),
376 - $dependencies,
377 - $version
378 - );
379 - }
380 -
381 - // WordPress Core in `wp_register_development_scripts` sets `wp-react-refresh-entry`
382 - // as a dependency to `react` when `SCRIPT_DEBUG` is true. Preserve that here.
383 - if ( SCRIPT_DEBUG ) {
384 - $react = $scripts->query( 'react', 'registered' );
385 - if ( $react && ! in_array( 'wp-react-refresh-entry', $react->deps, true ) ) {
386 - $react->deps[] = 'wp-react-refresh-entry';
387 - }
388 - }
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 + );
389 396 }
390 397 add_action( 'wp_default_scripts', 'gutenberg_register_vendor_scripts' );
391 398
392 399 /**
@@ -440,11 +447,9 @@
440 447 * when client-side media processing is triggered via @wordpress/upload-media.
441 448 *
442 449 * @see packages/vips/src/loader.ts
443 450 */
444 -if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
445 - add_action( 'enqueue_block_editor_assets', 'gutenberg_enqueue_vips_loader' );
446 -}
451 +add_action( 'enqueue_block_editor_assets', 'gutenberg_enqueue_vips_loader' );
447 452 function gutenberg_enqueue_vips_loader() {
448 453 wp_enqueue_script_module( '@wordpress/vips/loader' );
449 454 }
450 455