Closed ehmicky closed 5 years ago
Thank you for the report, I looked over the issue, it is easily fixable but if you don't mind I'd like to wait for a beta or rc release before working on it.
Absolutely, no worries!
Do you think I should report this bug to eslint as well?
No, that's fine
6.0.0-rc.0
was released yesterday.
Hey there! I lifted some ideas from this plugin when I was writing eslint-plugin-svelte3. I got that plugin updated for ESLint 6 today, so time to attempt to return the favor!
Previously in eslint-plugin-svelte3, I was searching the require cache for the linter and monkey patching the verify
method so that I could get access to settings and also so that I could set the preprocess
and postprocess
options, since the official way of doing this before only supported per-file-extension processors, which could not be dynamic at runtime.
ESLint 6 introduces a nice mechanism for named processors which aren't inherently associated to any file extension - and then the consumer can use overrides
to specify which processors they want to run on which files. However, there is still no way of accessing settings from the processors. So, what I settled on was: Continue to monkey patch Linter.prototype.verify
, but just to grab the settings. (The docs don't seem 100% aligned with how this method is actually called anymore. Taking a look at the eslint source, this is what I arrived at for grabbing the settings.) Then I just export a processors
object like I'm supposed to, and it's up to consumers to hook this up to the appropriate files. And that's it! Definitely a little tidier than things were in ESLint 5.
Hope this is helpful!
Still failing on 6.0.1
.
ESLint v6 support has been released with eslint-plugin-html v6 (I had to make a new major because ESLint did drop Node 6 support, so I decided to drop it as well). Let me know how it works for you. Cheers!
@Conduitry this looks very interesting and definitely goes to the right direction, but I still have other constraints related to how script tags works in HTML (in particular, the common global scope) so I won't be able to send multiple files to ESLint. I'm glad it's helpful to you though! I may be able to simplify the patching logic though, I'll investigate when I have time.
Thanks for the bug fix! I just tried it in all my repositories and it works.
Description
Related to #117, but for the latest
eslint
version.When used together with the latest ESLint version (
6.0.0-alpha.2
),eslint
crashes.6.0.0-alpha.1
works.It's probably related to this PR and this issue.
.eslintrc.yml
:package.json
:package-lock.json
:file.md
:Then:
Setup configuration
6.0.0-alpha.2
5.0.5
12.3.1
19.04