== Background
Type hinting via TypeScript has been used in Vector. It doesn't require a build step and has effectively detected errors in code before it was shipped.
We have had various issues relating to instrumentation missing fields that I think TypeScripting would help with.
I (@Jdlrobson) raised a patch https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikimediaEvents/+/670899 but it didn't get the enthusiastic response I was expecting.
=== Acceptance Criteria
[x] By default, all instruments are not type checked with TypeScript
[x] An instrument owner can opt-in to type checking their instrument with TypeScript
[x] Instruments are type checked during CI
=== Required
[ ] Unit/integration tests?
[ ] Documentation
[ ] Passed QA?
=== Notes
1. Here are some `tsconfig.json` files from extensions deployed on WMF servers:
** https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/skins/Vector/+/09f065a429722ab42a8b7cdb90a5b35345356960/tsconfig.json
** https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Wikibase/+/d57ffb7e66cf7b73c7526c02c830797a519b28b9/client/data-bridge/tsconfig.json