[wp-trac] [WordPress Trac] #64229: Enqueueing scripts, styles, and script modules should warn when dependencies are missing

WordPress Trac noreply at wordpress.org
Wed Feb 4 01:41:44 UTC 2026


#64229: Enqueueing scripts, styles, and script modules should warn when
dependencies are missing
-------------------------------------+-------------------------------------
 Reporter:  westonruter              |       Owner:  westonruter
     Type:  enhancement              |      Status:  closed
 Priority:  normal                   |   Milestone:  6.9.1
Component:  Script Loader            |     Version:  6.9
 Severity:  normal                   |  Resolution:  fixed
 Keywords:  has-patch has-unit-      |     Focuses:  javascript,
  tests                              |  performance
-------------------------------------+-------------------------------------

Comment (by westonruter):

 In [changeset:"61587" 61587]:
 {{{
 #!CommitTicketReference repository="" revision="61587"
 Script Loader: Allow classic scripts to depend on script modules.

 This allows classic scripts to declare dependencies on script modules by
 passing `module_dependencies` in the `$args` param for
 `wp_register_script()` or `wp_enqueue_script()`. The
 `WP_Script_Modules::get_import_map()` method is updated to traverse the
 dependency tree of all enqueued classic scripts to find any associated
 script module dependencies and include them in the `importmap`, enabling
 dynamic imports of modules within classic scripts.

 A `_wp_scripts_add_args_data()` helper function is introduced to
 consolidate argument validation and processing for `wp_register_script()`
 and `wp_enqueue_script()`, reducing code duplication. This function
 validates that the `$args` array only contains recognized keys
 (`strategy`, `in_footer`, `fetchpriority`, `module_dependencies`) and
 triggers a `_doing_it_wrong()` notice for any unrecognized keys.
 Similarly, `WP_Scripts::add_data()` is updated to do early type checking
 for the data passed to `$args`. The script modules in
 `module_dependencies` may be referenced by a module ID string or by an
 array that has an `id` key, following the same pattern as dependencies in
 `WP_Script_Modules`.

 When a script module is added to the `module_dependencies` for a classic
 script, but it does not exist at the time the `importmap` is printed, a
 `_doing_it_wrong()` notice is emitted.

 Developed in https://github.com/WordPress/wordpress-develop/pull/8024

 Follow-up to [61323].

 Props sirreal, westonruter.
 See #64229.
 Fixes #61500.
 }}}

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/64229#comment:35>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list