Hello Wikimedia developers! I am writing to update on a small change just
in case it impacts you. If you don't write MediaWiki extensions on
Wikimedia's Gerrit you can disregard this message.

# TLDR

If you see a PHPUnit failure with the text  "The following modules have not
declared budgets", instructions on how to address this issue can be found
in this email. The fix involves a small modification to
bundlesize.config.json file that should already exist in your impacted
repository.

# Longer version

In the Wikimedia ecosystem, adding significant JavaScript and CSS to page
load can impact user experience, sometimes increasing the time it takes for
a page to load or become responsive.

This is particularly a concern for readers who may be using slower
connections or need to get information as quickly as possible.

A while back we introduced a test that required codebases to register
ResourceLoader modules that they add to anonymous page views in a
bundlesize.config.json file. This essential acts an audit to easily
identify how code ends up on a page [1]. This only applies to code added by
extensions and the Vector skin (not gadgets). When the test fails it points
to a page on mediawiki.org that documents how to address problems with the
test [2].

Recently we had several incidents where Vue.js and OOUI were loaded on page
load for all anonymous users. For certain users this would have resulted in
the page feeling unresponsive (e.g. frozen). This was because the test did
not take into account the fact that JavaScript modules themselves can load
additional dependencies. As a result of this the test has been updated to
also consider such modules.

IF you experience issues with tests following this change, the
documentation contains all the information you should need to resolve it.
If you have any further problems or the documentation isn't helping you,
please ping me on the talk page, or Gerrit patch you are experiencing the
issue, or on the Phabricator ticket [3] and we'll get it addressed ASAP
(provided I'm not sleeping :-)).

[1]
https://codesearch.wmcloud.org/search/?q=maxSize&files=bundlesize.config.json&excludeFiles=&repos=
[2] https://www.mediawiki.org/wiki/Performance_budgeting
[3] https://phabricator.wikimedia.org/T395698
_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-le...@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/

Reply via email to