MobileFrontend makes use of a linter that parses and runs JavaScript to determine where things are defined and that dependencies and messages expressed inside extension.json are correct.
It's currently living here: https://github.com/joakin/resource-modules
When the job fails code inside MobileFrontend is unmergeable.
This job is currently failing after a change to mw.track inside https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/437914/ which seems to define mw.track twice which confuses the parser.
Example of a failing job:
https://integration.wikimedia.org/ci/job/mwext-MobileFrontend-npm-run-lint-modules-docker/752/console
```
21:13:50 Error: Dependency problems in file: resources/mobile.search/MobileWebSearchLogger.js:
21:13:50 Required mw.track defined in multiple files:
21:13:50 resources/src/mediawiki/mediawiki.base.js
21:13:50 resources/src/mediawiki/mediawiki.js
21:13:50
```
I've asked for clarification from performance team, but we may need to update resource-modules again. :(