[wp-trac] [WordPress Trac] #64238: PHPStan code quality improvements for 7.0

WordPress Trac noreply at wordpress.org
Sat May 16 05:03:57 UTC 2026


#64238: PHPStan code quality improvements for 7.0
--------------------------------------+-------------------------------
 Reporter:  SergeyBiryukov            |       Owner:  (none)
     Type:  task (blessed)            |      Status:  closed
 Priority:  normal                    |   Milestone:  7.0
Component:  General                   |     Version:
 Severity:  normal                    |  Resolution:  fixed
 Keywords:  has-patch has-unit-tests  |     Focuses:  coding-standards
--------------------------------------+-------------------------------

Comment (by westonruter):

 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/64238#comment:128>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list