wikimedia-gadgets / types-mediawiki

TypeScript definitions for MediaWiki JS interface
GNU General Public License v3.0
23 stars 9 forks source link

MediaWiki version compatibility #38

Open Derugon opened 6 months ago

Derugon commented 6 months ago

Various jQuery modules are being removed with each new MediaWiki release, and some other deprecated declarations too. jquery.throttle-debounce was removed in 1.40 and both jquery.color and jquery.form were removed in 1.41. Should jquery.color be removed from this repository, or if it is left here, for how long?

A few alternatives:

  1. Support all past, current and future MediaWiki releases: keep all modules and declarations.
  2. Support all MediaWiki releases since the last long-term support release (currently 1.39): remove modules and declarations from 1.38 and before, keep modules and declarations from 1.39 and 1.40.
  3. Support the latest MediaWiki release: remove modules and declarations from 1.40 and before.

Otherwise, I'm not very familiar with npm: would it be possible have one npm release per MediaWiki version (then to match npm release version numbers with MediaWiki version numbers, so "dependencies": { "types-mediawiki": "1.41.*" } in your package.json would give you 1.41-compatible types)?

siddharthvp commented 4 months ago

Otherwise, I'm not very familiar with npm: would it be possible have one npm release per MediaWiki version (then to match npm release version numbers with MediaWiki version numbers, so "dependencies": { "types-mediawiki": "1.41.*" } in your package.json would give you 1.41-compatible types)?

It is possible but that would mean us having to maintain multiple branches and releasing versions from each. Any bug fixes would need to be applied across branches. I think it's more pain than is worth it. We could just to choose to retain the types for removed modules that existed in the last couple of LTS releases.