Changeset 59083
- Timestamp:
- 09/24/2024 07:33:55 AM (4 months ago)
- Location:
- trunk
- Files:
-
- 2 added
- 1 deleted
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/.gitignore
r59038 r59083 32 32 /src/wp-includes/assets/* 33 33 !/src/wp-includes/assets/script-loader-packages.min.php 34 !/src/wp-includes/assets/script-modules-packages.min.php 34 35 /src/wp-includes/js 35 36 /src/wp-includes/css/dist -
trunk/Gruntfile.js
r59072 r59083 57 57 'wp-includes/blocks/**/*.css', 58 58 '!wp-includes/assets/script-loader-packages.min.php', 59 '!wp-includes/assets/script-modules-packages.min.php', 59 60 ], 60 61 -
trunk/src/wp-includes/assets
- Property svn:ignore
-
old new 1 1 script-loader-packages.php 2 2 script-loader-react-*.php 3 script-modules-packages.php
-
- Property svn:ignore
-
trunk/src/wp-includes/default-filters.php
r58944 r59083 571 571 add_action( 'wp_default_scripts', 'wp_default_scripts' ); 572 572 add_action( 'wp_default_scripts', 'wp_default_packages' ); 573 add_action( 'wp_default_scripts', 'wp_default_script_modules' ); 573 574 574 575 add_action( 'wp_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 ); -
trunk/src/wp-includes/interactivity-api/class-wp-interactivity-api.php
r58825 r59083 282 282 * Registers the `@wordpress/interactivity` script modules. 283 283 * 284 * @deprecated 6.7.0 Script Modules registration is handled by {@see wp_default_script_modules()}. 285 * 284 286 * @since 6.5.0 285 287 */ 286 288 public function register_script_modules() { 287 $suffix = wp_scripts_get_suffix(); 288 289 wp_register_script_module( 290 '@wordpress/interactivity', 291 includes_url( "js/dist/interactivity$suffix.js" ) 292 ); 293 294 wp_register_script_module( 295 '@wordpress/interactivity-router', 296 includes_url( "js/dist/interactivity-router$suffix.js" ), 297 array( '@wordpress/interactivity' ) 298 ); 289 _deprecated_function( __METHOD__, '6.7.0', 'wp_default_script_modules' ); 299 290 } 300 291 … … 303 294 * 304 295 * @since 6.5.0 305 * @since 6.7.0 Use the {@see "script_module_data_{$module_id}"} filter to pass client-side data.306 296 */ 307 297 public function add_hooks() { 308 add_action( 'wp_enqueue_scripts', array( $this, 'register_script_modules' ) );309 add_action( 'admin_enqueue_scripts', array( $this, 'register_script_modules' ) );310 311 298 add_filter( 'script_module_data_@wordpress/interactivity', array( $this, 'filter_script_module_interactivity_data' ) ); 312 299 } -
trunk/src/wp-includes/script-modules.php
r58200 r59083 124 124 wp_script_modules()->deregister( $id ); 125 125 } 126 127 /** 128 * Registers all the default WordPress Script Modules. 129 * 130 * @since 6.7.0 131 */ 132 function wp_default_script_modules() { 133 $suffix = defined( 'WP_RUN_CORE_TESTS' ) ? '.min' : wp_scripts_get_suffix(); 134 135 /* 136 * Expects multidimensional array like: 137 * 138 * 'interactivity/index.min.js' => array('dependencies' => array(…), 'version' => '…'), 139 * 'interactivity/debug.min.js' => array('dependencies' => array(…), 'version' => '…'), 140 * 'interactivity-router/index.min.js' => … 141 */ 142 $assets = include ABSPATH . WPINC . "/assets/script-modules-packages{$suffix}.php"; 143 144 foreach ( $assets as $file_name => $script_module_data ) { 145 /* 146 * Build the WordPress Script Module ID from the file name. 147 * Prepend `@wordpress/` and remove extensions and `/index` if present: 148 * - interactivity/index.min.js => @wordpress/interactivity 149 * - interactivity/debug.min.js => @wordpress/interactivity/debug 150 * - block-library/query/view.js => @wordpress/block-library/query/view 151 */ 152 $script_module_id = '@wordpress/' . preg_replace( '~(?:/index)?(?:\.min)?\.js$~D', '', $file_name, 1 ); 153 154 switch ( $script_module_id ) { 155 /* 156 * Interactivity exposes two entrypoints, "/index" and "/debug". 157 * "/debug" should replalce "/index" in devlopment. 158 */ 159 case '@wordpress/interactivity/debug': 160 if ( ! SCRIPT_DEBUG ) { 161 continue 2; 162 } 163 $script_module_id = '@wordpress/interactivity'; 164 break; 165 case '@wordpress/interactivity': 166 if ( SCRIPT_DEBUG ) { 167 continue 2; 168 } 169 break; 170 } 171 172 $path = "/wp-includes/js/dist/script-modules/{$file_name}"; 173 wp_register_script_module( $script_module_id, $path, $script_module_data['dependencies'], $script_module_data['version'] ); 174 } 175 } -
trunk/tests/phpunit/tests/interactivity-api/wpInteractivityAPI.php
r58825 r59083 213 213 214 214 /** 215 * Test that the deprecated register_script_modules method is deprecated but does not throw. 216 * 217 * @ticket 60647 218 * 219 * @expectedDeprecated WP_Interactivity_API::register_script_modules 220 */ 221 public function test_register_script_modules_deprecated() { 222 $this->interactivity->register_script_modules(); 223 } 224 225 /** 215 226 * Sets up an activity, runs an optional callback, and returns a MockAction for inspection. 216 227 * … … 222 233 private function get_script_data_filter_result( ?Closure $callback = null ): MockAction { 223 234 $this->interactivity->add_hooks(); 224 $this->interactivity->register_script_modules();225 235 wp_enqueue_script_module( '@wordpress/interactivity' ); 226 236 $filter = new MockAction(); -
trunk/tools/webpack/shared.js
r58577 r59083 103 103 '@wordpress/interactivity-router', 104 104 ]; 105 const SCRIPT_AND_MODULE_DUAL_PACKAGES = [ 106 '@wordpress/block-library', 107 ]; 105 108 const WORDPRESS_NAMESPACE = '@wordpress/'; 106 109 … … 112 115 BUNDLED_PACKAGES, 113 116 MODULES, 117 SCRIPT_AND_MODULE_DUAL_PACKAGES, 114 118 WORDPRESS_NAMESPACE, 115 119 }; -
trunk/webpack.config.js
r58271 r59083 3 3 const mediaConfig = require( './tools/webpack/media' ); 4 4 const packagesConfig = require( './tools/webpack/packages' ); 5 const modulesConfig = require( './tools/webpack/modules' );5 const scriptModulesConfig = require( './tools/webpack/script-modules' ); 6 6 const vendorsConfig = require( './tools/webpack/vendors' ); 7 7 … … 20 20 mediaConfig( env ), 21 21 packagesConfig( env ), 22 modulesConfig( env ),22 scriptModulesConfig( env ), 23 23 ...vendorsConfig( env ), 24 24 ];
Note: See TracChangeset
for help on using the changeset viewer.