Frontend
mw.loader is naturally quite separate from other MediaWiki JS modules. Mainly, because it has to - it's the first thing that loads.
- Implement an abstraction for mw.loader (e.g. factory function or class)? Or find another way to inject MW-specific config (e.g. where load.php is mounted).
- ???
Progress:
- rMWd13e5b757bd9: resourceloader: Set the request base parameters on server-side
- rMW30ddfc8a7721: resourceloader: Set value for getStoreKey in server-side
- rMW0a8e37f042c2: resourceloader: Set value for getVary in server-side
Backend
When ResourceLoader was first written, and shortly before this task was filed, it was mostly MW-agnostic.
Having said that, a few things have crept in over the years.
- Remove use of MW cacheEpoch. This is no longer useful. Remove. – https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/460462/
- Remove use of WebRequest GPC normalisation. This was unintentional (we didn't have getRawVal yet in 2010). Remove. https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/313222/
- Remove use of FormatJson. No longer needed with our PHP requirements. Remove. https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/453194/
- Remove use of Xml::encodeJsCall. Instead, create a simplified version as local utility method.
- ResourceLoader::__construct() hardcodes stuff for MediaWiki.
- Create service writing for ResourceLoader. – https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/491018/
- Move registration of modules and module sources to MediaWiki service wiring.
- Move the hooks and calls to addSource() and register() to MediaWiki service wiring.
- Deprecate the implicit Config object used from MediaWikiServices. (MW 1.34)
- Remove default for Config constructor parameter. (MW 1.35)
- Remove use of WebRequest, accept a simple array instead.
- Remove use of MediaWiki SkinFactory in RL\Context::__construct.
- ???
- ...