Partially related to T107283 (T107283#5002772), but that deals with avoiding duplication in defining the modules, and this is about merging some extension modules without changing anything in the VisualEditor library modules.json
Per codesearch, the following modules are only used once, as a dependency of another module, and can be merged:
- socket.io -> ext.visualEditor.rebase
- dompurify -> ext.visualEditor.sanitize
- color-picker -> ext.visualEditor.rebase
- papaparse -> ext.visualEditor.core
- spark-md5 -> ext.visualEditor.core
- ext.visualEditor.progressBarWidget -> ext.visualEditor.desktopArticleTarget.init
- ext.visualEditor.tempWikitextEditorWidget -> ext.visualEditor.desktopArticleTarget.init
- ext.visualEditor.core.utils -> ext.visualEditor.base
- ext.visualEditor.commentAnnotation -> ext.visualEditor.rebase
- ext.visualEditor.rebase -> ext.visualEditor.collabTarget
- ext.visualEditor.mwformatting -> ext.visualEditor.mwextensions
- treeDiffer -> ext.visualEditor.diffing
- diffMatchPatch -> ext.visualEditor.diffing
- ext.visualEditor.checkList -> ext.visualEditor.rebase
- ext.visualEditor.diffing -> ext.visualEditor.mwcore
- ext.visualEditor.mwlanguage -> ext.visualEditor.mwextensions
- ext.visualEditor.mwalienextension -> ext.visualEditor.mwextensions
- ext.visualEditor.mwgallery -> ext.visualEditor.mwextensions
(Being a QUnit dependency does not count)
Note however that some of the dependencies have no ResourceLoader "group" specified, while the module that uses them is in the group "visualEditorA" - not sure if that affects the ability to merge them. We can start with only merging within the visualEditorA group.