ArthurTaylor added a comment.

  I had a dive into this. With regards the `vue/dot-location` rule - a change 
<https://github.com/eslint/eslint/pull/17107> was introduced to `eslint` in 
version 8.40.0 that replaced calls to `context.getSourceCode()` in the rules 
implementations to `context.sourceCode`. This seems harmless enough, but 
various other libraries down the line do different kinds of patching that mean 
that whereas `context.getSourceCode()` was returning a proxy object, 
`context.sourceCode` was getting a direct reference to a source code object. 
When the `@vue` rules then ran on the `.vue` files, they had tokens available 
that the original `sourceCode` object didn't. the `dot-location` checks that 
the source file line number of the token before the dot is the same as the 
source file line number of the token after - because of the missing tokens, the 
immediately preceding token was always the closing `</script>` tag (which was 
always on another line to the token after the dot).
  
  In `special-new-lexeme-page` we include 
`@rushstack/eslint-patch/modern-module-resolution`, which allows us to load 
eslint configurations from npm modules - specifically 
`[email protected]`. Unfortunately, that also sucks in the npm 
dependencies of `eslint-config-wikimedia`, which in version 0.25.1 includes a 
dependency on `[email protected]` (whereas the version we ask for in 
`package.json` is `9.12.2`). `8.7.1` is what ends up actually getting loaded 
and executed,  and ... waves hands ... somewhere there bad things happen.
  
  Upgrading `eslint-config-wikimedia` to `0.26.0` fixes the outdated 
dependency, which resolves the issue but creates two new issues - a conflicting 
peer dependency with `@wmde/[email protected]`, and the 
renaming / duplication of the `node/no-missing-import` under the name 
`n/no-missing-import`. We silence `node/no-missing-import`, and we need also to 
silent `n/no-missing-import`, since neither can handle imports of Vue modules.
  
  I will open a PR for `@wmde/eslint-config-wikimedia-typescript` to bump the 
peer dependency, then we can upgrade `special-new-lexeme-page` to 
`[email protected]` and `eslint` itself to `8.56.0` (after 
patching the `eslintrc`).

TASK DETAIL
  https://phabricator.wikimedia.org/T341552

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: ArthurTaylor
Cc: Samwilson, Michael, ItamarWMDE, Aklapper, noarave, Danny_Benjafield_WMDE, 
Astuthiodit_1, karapayneWMDE, Invadibot, maantietaja, Akuckartz, Nandana, Lahi, 
Gq86, GoranSMilovanovic, QZanden, KimKelting, LawExplorer, _jensen, rosalieper, 
Scott_WUaS, Wikidata-bugs, aude, Mbch331
_______________________________________________
Wikidata-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to