[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