[wp-trac] [WordPress Trac] #65165: Script module dependencies may be unavailable on evaluation
WordPress Trac
noreply at wordpress.org
Sat May 16 05:03:57 UTC 2026
#65165: Script module dependencies may be unavailable on evaluation
-------------------------------------------------+-------------------------
Reporter: jonsurrell | Owner:
| westonruter
Type: defect (bug) | Status: closed
Priority: high | Milestone: 7.0
Component: Script Loader | Version: trunk
Severity: normal | Resolution: fixed
Keywords: has-patch has-unit-tests needs-dev- | Focuses: javascript
note |
-------------------------------------------------+-------------------------
Changes (by westonruter):
* status: accepted => closed
* resolution: => fixed
Comment:
In [changeset:"62368" 62368]:
{{{
#!CommitTicketReference repository="" revision="62368"
Script Loader: Warn when classic scripts with module dependencies lack
footer/defer.
A classic script with `module_dependencies` may be evaluated before the
script modules import map is printed if it loads blocking in the document
head, causing a "Failed to resolve module specifier" error on dynamic
imports.
* Trigger `_doing_it_wrong()` from `_wp_scripts_add_args_data()` when a
classic script provides `module_dependencies` without setting `in_footer`
to `true` or using a `defer` loading `strategy`, and document this
requirement in the `wp_register_script()` and `wp_enqueue_script()`
docblocks.
* Remove the `module_dependencies` arg from the `wp-codemirror` script
registration in favor of passing the espree module URL directly through
`wp_get_code_editor_settings()`. This avoids registering `espree` as a
publicly-available script module when it is only ever used internally as a
private implementation detail of the code editor.
* Add a `console.warn()` in `wp.codeEditor.initialize()` when invoked
before `DOMContentLoaded`, so developers are alerted if the function is
called too early for the import map to have been parsed.
* Add PHPStan types which were missing when `module_dependencies` were
initially introduced.
* Harden `WP_Scripts::add_data()` against non-string `strategy` values
being passed to `sprintf()`.
Developed in https://github.com/WordPress/wordpress-develop/pull/11788
Follow-up to r61587.
Props khokansardar, westonruter, jonsurrell, jorbin.
See #61500, #64238.
Fixes #65165.
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/65165#comment:19>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list