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 | build/modules.php +34 -46 23.1.122.7.0 View file →
@@ -5,57 +5,45 @@
5 5 *
6 6 * @package gutenberg
7 7 */
8 8
9 -/**
10 - * Register all script modules.
11 - */
12 -function gutenberg_register_script_modules() {
13 - // Ensure this only runs once. wp_default_scripts can fire multiple times,
14 - // and each wp_deregister_script_module() call also dequeues the module.
15 - // If a module was enqueued between calls, repeated deregister/register
16 - // cycles would lose the enqueue state.
17 - static $already_registered = false;
18 - if ( $already_registered ) {
19 - return;
20 - }
21 - $already_registered = true;
9 +if ( ! function_exists( 'gutenberg_register_script_modules' ) ) {
10 + /**
11 + * Register all script modules.
12 + */
13 + function gutenberg_register_script_modules() {
14 + // Load build constants
15 + $build_constants = require __DIR__ . '/constants.php';
16 + $modules_dir = __DIR__ . '/modules';
17 + $modules_file = $modules_dir . '/registry.php';
22 18
23 - // Load build constants
24 - $build_constants = require __DIR__ . '/constants.php';
25 - $modules_dir = __DIR__ . '/modules';
26 - $modules_file = $modules_dir . '/registry.php';
19 + if ( ! file_exists( $modules_file ) ) {
20 + return;
21 + }
27 22
28 - if ( ! file_exists( $modules_file ) ) {
29 - return;
30 - }
23 + $modules = require $modules_file;
24 + $base_url = $build_constants['build_url'] . 'modules/';
25 + $extension = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '.js' : '.min.js';
31 26
32 - $modules = require $modules_file;
33 - $base_url = $build_constants['build_url'] . 'modules/';
27 + foreach ( $modules as $module ) {
28 + $asset_path = $modules_dir . '/' . $module['asset'];
29 + $asset = file_exists( $asset_path ) ? require $asset_path : array();
34 30
35 - foreach ( $modules as $module ) {
36 - // WASM-only modules (e.g., vips worker) only have .min.js; use it even when SCRIPT_DEBUG is `true`.
37 - $extension = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG && empty( $module['min_only'] ) )
38 - ? '.js'
39 - : '.min.js';
31 + // Deregister first to override any previously registered version
32 + // (e.g., Core's default modules when running as a plugin).
33 + wp_deregister_script_module( $module['id'] );
40 34
41 - $asset_path = $modules_dir . '/' . $module['asset'];
42 - $asset = file_exists( $asset_path ) ? require $asset_path : array();
35 + wp_register_script_module(
36 + $module['id'],
37 + $base_url . $module['path'] . $extension,
38 + $asset['module_dependencies'] ?? array(),
39 + $asset['version'] ?? false,
40 + array(
41 + 'fetchpriority' => 'low',
42 + 'in_footer' => true,
43 + )
44 + );
45 + }
46 + }
43 47
44 - // Deregister first to override any previously registered version
45 - // (e.g., Core's default modules when running as a plugin).
46 - wp_deregister_script_module( $module['id'] );
47 -
48 - wp_register_script_module(
49 - $module['id'],
50 - $base_url . $module['path'] . $extension,
51 - $asset['module_dependencies'] ?? array(),
52 - $asset['version'] ?? false,
53 - array(
54 - 'fetchpriority' => 'low',
55 - 'in_footer' => true,
56 - )
57 - );
58 - }
48 + add_action( 'wp_default_scripts', 'gutenberg_register_script_modules' );
59 49 }
60 -
61 -add_action( 'wp_default_scripts', 'gutenberg_register_script_modules' );