@Jdlrobson I support publishing these files from mediawiki/core as a package on npmjs.org. This allows much easier use by extensions and also avoids much complexity in future updates. In the current state it is impossible to make breaking changes to the page objects in mediawiki/core without either breaking extension tests, or having to update all tests in a Depends-On commit that needs to be merged at the same time. That's an anti-pattern we first ran into when we had only a single version of JSHint installed on Jenkins. We learned from that mistake and should not make it again.
Publishing it as a package means we can remove or change parts of the page object interface over time, without requiring a large-scale migration each time.
@ZFilipin (WMF) I agree we should continue to maintain these files in the mediawiki/core repository. I recommend adding a the package.json
inside the directory where these files are maintained. Then, when it is time to make a release, you just run npm publish
on a clean master branch.