PluginProbe
AI / trunk
AI vtrunk
1.3.0 1.2.0 1.1.0 1.0.2 1.0.1 1.0.0 0.9.0 trunk 0.1.1 0.2.0 0.2.1 0.3.0 0.3.1 0.4.0 0.4.1 0.5.0 0.6.0 0.7.0 0.8.0
ai / build / modules.php

modules.php in AI trunk, at build/modules.php

66 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Script module registration - Auto-generated by build process.
4 * Do not edit this file manually.
5 *
6 * @package ai
7 */
8
9 /**
10 * Register all script modules.
11 */
12 function ai_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;
22
23 // Load build constants
24 $constants_file = __DIR__ . '/constants.php';
25 if ( ! file_exists( $constants_file ) ) {
26 return;
27 }
28 $build_constants = require $constants_file;
29 $modules_dir = __DIR__ . '/modules';
30 $modules_file = $modules_dir . '/registry.php';
31
32 if ( ! file_exists( $modules_file ) ) {
33 return;
34 }
35
36 $modules = require $modules_file;
37 $base_url = $build_constants['build_url'] . 'modules/';
38
39 foreach ( $modules as $module ) {
40 // WASM-only modules (e.g., vips worker) only have .min.js; use it even when SCRIPT_DEBUG is `true`.
41 $extension = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG && empty( $module['min_only'] ) )
42 ? '.js'
43 : '.min.js';
44
45 $asset_path = $modules_dir . '/' . $module['asset'];
46 $asset = file_exists( $asset_path ) ? require $asset_path : array();
47
48 // Deregister first to override any previously registered version
49 // (e.g., Core's default modules when running as a plugin).
50 wp_deregister_script_module( $module['id'] );
51
52 wp_register_script_module(
53 $module['id'],
54 $base_url . $module['path'] . $extension,
55 $asset['module_dependencies'] ?? array(),
56 $asset['version'] ?? false,
57 array(
58 'fetchpriority' => 'low',
59 'in_footer' => true,
60 )
61 );
62 }
63 }
64
65 add_action( 'wp_default_scripts', 'ai_register_script_modules' );
66