[2023 update]:
Allow gadgets to be defined within user space ("user gadgets"). Similar to site gadgets, they are ResourceLoader modules consisting of one or more scripts, stylesheets, JSON and Vue pages. They can specify other RL modules, including other user gadgets, as dependencies.
Users can enable user gadgets written by authors they trust through a GUI in gadgets tab at Special:Preferences.
Benefits:
- User gadgets bring in native support in MediaWiki for user scripts which until now were supported rather unofficially via loading in scripts from the personal common.js page
- Provides ResourceLoader minimisation and caching for user scripts which as of now is applied only to the common.js page (and not to pages imported from there). T27845 was declined in favour of this one.
- Enables effective use of Codex/Vue.js in which components are separate package files (currently doable only in site gadgets). T334438
- Allows us to extend the feature in future to bring in greater control if necessary, such as by:
See also:
