For context and rationale, see:
- T233675: Audit startup JavaScript payload (Aug 2018—Sept 2019)
- T202154: Audit modules 2018: Reduce registry overhead
$ cat extension.json | jq '.ResourceModules | keys' [ "ext.MassMessage.autocomplete", "ext.MassMessage.content", "ext.MassMessage.content.js", "ext.MassMessage.content.noedit", "ext.MassMessage.content.nojs", "ext.MassMessage.create", "ext.MassMessage.edit", "ext.MassMessage.special", "ext.MassMessage.special.js" ]
Starting point
- ext.MassMessage.autocomplete (uses jquery.ui)
- ext.MassMessage.content (styles-only)
- ext.MassMessage.content.js (uses jquery.ui, and ext.MassMessage.autocomplete)
- ext.MassMessage.content.noedit (styles-only)
- ext.MassMessage.content.nojs (styles-only)
- ext.MassMessage.create (uses oojs-ui, and jquery.ui and ext.MassMessage.autocomplete)
- ext.MassMessage.edit (uses oojs-ui)
- ext.MassMessage.special (styles-only)
- ext.MassMessage.special.js (uses jquery.ui, and ext.MassMessage.autocomplete)
To do
- Identify which distinct end-user scenarios MassMessage has resources for.
- Determine how large the total payload from MassMessage for each of these scenarios is.
- Determine which distinct deliverable bundles we need (possibly sharing one for several distinct use cases if overlap is significant and/or if overall size is small, e.g. under 3KB).
- Combine modules into larger bundles and give name them accordingly where needed